Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Decide integration scope - The team works through the prioritized project backlog creating estimates to determine which requirements will be implemented in this iteration. The scope of an iteration is not altered once the iteration begins.
  • For each requirement - the following steps are repeated in a cycle until each requirement is implemented and functional:
    • Development - Developers working alone or in a team (pair programming) implement each requirement in code.
    • Integration - Developed code is integrated with the entire working system regularly (daily(question) ) in order to identify bugs that only surface when interacting with the entire system.
    • Testing - The development team employs an automated test harness where possible as well as functional testing to asses the operation of each component and the entire system.
    • Documentation - Documentation of the system occurs concurrently with development. System documentation is may be created by the developers - in a pair programming scenario, one developer can document while the other writes code. User documentation may be created shortly after each component is in a usable state and feeds back into the testing and development cycle.
  • Review - At the conclusion of the iteration, the team asses the list of requirements and determines which should be considered completed. All requirements are assessed as either done or not done. Requirements that were not completed or even partially completed are returned to the backlog for the a future iteration. (This does not necessarily need to be the next iteration – the period between iterations is an opportunity to reassess the backlog.)
  • Release/Customer feedback - A demonstration of the system is performed for the customer to solicit feedback and add or modify items on the backlog for future iterations. If this is a release iteration, the customer is provided with code that they can install and use in a test environment, or the customer is given access to a development installation of the current release of the system.
  • Retrospective - The retrospective is an opportunity for the team to evaluate how well the development methodology and the members of the team worked together in the preceding iteration. The retrospective process should create suggestions for fine-tuning and otherwise adjusting the development process.