Software Creation Mystery - http://softwarecreation.org

Archive for May, 2012

Know What Software Features to Build Next: User Stories, Business Canvas and Market

“Devoted to Facebook IPO”

Is there any development process that can really increase chances of the software system market success in this uncertain world?

Traditionally Project Managers make decisions for the horde of software developers what features should be attacked in the long release. Yes, this approach frees busy developers brains from the mind boggling task of thinking about the business. But developers no longer get business context – why features should be done and what is important for the business. In addition, long releases detach developers from the product market results and inhibit learning and adaptation to the customer needs.

Agile Development

Agile fixes these problems with three important practices – The Whole Team, Small Releases and User Stories. Customers and developers are one team that frequently discuss features face-to-face and create User Stories together. Important User Stories become part of the new release, others go to Backlog. The team releases features frequently and learn from customer feedback and implementation.

User Story captures the ‘who’, ‘what’ and ‘why’ of a requirement in a short simple way from the customer perspective. A user story is a unit of requirement, estimation and planning. It should be testable and fit into a single iteration. Often a user story is broken into programming tasks which describe specific implementation steps.

User Story is done when it is:

  • Code Complete and Working
  • Tested
  • Accepted by customer

Agile is wonderful process! Developers work closely with business providing speed, accurate interpretation of requirements and intellectual contribution (surprise!) in translating business vision and needs into the concrete software system.

The Customer accepts the User Stories at the end of frequent iterations, provides feedback and change future User Stories based on experience with this real working system. In short, the customer steers the direction of the project instead of being a hostage of the unruly slow development machine.

However, one big problem remains – everything depends on the customer’s ability to get brilliant ideas, correctly read the market and envision what set of features will succeed. Unfortunately, it is almost impossible to get right. Business geniuses (except Steve Jobs), smart analysts or even consumers themselves cannot reliably predict how people would react, what they really need and will like next. And developers can contribute more to the market discovery and quality of business decisions.

Read full post >>

Software Creation Mystery - http://softwarecreation.org
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 License .