RESILIENT AGILE Doug Rosenberg. Why Resilient Agile? Many agile projects are underplanned, and thus...
date post
12-Jan-2016Category
Documents
view
216download
0
Embed Size (px)
Transcript of RESILIENT AGILE Doug Rosenberg. Why Resilient Agile? Many agile projects are underplanned, and thus...
Resilient Agile
Resilient AgileDoug RosenbergWhy Resilient Agile?
Many agile projects are underplanned, and thus expensiveTimeboxed sprints create pressure to deliver shoddy softwareOften rainy day scenarios are not considered, leading to fragile softwarePlanning cant happen all upfront but must be continuous and adaptive to changing requirements
Why are agile projects underplanned?
The Agile Manifesto explicitly devalues planning. So it shouldnt be surprising that many agile projects are underplanned.
Agile projects typically start with user stories which are nebulously defined, rather than with more rigorous use cases.
Architected Agile adds a sprint 0 upfront where planning happens
We believe planning needs to happen continuously, as each use case is analyzed.
Where did Resilient Agile come from?
Resilient Agile has its roots in Agile/ICONIX, a minimalist use case driven UML process.Its goals are to do just enough planning to hit the cost minimumJust enough planning involves thinking through each use case carefully (both sunny-day and rainy-day scenarios)Continuous planning means analyzing each scenario (sunny and rainy day paths) within the sprints, not just planning during sprint 0
Agile/Scrum refers to non-coding activities as ceremonies
We prefer a more engineering oriented approach.First we make sure were building the right system
Requirements, storyboards, narrative use cases anda conceptual MVC decomposition for each use case
Then we make sure were building the system right
Sequence diagrams, database schemas, class diagrams, state machines
We used this process last year with a location based advertising system
Original system concept
Now a commercially deployed system
We got some fascinating numbers last year
Now we want to gather more productivity dataCan we do A/B testing with a software development process?Industry wont fund the same project built two different ways by two different teamsStudent projects in CS577 give us a unique opportunity to gather hard data on what works best and most efficientlyWe want to prove it with hard numbers