| |
|
Software Development Life-Cycle
|
|
The company's software development process allows various life-cycle models to be used.
Which model is used in a given project is defined by the chosen type of offshore outsourcing
model, client needs and project specifics. For most projects implemented with the "pure offshore project"
outsourcing model, the iterative approach is applied. In projects requiring close integration
into the client's processing model, a life-cycle model determined by the client may be used.
Iterative approach
In iterative approach entire Software Development Life Cycle is broken into phases each concluding
in a certain point in time with certain work project products and software product deliverables.
The defined phases are:
- Initial - understanding the project, preliminar planning and estimating.
Output: phase/iteration rough project plan, vision document, initial software requirements
document, some prototypes.
- Elaboration - identification of requirements, detailed planning, system designing.
Output: detailed software requirements specification, detailed software development plan,
software design documents, detailed testing plans (SQA, SQE), configuration management plan,
working system prototype.
- Construction - design implementation, documentation, testing.
Output: deliverable product, a set of test suites, test cycles execution results reports.
- Deployment - product packaging and delivery, user training, user product evaluation.
Output: released product, plans for next cycle.
- A separate Support phase starts after the completion of a product development cycle
and lasts until product EOL. It includes bug fixing and user support.
Each phase consists of a number of iterations which are planned, controlled and analyzed.
After completion of a cycle other cycles may be planned.
Project work products
A project's work product is anything created during the software development cycle - plans,
reports, design documents, deliverable and non-deliverable software, etc. All a project's work
products from a cycle may be allocated to the client for review according to established procedures,
periodically or on-demand.
The following project's work products are delivered to the client, those requiring customer
approval are marked with (a):
- (a) Vision
- (a) Prototypes, models
- (a) Cost Estimates
- (a) Software Requirements Specifications
- (a) Software Development Plan
- (a) Configuration Management Plan
- (a) Software Testing (SQA, SQE) Plans
- (a) Software Design Documents
- Development and testing status reports
- Test cycles execution results reports
- Defects reports
- Software product