Customer-Specific Tailorability of Software and Software-Intensive Products – Business and Technical Perspectives
Well-designed flexibility is one of the key success factors of a software (-intensive) product. A software that can be tailored to customer-specific requirements can capture larger markets with diverse and dynamic customer segments. Being able to adapt a software without having access to the original, secret source code greatly increases the scalability of the business model by creating opportunities for third parties to offer full-service tailoring and integration services on top.
However, designing appropriate tailorability is one of the hardest problems in software product design, because of the many strategic, business and technical ramifications that have to be balanced. The first part of the seminar will embed the challenge of tailorability in the larger strategic, organizational and business context. The second part will give an extensive overview of the technical side of tailorability, deep-diving into tailoring technologies which are widely applicable without large investments. This will cover configuration, composition, and invasive and non-invasive customization.
Day 1: The business perspective (Hans-Bernd Kittlaus)
Customers usually want the best of the two worlds of software: the total fulfillment of all their specific requirements, and the cost advantages of a standard product. For the vendor of a software (-intensive) product, this is a dilemma. The first wish means a highly customer-specific implementation as would be typical for a professional service development project, the second wish means the same code for all customers, i.e. a true product business that can easily scale. These are two very different business models that a lot of small and mid-size companies tend to mix. However, they do not go well together which is why most companies that have both separate them organizationally at some point in time. We will discuss the differences of these business models, the up- and downsides of combining them, and the migration path to a true product business model in combination with a customer-specific delivery service.
Day 2: The technical perspective (Dr. Oliver Stiemerling)
Once a software is compiled it usually loses its “softness”. If you want to let others change aspects of your software that usually remain static during normal use, you have to explicitly move these parts of the definition of your software’s behavior or structure out of the source code into a manipulatable “data”-format and design ways for your customers or third parties to access and change these representations. The most widely used technique are the ubiquitous property files or configuration tables in a product‘s data base. However, successful product software typically uses much more powerful techniques based on composition or even programmatic customizing. These techniques and their design are at the core of this part of the workshops. Furthermore, we will discuss how to choose the “right” tailoring technique for specific flexibility problems, how to scope tailoring operations and how to document and audit tailoring.
Hans-Bernd Kittlaus is an internationally renowned expert on Software Product Management and a highly experienced trainer and consultant. He has been working for software organizations of all sizes, and runs his own company InnoTivum Consulting. Before he was head of SPM and development units of IBM. He is the chairman of ISPMA (International Software Product Management Association, www.ispma.org), and has published numerous articles and books.
Dr. Oliver Stiemerling has been actively involved in software product design since the early 90s. He earned a Ph.D. in computer science for pioneering work on tailorable component architectures for flexible software systems in 2000. In 2001 he founded ecambria systems GmbH, a company offering cryptographic software products and specific consulting services for start-ups and larger enterprises including several Fortune 500 and Dax companies (www.ecambria-systems.com). He has also served as sworn expert witness in many court cases over the last 10 years involving software products (www.ecambria-experts.com).
Target Audience
This workshop is intended for people in software organizations, i.e. in companies that produce software (-intensive) products as well as IT departments of companies that serve multiple internal customers. They can be executive managers, product managers, architects, developers or have similar roles. A few years of software-related experience is recommended.
Agenda
Day 1: The Business Perspective (Hans-Bernd Kittlaus)
1. Introduction
- Classification of Tailorability
2. The Business Perspective
2.1 Software-Related Business Models
- The Customers’ and the Vendors’ View
- B2B + B2C
2.2 The Strategic View
- Scale your business model
- Manage your partners & create new markets through tailorability
- Increase employee buy-in through individualization
- Build barriers to product substitution through investments in tailoring
2.3 The Macro-Economic View
2.4 Recommendations – The Migration Path
Day 2: The Technical Perspective (Dr. Oliver Stiemerling)
The Technical Perspective
3.1 A model of flexible software systems
3.2 A toolbox of tailoring Technologies
- Configuration
- Composition
- Customization
3.3 Tailoring interfaces and adaptive systems
3.4 Programming language prerequisites for tailorability
3.5 Tailorability of SaaS and cloud offerings
3.6 Tailorability documentation
3.7 Documenting tailoring operations (audit trail)
3.8 Recommendations
- Selecting the right tailoring technology
- Tailorability pitfalls
Software Tailorability Training (2 Days)