Development Methodology
Summarized below are typical software development methods applied to
fixed-price projects undertaken by UniSoft. The development methods used
are in line with the ISO 9000 standards. Clearly such approaches are somewhat
customized towards the client's particular project management requirements.
Project Task Estimates
In order to determine the effort required to undertake the work, and
consequently the cost, UniSoft produces a detailed Project Task Estimate
(PTE).
PTEs consist of a precise breakdown of the various tasks required to complete
the project in a timely manner. Senior engineers produce best, likely and
worst estimates are for each task. Engineering management factors in
contingency and compares the estimates against timesheet data from previous
projects in order to tune the estimates and correct any errors. A Gaussian
distribution calculation is then applied on the resulting figures to produce
a 95% (likelihood) final estimate.
The PTE is then input into scheduling software to produce a detailed resource
plan and project schedule. The cost of the project is calculated directly
from the PTE producing a fixed price estimate. Engineering Change Requests
(see below) are also subjected to this pricing discipline.
Statement of Work
Prior to the start of the work, UniSoft will produce a Statement of Work
(SOW) accurately summarizing the tasks to be undertaken by UniSoft and
identifying the obligations of both parties. The SOW will include sections
covering program management, responsibilities of each party, deliverables,
program schedule and milestones, testing and quality assurance and acceptance
criteria. The SOW is usually attached to a UniSoft Service Agreement which
sets out the contractual terms and conditions agreed between the parties for
undertaking the project.
If during the development process, issues arise which have a direct impact
on the SOW, it will be the responsibility of the UniSoft project manager to
make appropriate changes and revisions to the SOW and to have such changes
approved by the customer.
Hardware and Software Requirements
Any hardware or software required by UniSoft in order to perform the work will
be summarized and set out in the SOW. Usually it will be the obligation of the
customer to arrange shipment and delivery to UniSoft's engineering facility.
In some cases, it may be simpler and more efficient if UniSoft acquires such
equipment or software on behalf of the customer.
Project Plan
The first delivery is likely to be a project plan, prepared by UniSoft and
delivered to the customer. The plan will expand on the project specifications
set out in the SOW. During this period UniSoft will set up internal processes
and begin to investigate design approaches in more detail.
Project Management
UniSoft will assign a project manager who will bear overall responsibility for
all project activities at UniSoft and final product delivery. This manager
will be responsible for:
- The Statement of Work.
- Project plan.
- Project schedule.
- Engineering development plan and schedule.
- Establishment of project objectives, procedures, and guidelines.
- Coordinating with the customer-assigned technical liaison and project
manager.
- Coordinating efforts of the various UniSoft departments involved in the
project (such as Documentation and System Test).
- Coordinating relationship with the customer.
UniSoft will employ industry standard project management tools and techniques,
such as PERT and Gantt charts, technical reviews, status meetings, etc. as
part of the management of the project. These methodologies, in conjunction
with UniSoft's experience with undertaking test development projects will
allow UniSoft to anticipate potential problem areas and allocate the
necessary resources to prevent or ameliorate problems.
Interim deliveries
Interim deliveries will be made throughout the project. This will provide a highly visible measure of progress.
Project Review Reports
A monthly project review report will be generated by UniSoft and distributed
to the customer's project manager. Contents of the project review report will
include the following sections as appropriate:
- Deliveries made during the period.
- Progress against plans.
- Risk areas.
- Status of external dependencies.
- Action items.
Bug List Reports
The customer and UniSoft will agree on, and put in place, a suitable mechanism
to track faults in each delivery of the software and any appropriate fixes.
This usually involves the daily transmission of UniSoft's project bug tracking
database in a format that supports searching and browsing of fault reports
throughout the remedial process.
Project Review Teleconference
A regular project review teleconference call will be held between the customer
and UniSoft, either weekly or bi-weekly. Any urgent technical issues will be
reviewed during this session and any agreed action items will be generated
and distributed.
Project Review Meetings
Joint technical project review meetings will be held at intervals of at least
six weeks so that the progress of the project can be reviewed and any issues
relating to the project can be discussed and resolved. UniSoft recommends that
such meetings take place alternately at each party's premises.
Engineering Change Requests
When either company wishes for any reason to change an agreed functional
specification or design documentation, an Engineering Change Request (ECR)
will be drawn up. This document will specify the change, and the impact of
the change on the schedule and on the costs. If UniSoft is required to spend
additional unscheduled time on a task due to a dependency outside UniSoft's
control, UniSoft will be entitled to raise an ECR.
ECRs and cost changes will be subject to approval by the customer and no
work specified by ECRs will be done until such approval is given.
Alpha, Beta and General Releases
UniSoft typically operates an Alpha, Beta and General Release cycle and such
releases are made at appropriate milestones throughout the project to final
completion. For projects with development timescales exceeding three months
additional "snapshot" releases are provided to the customer. This provides
customer access to parts of the test suite during the development period
assisting in both test suite and product testing cycles. Snapshot releases
are usually of alpha quality. Suitable release notes and other applicable
documentation will accompany each release. This cycle will provide ample
opportunity for the customer to review and comment on the product prior to
final acceptance and General Release.
Quality Assurance Testing
Following internal completion of each project deliverable, UniSoft will
perform extensive system testing and quality assurance testing before
releasing code to the customer. Full details of the approach to be applied
will be set out in the Project Plan.
|