Chapter 15 - Architectures in Agile Projects Flashcards
4 tenants of the agile manifesto
individuals and interactions over processes and tools
working software over comprehensive documentation
customer collaboration over contract negotiation
responding to change over following a plan
What kind of projects is Agile not well suited for?
larger projects with distributed development or whose processes need to be certifiable
2 activities that add the most additional time to a project
- up-front design on the architecture
- rework due to fixing defects and addressing modifications
whats the relationship between up-front design and rework time?
more time spent doing upfront design reduces the rework that needs to be done
Why do we just do as much up-front design as possible so that we have essentially zero rework?
at a certain point, additional up-front work adds additional time to the project schedule because it doesn’t reduce rework by very much.
There’s an optimal amount of rework that yields the shortest project schedule
what is top-down mode
designing and analyzing architectural structures to meet the demanding quality attribute requirements
what is bottom up mode
analyzing a wide array of implementation-specific and environment-specific constraints and fashioning solutions to them
what is a spike?
a experiment in which we try out some feature to see if plausibility
Agile processes are a response to 4 project needs
- to be more responsive to stakeholders
- to be quicker to develop functionality that users care about
- to show more and earlier progress in a project’s life cycle
- to be less burdened by documenting aspects of a project that would change
Advice for large systems with well understood requirements?
doing a large amount of architecture work up front will pay off
Advice for large projects with uncertain requirements?
quickly design a candidate architecture even if it leaves out details. Refine this architecture as circumstances dictate.
Advice for small projects with uncertain requirements
try to get agreement on the major patterns to be employed. Don’t spend too much time on up-front design