Upload
buck-merritt
View
217
Download
0
Embed Size (px)
Citation preview
RESILIENT AGILEDoug Rosenberg
Why 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 can’t 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 shouldn’t 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 it’s roots in Agile/ICONIX, a minimalist use case driven UML process.It’s goals are to do “just enough planning” to hit the cost minimum“Just 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 we’re building the right system…
Requirements, storyboards, narrative use cases and…a conceptual MVC decomposition for each use case
Then we make sure we’re 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 data
• Can we do A/B testing with a software development process?• Industry won’t fund the same project built two different ways
by two different teams• Student projects in CS577 give us a unique opportunity to
gather hard data on what works best and most efficiently• We want to prove it with hard numbers