October 16, 2004

Models, Stories and Acceptance Criteria

If you have read through my older Blogs, you will know that my approach to analysis is heavily influenced by David A. Kolb's circle of learning model. The idea behind the model is that we start with a concrete experience. From this concrete experience, we abstract a model. We test this and past concrete experiences against the model. We reflect on whether the test is successful or whether the model needs further refinement. The decision to upgrade the model is not a binary decision. We often live with models that work well enough but not perfectly (Consider classical physics versus quantum physics. We still use classical physics even though we know a lot of it only works most of the time rather than all of the time).

So how does this apply to business analysis? Pretty much directly.

Start with a concrete observation. Employees are hired by a department. Model it. Employee and Department Objects linked by a "hired by" one to many relationship. Test the concrete against the model and reflect. Yep it works. Then consider another concrete observation. Some employees work for more than one department. Urm. Compare to the model. Model does not support this. Change model, now a many to many relationship (always a bad smell). Another concrete observation. Departments are charged different amounts for a particular employee. Check the model. Nope, doesn't support that. Change the model. Add a new object "Charged To".. etc. etc.

In traditional analysis, only the model would be used. In Agile (Test/Behaviour Driven Development), the concrete observations are more valuable than the model. Many models may support the behaviour required of the system. These concrete observations should be recorded as acceptance criteria for the stories.

The moral of the story. Modelling isn't necessarily bad, just don't throw away the valuable stuff and keep the not so valuable stuff. Traditional modelling is a bit like peeling potatoes and then keeping the peelings and throwing away the potato. (Then again all the goodness is in the skin so perhaps thats not such a great analogy.)

Posted by chrismatts at October 16, 2004 8:41 PM