When they started the process they wondered about how they compared to other companies out there. Were they behind the pack? Could they improve their pace and process to be better?
Their goal was to be able to release more often to reap all of the well known benefits of the Agile process. To get there they took incremental steps, with the ultimate goal of being able to have a deployed product every day. To chart their progress, they created a graph to be visually motivated by the improvements.
Initial approach:
- Identify the hard parts of their deployment and find ways to do them more often via automation
- Measure each aspect of their process and remove waste
- Evaluate the entire system when looking for optimisations
- Implement tooling to monitor processes involved with deployment
- To lower costs, build their own rack for deployments instead of relying on relatively expensive third party services
How they changed their process and culture:
- Couple the technical details with the products
- Decouple the releases of components. Since most of their applications were web-based, this was easier to do, since it just mean a new deployment on a server somewhere
- Focus on build things in smaller chunks so that they can be released faster and incrementally
- Reduce branching of products for new or major features; instead they used hidden features that could be enabled as experimental components for testing or beta testing
What they learned about their architectural decisions when adopting Agile:
- It's better to stay away from the mega-application that does everything, and instead focus on smaller components that can work together
- Make new features opt-in and backwards compatible so that clients can adopt them when they're ready, and go back if things don't work the way they expected
- Have the ability to host plug-ins remotely so that they can be upgraded separately without breaking other things
With Agile, they were able to start a program where people could pay for early beta versions. This gave them the benefit of both early feedback and an early revenue stream. They found that users were happy to be able to get access to the new features instead of having to wait months for a release.
No comments:
Post a Comment