|
With years of offshore software development practice,
Florida has created a matured process management methodology,
whose core idea is CMM. To ensure the quality at all
stages of development, we adopt CMM as follow:
Project startup
In Florida, a project is initiated when the customer
signs the contract. From this point, the responsibility
of the project will be taken fully by the assigned project
manager, who normally was the one prepared the proposal
for this particular customer in the earlier stage.
The beginning of a project lays the
groundwork for the rest of the project. The purpose
of this phase is to set the framework for the project,
which involves:
- Selecting a methodology
- Identifying goals and objectives
- Defining success measures
- Establishing project scope
- Selecting a project team
- Securing sponsorship
Business Prototype & Requirement
One of the less visible, but nonetheless important
aspects of a good software engineering process is the
requirement documentation and verification. The only
way to ensure that a system satisfies its requirements
is to develop and apply a mechanism to track requirement
compliance from system inception through final delivery
and system maintenance.
The key points in the requirement
phase are:
- Communicate with customer
- Clarify the requirement further
- Requirement change management
Analysis & Design
The primary output of the design phase is a design
document. The design document is to give all internal
constituents (developers and management) a clear delineation
of how the features described in the specifications
will accomplish the desired tasks.
The design document should clearly
convey the key elements of the proposed system to both
the technical developers and the planners. A larger
project typically requires a preliminary design and
a detailed design. A complete design includes identification
of:
- Modules
- Units
- Data elements
- Communications
- Messages
- Data structure
Implementation, Testing and Project
Completion
Implementation is to use the design document to produce
code. It is a core process workflow in the software-engineering
process, whose purpose is to implement and unit test
of the code.
During this phase, the actual work of the project is
undertaken to produce the project's deliverables according
to the chosen solution and make it ready for testing
team.
The test phase of the project answers the question
"Does the system do what it is supposed to do?"
Software testing begins with the integration-testing
phase, which integrates the individual units coded and
tested during the implementation phase and ends with
acceptance testing of the finished system. All problems
and change requests should be handled according to the
Software Problem Procedure documentation.
Test plans and procedures are developed to ensure that
all requirements are being tested and verified. In this
phase units are combined into modules, and modules are
combined to make up a build, which is tested in turn
and certified. Multiple builds may be integrated and
tested before a deliverable release is produced.
The software testing methodology encompasses
the following types of testing:
- Integration Testing
- Regression Testing
- System Testing
- Acceptance Testing
|