Tag Archives: Agile

Knowing when you are done – Satisficing

Sometimes one of the most challenging parts to working on tasks can often be a factor of knowing when you are finished, being satisfied that what you have completed is sufficient enough. Without a clear definition of the outcome of what you need to do we end up finishing tasks when resource run out, such as time, money, or energy, not when some optimal or ‘final and correct’ solution emerges. Herb Simon, Nobel laureate in economics, called this ‘satisficing’ — stopping when you have a solution that is ‘good enough’ (Simon 1969)

So ‘how’ can you know when you have completed something? 
1. Have a well-defined goal as to what you are trying to achieve with this piece of work
2. has a definite stopping point, i.e. when you know you’ve met that goal, this can be thought of as like writing a series of acceptance criteria which you should try as much as possible to be able to objectively evaluate each as right or wrong.

With these in place whenever you start to wonder where you are heading or you are ‘thinking about how many hours you have left, and if this is enough to achieve what you need to do’ you can go back to what is essentially your plan, the end goal – the desired state and its criteria that you have formulated to remind/test your state of completion enabling you to re-align yourself in pursuit of finishing to the goal. Particularly in creative work we are in a constant cycle of thinking of the problem and solution over and over until we get the best outcome, its easy to get lost in amongst the thinking and problem solving process.

It may be two points there, but sometimes they are really challenging and there’s more than meets the eye to the theory behind this approach, some people are naturals at this, as if they have been brought up with this learning, others particularly those with highly analytical or creative minds need to develop the familiarity with this approach

Constraints – limits don’t stifle creativity – the enable it

In the SCRUM approach to Agile development we use ‘User Stories’ to capture client requirements . A User Story is a simple statement about what a user wants to do with a feature of the system. Stories are  written from a user’s perspective avoiding technical jargon or specific design goals and are written in business language that is understandable to all.  Simple as it sounds there’s a lot of consideration that goes into user stories , including the exploration and identifcation of constraints.

What is a constraint?

A constraint is something that is usually to be obeyed rather than directly implemented when developing a solution and can relate to a specific user story or be system wide in scope. As a consultant who helps clients formulate their user stories I often find that the term constraint can be perceived as having negative connotations.  I’ve found that if a client doesn’t understand the term ‘constraint’ in the context of user stories then they can easily misinterpret constraint’s as an attempt to limit or reign in what is to be delivered.  On the contrary constraints are intended to set boundaries within which we are free, empowered and challenged to innovate.

Very early on I take the time to help clients understand what the term constraint is and how rather than negative they can be viewed as driving forces in innovation. I read an article in recent issue of WIRED magazine that I thought communicated the concept of constraints really well. While not specific to SharePoint the article was very helpful in communicating the constraint concept, the article was entitled:

Design Under Constraint: How Limits Boost Creativity, By Scott Dadich  , March Issue 2009 and can be found online at WIRED

It’s a great article and well worth a read, I recommend it for a lunchtime read or the daily commute.

The author gives examples of familiar products, feats of engineering and the constraints employed in their design, in definition of constraint he writes:

“Constraint offers an unparallelled opportunity for growth and innovation. Given fewer resources or options, we have to make better decisions. The imposition of limits doesn’t stifle creativity – it enables it.”

SharePoint, User Stories and Constraints

In terms of SharePoint and user stories, constraints are vital to shaping successful solutions, constraints maybe straight forward statements such as ‘Must be XHTML 1.0 Compliant’ to something more fundamental that points to how it should be developed what objects and code can be utilised , for example,  ‘Must be a reusable component’

Do take time in defining and validating constraints before everyone heads off in delivery of a solution as disregarding constraints, insufficient consideration or working around the outside of a boundary can be the difference between a truly innovative solution and one that barely gets there.