Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
DEVELOPING
INCREMENTAL REQUIREMENTS
Overview of Previous Topics
• Planning Vision
• Release Planning
• Planning Game
• Iteration Planning
• Iteration Timebox
• Iteration Schedule
• Commitment
• Long Planning Sessions
• Tracking the Iteration
• Emergency Request - Batman
DEVELOPING – Incremental Requirements
• Work becomes easier and ensures that the rest of the team won’t have to wait
to get started.
• Prepare customer tests that provide examples of tricky domain concepts, and describe
what “done done” means for each story.
• Customer Review
• review each story to make sure it works as you expected
Customer Tests
• Describe
• Briefly describe how the story should work and the rules you’re going to provide
• Demonstrate
• After a brief discussion of the rules, provide concrete examples that illustrate the
scenario.
• Tables are often the most natural way to describe this information.
• Develop
• document your discussion so the programmers can start working on implementing
your rules.
• Focus on Business Rules
• Ask Customers to Lead
• Remember the “customer” in “customer tests.”
• Automate the Examples
• Programmers may use any tool they like to turn the customers’ examples into
automated tests.
Test-Driven Development
• Test-driven development, or TDD, is a rapid cycle of testing, coding,
and refactoring.
changing its behavior—what it does stays the same, but how it does it
changes.
Refactoring
• Reflective Design - In addition to creating a design and coding it, you can
now analyze the design of existing code and improve it.
• Analyzing existing code - Reflective design requires that you understand the
design of existing code – UML Sequence diagram
• Self-Documenting Code
• Risk-Driven Architecture