Digging into the Agile Principle: What “Barely Sufficient” Means?

What is "barely sufficient"? "Barely sufficient" means to capture and record your requirements at just enough detail for the needs of those requirements for today's and tomorrow's. As with pretty much all other aspects of just about everything, the answer really is, "it depends." instead of asking who decides what barely sufficient is, ask what is a barely sufficient requirement. This is straightforward. A system behavioral related requirement is defined by its inputs and outputs. Definition of such essential for minimal yet quality requirements. If you're building something simple, where the code can be the documentation, then whatever the team decides is good enough to get to the design to inform the development. The team should decide whether the requirements have enough clarity to get the work done to an acceptable level, but it is not done in a box. Left to their own designs, developers often assume they understand more than they really do and end up building some really bad things.
There are a couple of perspective of “barely sufficient”: (1) It's best to do things just in time. And (2) It's best to adjust until what you're doing is just enough. Doing things just in time means they are done in time, but it also means that we know as much as we can know when we do them, and the opportunities for change between the time they are done and the time they are needed is minimized. So it would take some powerful arguments to override those motives. Doing just enough is minimizing waste. Doing any more would be waste. There are people who argue that it is better to do 'not quite enough' on the grounds that good feedback loops will tell you, in time, that you need more and at that point you can do more. However by the time you find you've done too much it's too late to do less. So feedback loop is important. You get feedback that tells you when you haven't done enough; if you're careful you get feedback telling you when you've done too much. From this, you get better next time at doing 'just enough' - or 'not quite enough' - depending on which you are aiming for.

Principles are those core decisions values, not value as in benefit, but values as in beliefs that shape behavior and define culture. All Agile principles help build the culture of change with three “I” - Interaction, Iteration and Improvement.
Follow us at: @Pearl_Zhu
Published on April 18, 2015 23:34
No comments have been added yet.