Agile and lean values in software development – Case CadmaticAuthor Timo Kaltio
For more than a decade ‘agile’ has been the number one buzzword associated with process improvements in software development, while Scrum has been the most popular approach used to implement agile and lean values. Implementing these values in product development is beneficial, but in order to gain the maximum benefit they should be applied to all company functions.
The Toyota Production System is the origin of many agile values and principles. Based on Toyota’s approach the term lean was introduced in The Machine That Changed the World, a 1991 book by Womack and Jones. There have been plenty of other contributors since and the list keeps growing.
Agile and lean approaches are most beneficial when markets and user behavior cannot be fully predicted. As such it can be well applied, for example, in product development, marketing, sales, or in setting up a new business.
Instead of contemplating the ways agile and lean approaches differ from traditional approaches, I will draw here on examples from my current employment at Cadmatic Ltd to illustrate how these values can be implemented in practice.
Cadmatic software is used in plant and ship design projects and related information management. In early 2013 Cadmatic started applying the Scrum agile methodology for product development. This meant organizing software planning and development around short, time-boxed two-week increments called sprints. Each sprint delivers a potentially shippable product increment. The sprints provide fast plan-do-learn cadence, i.e. a sustainable regular iteration rhythm for product development.
At the same time the company adopted a new quarterly release model. In practice this meant releasing new software versions four times a year, compared to e.g. once a year as had been done before. The new quarterly release model called Agile Release Train (coined by Dean Leffingwell) provides slower, but quite frequent, time-boxed cadence for releasing.
A key principle of the approach is that the quality of releases and release dates are fixed, but that the scope of the releases is variable. The release trains are executed as a series of sprints.
The train refers to a metaphor where the train departs from the station on a reliable schedule. The train’s cargo can be seen as the software functionalities that where ready in time to be available for the users in a software release. The train does not wait. Functionality that is not mature enough on the scheduled release date will wait for the next train, which will come quite soon.
The Agile Release Train aligns different Scrum software development teams to a common mission, schedule, and cadence. It is a spinal cord of continuous software product development flow. It also promotes internal company communication because the release name directly indicates the timing of the release.
Benefits for software users
The implementation of agile and lean values at Cadmatic has had several benefits for end user organizations. One of these is that they know exactly when new releases will be delivered and that is done according to a predictable quarterly schedule. The former traditional release approach tended to lead to somewhat unreliable slipping release schedules.
It has also maintained the high quality of releases as there are no longer major and minor releases. This is due to the fact that the software is developed in four fixed time boxes and new functionality is released as soon it is mature. There are naturally differences in the amount of functionality visible for users between releases, but the development effort for each release is equal. This approach not only mitigates bug-related risks, but also improves quality via the feedback provided by users about these frequent releases.
User organizations do not always take new releases into use, but some do and provide valuable feedback. This eventually benefits all the user organizations.
It is also worth noting that some of the most useful improvements are easy to implement, so-called low hanging fruits. Frequent releases provide a vehicle to make those improvements promptly available for end users.
At Cadmatic the Agile Release Train provides level cadence and synchronization, not only for software development, but for several other activities such as strategy follow-up and updates, product portfolio management, road mapping and marketing.
In every quarter, progress and what has changed in the understanding of customer needs is evaluated. Plans are not carved in stone. New product development is guided by a longer term vision and roadmap and reprioritized based on customer feedback. Different level plans are frequently updated to deliver the best possible value to the end users and their organizations. The whole enterprise is becoming agile and lean.
Lean startup and business model generation
As indicated before, agile and lean values are well suited to setting up new businesses. A concrete example has been the development of Cadmatic’s new eShare information management solution, which has been treated as a new startup (see the info box overleaf for more information about eShare). The approach was also suitable due to the fact that eShare is a totally new product with markets and product categories that have not yet clearly been defined. The agile and lean approach has, therefore, been especially useful. It all started when the vision of Cadmatic employees matched customer needs…
Eric Ries first proposed the lean startup as a method for developing businesses and products in 2011. Ries claims that ‘startups can shorten their product development cycles by adopting a combination of business-hypothesis-driven experimentation, iterative product releases, and what he calls validated learning’ (Wikipedia). He also popularized the minimum viable product (MVP) concept, which contains only those core features that allow a product to be deployed in real use to deliver enough added value for users, and no more.
In eShare’s case development was started with the creation of a MVP for three different customer cases for slightly different uses. The lessons learnt from these three early adopter companies were consolidated into the productized eShare product that is now available for all customers and has replaced all earlier working prototypes.
The eShare business model was defined using a business model canvas and a value proposition canvas.
In eShare marketing and sales similar principles were applied by building a hypothesis regarding what message would make the added value of this new product stand out.
A small group of companies was targeted for marketing and sales activities in the first round. After that the approach was adjusted based on lessons learned. A key factor in applying agile and lean approaches in marketing and sales is not waiting until the product is fully developed before starting. Building the marketing message should go hand in hand with building the value proposition and developing the product.
Agile and lean values can be implemented in a wide range of organizations and enterprise functions to deliver optimized operations. While implementation methods will naturally differ the core values that drive renewal are constant. Every company has the ability to become agile and lean.
The original text has published in our 1/2015 Top Engineer magazine
How can we ensure industrial resilience during the coming winter?Kirjoittanut By Teemu Turunen
The current energy crisis has forced us to think about how to secure critical infrastructure and manufacturing operations. Concrete measures include the implementation of emergency fuel systems and moving away from natural gas in production...Read more » Lue lisää »