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.