This diagram is not an attempt to define Truth. It's an attempt to organize my thoughts about what I've seen used in practice, what works.
Agile Manifesto 1) Individuals and interactions over processes and tools 2) Working software over comprehensive documentation 3) Customer collaboration over contract negotiation 4) Responding to change over following a plan
Agile Retrospective Prime Directive "Regardless of what we discover, we understand and truly believe that everyone did the best job they could, given what they knew at the time, their skills and abilities, the resources available, and the situation at hand." --Norm Kerth
Up-front design / documents become quickly inaccurate and require maintenance Minimal design drawings communicate a common vision Roadmaps take more developer time and become more error-prone as detail or distance into the future increases Minimal WIKI notes capture key HowTos and important items to remember Pairing improves quality Iterations show changes in productivity Minimal stories track what needs to be done without capturing details that will change when it's time to work the story Waterfall yields surprises at the end when components don't work together Always integrated / always working system finds problems early Standups apprise all team members of context Retrospectives help the team continually improve Less process and less document detail means more time building product