Friday, April 29, 2011

Extreme Agile Development?

What if we push all the agile practices to the extreme just like Extreme Programming does? What will extreme agile development look like?
If automated test is good, why not write acceptance criteria in automated test suites?If empowering the devs is good why not let them own the story too?
If close coordination between QA and Dev is good why not let them pair all the time?
If frequent and direct feedback from end users is good why not continuously deliver to them and collect feedback from them in an easy and automated way?

So maybe this is what extreme agile development process look like:

  • Provide end users a way to easily submit their feedback to application's feedback database.

  • Product manager(s) categorize user feedback into high level feature requests and prioritize them.

  • Dev pair and QA work together (tripling) to design the detail user experience story for the high level feature request (together with the original end user feedback) and write the acceptance criteria in automated test suite such as cucumber.

  • Product manager(s) reviews the implementation design and the cucumber tests. (optional)

  • Dev pair develop the story to pass the automated test suites. During which if the test suites need to be changed, the QA will be pulled in.

  • Continuously deliver code to end users - deploy code to production as frequent as possible.

  • Product managers keep monitoring end user feed back and ensure that all team members being on target with their user experience design

Is this possible?