Library tutorials & articles

Secrets of Successful Software Requirements

Do Iterative Requirements Development

When you create requirements, it is important to develop the requirements in multiple stages. For example, you may want to do a general layout of the program and create higher level use cases in the first session to get a feel for the overall requirements. In the next session(s), you can focus on each key feature to ensure that the normal paths are all defined in the use cases and further refine the prototypes. In the next session(s), you can attempt to define all of the error conditions which can occur and update the prototypes as necessary. The final sessions should review all work previously done to ensure that all requirements are clear and complete. At each stage, you should not be afraid to revise work done in a previous step because getting the requirements correct will ultimately save time in the more costly development and testing stages.

Comments

  1. 07 Sep 2007 at 15:26
    Yes ofcourse you are absolutely correct
  2. 19 Jun 2007 at 02:24

    You are absolutely right !  Been there, done that for 10+ years in a global business environment, and currently offering this as a service for companies who don't have the skills in-house.

    What you described is the role of Product Management in a (software) product development environment: to act as the intermediary between the "business" (users, general management, marketing, sales, finance, and who knows else...)  and the development team.  Consolidate the business requirements, match these against (corporate) strategy, and work closely with the development team to translate the results into technological solutions.

    Based on my experience, in many companies this is an underestimated, or even totally ignored part of product development.  But, if implemented well, it leads to quicker development cycles, higher quality software, and feature-sets that meet or even exceed the expectations of the end-users.  As a result:

    • developers feel more valued, as they deliver products that are highly appreciated
    • sales and marketing feel better, as the products they asked for meet their clients' needs
    • general management is happy, as the above will lead to higher revenues and lower costs

    and most importantly

    • clients will be impressed with how well you address their needs, and spend more money with you !

    To do this right, you need professionals who have the skills to understand / interpret business needs, as well as how technology can be applied to address these.  This is a challenging task in a project for a single company, more challenging when you're talking about a single country, multi-client (commercial) application, and a potential nightmare if you're dealing with a (large) number of clients across multiple countries.

    People who can do this well are rare, but worth their weight in gold !  With their support, a development team can decrease time-to-market, improve quality, and start to truly deliver on customers' needs.

    Erwin Bergsma
    Managing Director - Global Retail Business Solutions Ltd

  3. 01 Jan 1999 at 00:00

    This thread is for discussions of Secrets of Successful Software Requirements.

Leave a comment

Sign in or Join us (it's free).

Igor Jese

Related discussion

Related podcasts

  • Scott talks to Martin Fowler and David Heinemeier Hansson

    Scott sits down with Martin Fowler of Thoughtworks and David Heinemeier Hansson of 37 signals and talks about beauty, making developers happen, the death (or life) of HTML, the future of Microsoft, and asks if we should care about Rich Internet Applications. DHH is the creator of the Ruby on Rail...

Events coming up

We'd love to hear what you think! Submit ideas or give us feedback