Agile methodologies properly recognize the value of getting to code early and not spending years on “Big Design Up Front” without demonstrating executable software early in the lifecycle. Agilists are correct in believing that a great deal of knowledge will be gained about system requirements by putting live software in the hands of users early. However, agile development as currently practiced across much of the industry has removed too much engineering from software engineering.
Resilient Agile (RA) is an attempt to put the necessary engineering back into software development without losing the “get to code early” focus that agile gets right. RA is based on a time-tested method (ICONIX/Design Driven Testing ) of developing an initial problem domain model, then decomposing a system into collaborating use cases and elaborating each use case by doing a conceptual MVC decomposition. Note that MVC as used within Resilient Agile does not represent the technical architecture of the system, but rather is used as a way to analyze a use case and identify participating elements such as screens, logic, and database tables.
• Post ID: 36990653 boston