Come to think of it, you won’t find “just enough” in the list of principles behind the Agile Manifesto, but it’s always something to aim for.
To be clear, “just enough” is not “just OK.” Striving for one is good, while settling for the other is not. Simply put: just OK is not OK.
So don’t settle for “just OK.” Don’t settle for “good enough” either. Instead, go for “just enough.”
Go for “just enough” and work at it because it’s harder than you think: having just enough of something means you not only have the right amount of it, but also the right kind, at the right time.
Just enough: the right amount, of the right kind, at the right time.
Take process for example: no process is chaos, and too much process is sclerosis. Just enough process is that sweet spot between the two.
And the same goes for pretty much anything: analysis, design, code, standardization, management, you name it. Whatever it is, seek that sweet spot between not enough of it and too much of it.
Now you may ask, how do you go for just enough?
This is one way:
Start with nothing. When that’s not enough, try the simplest possible way to provide whatever you need. Repeat.”
—Ron Jeffries
Also, consider Dieter Rams’ approach to design: good design is as little design as possible.
Less, but better.”
—Dieter Rams
And watch for extremes: don’t put too much emphasis on some areas at the expense of other important ones.
When it comes to Agile in particular, it’s common to zero in on basic process (Scrum, for example) to the detriment of good old-fashioned functions (such as business analysis, solution design, or project management).
At the end of the day, as with all things Agile, simple is not easy: “just enough” is a principle that’s as simple as they come, and yet it’s a hard one to master.