Are you worried that the attrition your team is experiencing means your product is about to be shut down? It may be shifting into a different phase of the software development lifecycle. Every piece of software goes through three stages. Some people prefer one or another of these. Learn to recognize these steps so that you can understand how well each fits.
Phase 1: Startup. Or, Make It Work!
This phase is where every software project starts.
Its goal is to pack enormous amounts of learning into tiny amounts of time.
“Move fast and break things” is a common catchphrase here.
Anything and everything about the project may change at any time. Sometimes in small ways. Often in significant and radical ways.
Customers love the fabulous things the software lets them do. They tend to ignore—or, at least, tolerate—the breakage that comes along with that.
Some software never leaves this phase.
Most software, however, grows to a point where it must either move into Stability or risk losing the trust of its customers.
Phase 2: Stability. Or, Make It Work Well!
This phase pairs the previous emphasis on building features fast with a new focus on stabilizing everything.
There’s still plenty of change everywhere. Breaking changes, however, become less frequent and a much bigger deal.
Customers are still enamored with the fabulous things the software lets them do. They are also much more likely to complain when things break.
Software often lives in this phase for a long time.
Eventually, though, most companies decide to stop investing in new development.
Defects still need to be fixed. Well, some of them, anyway.
The focus moves from Stability to Sustaining.
Phase 3: Sustaining. Or, Keep It Working!
If Startup’s mantra is “Move fast and break things,” Sustaining’s mantra is “Move as little as possible and break nothing.”
Where Startup has constant change and Stability aims to manage change, Sustaining focuses on minimizing change.
Possibly a feature here or there, probably for a super-important customer.
Mainly fixing the fewest number of defects in the least risky, least impactful way.
Once software enters Sustaining, it’s here for the rest of its life.
You may prefer a particular phase
If you’re feeling antsy or overwhelmed, you may be working in a phase that doesn’t fit you.
Examine what you enjoy.
Review what you need to stay stable.
If those are not innate to the phase you find yourself in, find ways to give yourself more of what you need.
That way, you can at least survive.
You might even thrive!
Which phase fits best for you? Let me know in the comments!