Software development is about frequent delivery of products and services. Gone are the days of the 12 month development project. If your software vendor isn’t releasing new features at least 4 times a year your falling behind. 3 to 6 month project delivery is not just strategic it’s necessary!Nowhere is this more true than on the web. The web is a fast moving place. And with the luxury of centrally hosted solutions, there’s every opportunity to break what would have traditionally been a project into a list of features, and deliver incrementally on a very regular basis – ideally even feature by feature.
On the web, it is increasingly accepted for products to be released early when they’re basic, not when they’re faulty! Particularly in the Web application world, where perpetual beta is accepted and normal. In this situation you should;
- Derive some benefits early
- Use real user/customer feedback before you build everything
- Use your web metrics and see what works, and what doesn’t before creating features
This is only really possible due to some basic principles of good software development mentioned in previous articles including the iterative approach, just-in-time, feature-driven, testing, and integration throughout the life-cycle.
How frequent should products and services be delivered?
Some say deliver every 30 days. That’s certainly frequent compared to most traditional software development projects.
Consider a major back-office system in a large corporation, with traditional projects of 6-12 months+, and all the implications of a big roll-out and potentially training to hundreds of users. The overhead of releasing the software is just too large to be practical on such a regular basis. In this scenario 30 days is too frequent.
Consider a web site, a web-based product – or even more dynamic something like a blog. There’s no roll-out overhead – it’s an automated central deployment to all users, and for the blog it’s a single click. No-one’s paying for the service. If something is wrong, no-one dies. And it can be rolled back as quickly as it’s deployed. There may be thousands of users, even millions of users of a web site every month. But none of them need to be trained. And you can evaluate the impact on the user experience, and the user’s behaviour, through metrics within 24 hours and on an ongoing basis. In this scenario 30 days is too long.
Competitors won’t wait. Speed-to-market is a significant competitive edge. The value of first-mover advantage is potentially enormous. While it is not always the case, research shows that the first to market become market leaders and win 80% of the time.
There is no right or wrong answer. Only what works for you, and what doesn’t.
Think carefully about your own situation. Think about the two extremes we have described above. Think about what’s right for you; your organization; your product; your market; your customers. Consider what is right for you, in your particular situation.
If Development projects work according to a fixed timescale, your plans are assured.
It is important is to make this a positive decision and decide what’s appropriate for you. And then to stick to a regular release cycle. A regular release cycle allows you to plan. It allows your infrastructure and ops teams to plan. It allows your business colleagues to plan. It allows your launch events, marketing campaigns, etc to be planned.
A regular release cycle also allows you to learn more effectively.
Your estimating might be good, it might be bad. Hopefully it’s at least consistent. If you estimate features at a granular level (ideally less than 1 day) and track your velocity (how much of your estimate you actually delivered in each Sprint), in time you’ll begin to understand your normal delivery rate. And when you understand this we’ll, you’ll be surprised how predictable you can be.
Managing expectations is really all about predictability.
If people know what to expect, they’re generally happy. If they don’t, they’re not happy. Maybe even furious! In software development, focus on frequent delivery of products. And perhaps even more importantly, focus on consistent delivery of products.