Objective(s) of the session:
- Learn how to apply a simple thinking tool to reason about the different meanings of agility in different contexts.
- Learn how the ongoing major business and technology trends impact the way you build your products and develop software.
- Learn how to adapt your current practices in order to be even more agile in your specific context.
You just can’t speak about “being agile” in general. Being agile means different things in different contexts. Let’s just have a look at two companies:
- Tailors Inc. creates tailor-made solutions based on very specific needs of their customers. They deliver products using customer projects, and often build them from scratch – with some ad-hoc reuse between the different projects.
- Out-of-The-Box Ltd. makes a well-established product, continuously releasing new versions to a market.
For Tailors Inc., it’s at utmost importance to meet the customer needs within the given time and budget. The value of agility for Tailors Inc. is in reducing the risk of project slips and overruns (as for them this is the major source of revenue), and in implementing exactly what their customer needs. They may therefore focus on incremental delivery and customer involvement.
For Out-of-The-Box Ltd., agility has a different meaning. From a market point of view, there is a strong demand for offering ‘ultimate’ customer satisfaction. They are confronted with a large number of requests and product ideas from different stakeholders. Implementing all these wishes at once is impossible, choices have to be made and priorities have to be set. They will therefore focus on release definition — in particular the definition of upcoming releases in a product roadmap. At the same time, they have also worked hard in making their software upgrades automatic, which saved a lot of time and cost off their releases.
Things don’t stand still either. Evolutions in technology and the dynamic business environment push companies to change the way they develop and deliver their products all the time. Out-of-The-Box Ltd. may apply the approach of Tailors Inc. when trying to enter a new market; Tailors Inc. may decide to create a product for the domain and the market they start to know very well; various hybrid approaches are also possible. Managing these transitions well is crucial: things that “made you” agile before, may hinder you in the new environment.
This session presents a novel thinking tool for companies to reason about what agility means in their specific context. It is based on four development models: project based product development (Tailors Inc. from our example), out of the box product development (Out-of-the-Box Ltd. from our example), customizable product development, and technology platform development. These are four different product strategies used by different companies to deliver software-intensive products (not necessarily pure software products). This thinking tool also identifies the major ongoing business and technological trends and their potential impact on agility.
This session is based on results from work with many companies, described in a book chapter called “Managing Flexibility and Variability: a Road to Competitive Advantage” (in the process of being published), and in an article entitled “A Model for Trading off Flexibility and Variability in Software Intensive Product Development”.
Format and length: 90 mins short presentation, followed by a game-based interactive learning session.