Information Technology Reference
In-Depth Information
During the phase of writing production code, we improve the preliminary code
to make it robust. Then we run the automated test case once again. Writing/
modifying the code and re-testing it can go through multiple iterations until the
code passes the automated test case comprehensively.
During the refactor phase, the code that passed the test would be cleaned by
removing all trash code and unused variables.
Now the cycle repeats until all functionality is achieved and it is no more
possible to write any new automated test cases.
TDD methodology does not include establishment of requirements. TDD
assumes that requirements are already established before the development starts.
Handling change requests involves changing the automated test cases. It has to be
done as and when change requests are received.
15.7 Adaptive Software Development
ASD or Adaptive Software Development is also an incremental and iterative
development methodology. That is, the software is developed in increments and
each increment is developed in iterations. That way, it is possible to handle large
software projects under this methodology. ASD also encourages the use of the use-
and-improve prototyping as the main software engineering technique.
ASD goes through three phases, namely, speculate, collaborate and learn. The
term ''Speculate'' is used to highlight the aspect of planning; ''Collaborate'' is used
instead of development/implementation/realization/construction to emphasize
team work; ''Learn'' is used to acknowledge mistakes already committed and to
learn from them.
The Speculation phase consists of two activities, the project initiation and the
cycle planning. During project initiation, three artifacts are prepared, namely, the
project vision charter, project data sheet and product specification outline. The
project vision charter contains the project objectives in brief. The project data
sheet is usually one page containing vital information about the project. The
product specification outline again is a brief statement of the functionality for the
proposed software product. In the cycle planning, the team estimates the duration
and resources required to complete the cycle. In each cycle, a set of components
are engineered and constructed by the team. During the learning phase, the quality
control activities are carried out and the software components developed in the
cycle would be released. The learning from the mistakes uncovered during the
quality control activities are plowed back into the next cycle planning.
ASD as its name suggests does not prescribe any roles and responsibilities or
software development methodologies, but adapts these from the existing practices
of the organization. Each organization can implement its own practices and
management style in the project execution.
ASD assumes that requirements are established. No one on the team assumes
responsibility for the requirements establishments. The customer is expected to be
 
Search WWH ::




Custom Search