Click the diagram to open the interactive DA Browser, where you can learn more about the decision points and options of this goal.
Why This is Important
There are several reasons why this process goal is important:
- We need to incrementally produce a consumable solution. A key agile concept is to keep things as simple as you possibly can. It is important to keep this in mind when choosing whether to work on an artifact and to what level of detail. Show your users a working solution as quickly as possible and at regular intervals. For agile teams this begins in the first iteration of Construction and continues for each subsequent iteration. For lean teams it may begin even sooner, perhaps just a few days into Construction. Stakeholders will soon tell us whether we are on the right track. Often they will tell us that we have missed the mark. This is a natural outcome. It is a good thing that we found this out early while we still have the opportunity to adapt our solution toward what they truly need and expect.
- We want to explore design details at the last most responsible moment. Because we’re exploring requirements just in time (JIT), we similarly evolve our design JIT.
- We need to plan and coordinate our work. Disciplined Agilists plan at the “long term” release level and the intermediate term iteration level (if they’re following one of the agile life cycles). We coordinate with other teams when it makes sense to do so and internally on at least a daily basis
Important Questions to Consider
- How will we plan how we’ll work together?
- What programming approach will we take?
- How will we architect and design the solution?
- How will we approach deliverable documentation?
- How will we ensure that our solution is consumable?
- The team will collaboratively produce the solution incrementally, seeking and acting on feedback as they do so.
- The requirements, design, and plan will evolve over time based on your—and your stakeholders’—changing understanding of what they want.