Still, Dr. Deming (an expert in continuous process improvement) says in his book »Out of Crisis« that 94% of the potentials for improvement and better results lie within the system. Only 6% lie within the individual (see also this article).
So although people are very important, their overall approach (= the system) has a major influence on their productivity and results.
That’s why we established a system of »Doing the Right Thing« (second leaf) and »Doing it Right« (third leaf).
By the way, Google recently adopted as well the mindset of »Do the Right Thing« for its new Code of Conduct (see WSJ article).
In the following I will expand on the aspects of the second leaf of our lucky charm to deliver projects on time and on budget:
1. Review the business case:
Even before we start into a project, we critically review the business case.
If we don’t see how a client could have a positive ROI from the project, we don’t want to engage at all. Why? Rather say no upfront than have a sorry client.
2. Agile Development:
Once a project has started, we use standard techniques from agile project management:
- Working in iterations, demonstrating actual, visible progress with very early and intense client involvement.
- Achieving releasable quality through a definition of done – to make sure that features are really done by the end of the iteration.
3. Address the risks early on:
We also consciously think about what to tackle early on:
- »Knowing 80% of all problems after 20% of the time«: right at the beginning, it’s essential to understand where problems hide. We strive to do that even before we sign the contract for a project. Once you know the problems, you can start to find solutions and manage the risks.
- »Big rocks first«: we strive to break the biggest parts into smaller, manageable ones and to work on the riskiest parts first. We don’t build all the infrastructure and architecture upfront, but modularize it and work on those »architectural elements« only once they are necessary to implement user stories (in analogy to the »Incremental Funding Method« from the book »Software by Numbers«).
4. Engage the user:
Gamification is a way to make a system more engaging for the user. Since we’ve been studying, teaching, and applying gamification for years now, we also look at personas and user stories from that angle and look for opportunities
- to make the system easier to understand for the user (onboarding), –
- to consciously address the various »player types«, and
- to build into the system enough reward mechanisms to keep the user interested and engaged.
5. Keep the Marshmallow on top:
Finally, we work to keep the »Marshmallow on top«. That metaphor is inspired by the »Marshmallow Challenge«. If you have not yet participated in one, you might want to watch a 6 minutes TED talk by Tom Wojec first. Our learnings are:
- Know what is most important to the client (= the »marshmallow«). Make sure that you and your client have the same understanding.
- Start working on the marshmallow.
- Deliver the marshmallow by the end of the first iteration (at least in a demonstrable prototype). Collect feedback from the client on the most important thing, in order to improve it iteration by iteration.
- Keep the marshmallow working all the time. At least it has to work at the end of each iteration (»keep the marshmallow on top«).
Every new team member at Catalysts undergoes a »learning lesson« which includes a Marshmallow Challenge and some theory. The term »marshmallow« is subsequently used as a metaphor, e.g. you can ask any team member: »What’s the marshmallow in your project?«
If there is no clear answer, you know that the project is in trouble.
Together those techniques help us to avoid wasting time or money. Why is that so important?
- Wasting our client’s money would eat up our profits and lead us into bankruptcy.
- Wasting our client’s time is bad, wasting our own time is even worse – since no mountain made of money can buy you time.