28 January 2009

Object oriented requirements and iterative development

If you are articulating your requirements in a way that is able to be delivered in multiple iterations you are probably trying to deliver a series of releases with valuable and useable features to your clients.

There appears to me to be a tension here between an object oriented approach to requirements definitions and breaking the parts into useful components. It won’t always rear it’s head, but it’s going to be lurking in the vacinity.

You may have a set of generic functions you want a sales website to provide. Examples may be “present products,” “make sale,” “take payment,” “produce order,” “fulfil order” and “produce reports.”

And say you have four products you sell which all require customisation at each leg of the process. They may be presented from different inventory systems, require different payment methods, or whatever.

How do you arrange your releases? Presumably the fastest way to get revenue flowing is to build the end to end process for one of the products.

Then how do you address the way the requirements are focused on functional requirements?

I don’t have the answers to this question. I do have a hunch, which suggests that you as the requirements manager need to put in the extra work to un-abstract the requirements (if you know what I mean) back into a pragmatic application of the system and process. I think this may mess with the BA concept of diving the requirements and solution cleanly.

What do you think?

Photoi by Dey, CC at Flickr


  1. Anonymous2:56 pm

    You need to separate your information requirements from your functional requirements. Understand what Product really is first, because as soon you get one or two of the four products going, the business will have a fifth and sixth one lined up to go.
    I understand the the need for speed to generate revenue, but some focused information/data modeling really doesn't have to take very long.

  2. Yep, there's plenty of room for planning and stakehodler management. But don't you think there is a challenge there in separating the view of the 'done' solution - destination - from the steps along the way?