My Favorite Life Cycles

I have a strong preference toward delivering pieces of functionality into the code base sooner rather than later. In my experience, it’s not possible to design the definitive architecture until after the project team writes, tests, and integrates several features. I prefer evolving the architecture and delivering features using Scrum (Agile Project Management with Scrum [Sch04]) as the project management framework to take advantage of the visibility, inspection, and adaptation it provides. Where possible, I add the eXtreme Programming (XP) (see Planning Extreme Programming [BF01] and Extreme Programming Installed [JAH02]) practices, or I estimate the architecture and then deliver some features with an incremental life ...

Get Manage It! now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.