The primary goal of each development process is to develop a solution, which meets customer needs.
This is as true for software as for any other product or service. Unfortunately, this goal has often not been met in software development in the last few decades judging by the low success rates.Often the development process takes too long, the delivered software does not meet customer requirements or it includes too many bugs.
The fast changing environment and large variety of stakeholders often makes it difficult to meet customer expectations. This often leads to major changes in the requirements, scope or technologies of the software.
To overcome these problems – and to match customer expectations – software requires a special development process. It should be rapid and flexible without sacrificing quality. In addition, the development process should avoid errors from the beginning and concentrate on customer value.
Since January 2009, SAP has been using leanmethods within the solution development processes. The results have been very positive. This is essential in the development of on-demand solutions due to rapid innovation cycles. In this fast changing environment, Co-Innovationis the ideal model to assure success on both sides – customers and solution providers.
Having driven Co-Innovation in traditional on-premise and on-demand environments, SAP sees a paradigm shift in more agile methods of development. On top of this, there is the potential to accelerate and improve the outcome. This is especially true via early Co-Innovation and Design Thinking (see Whitepaper 1 of 3 CO-INNOVATION 2.0 AT SAP – Design Thinking and a User Centric Approach to Meet Customer Needs). Last but not least, the speed of innovation in an on-demand environment reduces the layers between developers and end-users while adding tremendous advantages thru faster release cycles.
The Co-Innovation model integrates customers into the development process in four phases: inspiration, ideation, customer proof and go-to-market (see Figure 1). Inspiration consists in identifying pain points within the installed base. The second phase, ideation and implementation, encompasses the main development process. In brief, a solution is developed through a series of iteration cycles, known as sprints, in which a small number of Co-Innovation customers co-design the solution. Before the final Go-to-Market phase brings the solution to the broad market, a select number of customers test the success of the solution in a process known as first customer proof.
This Co-Innovation approach helps eliminate the problems the software industry has been struggling with during the last years. The concepts of ultimate customer orientation, real value as well as Lean and Design Thinking ensure customers get the right solution fast, without waste and fitting to their needs.
Traditional development approach
There are significant problems in the traditional software development approach. Many solutions fail, take too long to develop or don’t meet customer requirements. Following are some of the problems contributing to this issue: 
- The development process is not iterative. Instead, sequential development methods, like the Waterfall method, are used.
- Defects caused in an early stage are not recognized and corrected in time. At a later phase, it is more difficult and costly to identify and address these issues. Furthermore, additional defects may result from the original ones.
- There can be huge difficulties in dealing with changing requirements due to our rapidly changing environment. Additionally, customer requirements often need to be discussed and fine-tuned throughout the process. The clarity that comes with a better mutual understanding of the requirements at later stages helps to better define the details.
- Some functions incorporated into the software may neither be desired nor used by customers. Worse yet, they consume capacity.
- Poor knowledge transfer across sequential projects, products and business areas may be a challenge.
The underlying reasons for these challenges are mainly the methods used for traditional development. Low transparency between developers and customers on the one hand and between different development teams and internal stakeholders on the other hand contribute to this.
In the so-called Waterfall model, requirements are defined at the beginning of the development process and are often not verified until the acceptance test at the end. With this approach, it is difficult to develop solutions which meet market requirements.
On-demand solutions, in particular, are prone to fail if market requirements are not met. Since competing products can come to market rapidly, customers often have the opportunity to choose solutions which provide a better fit, are faster to market or provide better performance.
To avoid this waste and focus on customer needs, development methods are needed which are flexible and avoid unnecessary features.
Lean development – be prepared for fast innovation
Problems of long delivery times and non-customer oriented products have long been identified in other industries. The Lean Managementphilosophy based on the Toyota Production System (TPS) can help overcome these problems. The Lean Philosophy – often called Lean Thinking – involves ultimate customer orientation, striving for perfection and prevention of waste. Note that the original word for waste in TPS, muda, can be translated to encompass man issues including process variability.
In summary, Lean Thinking is a mindset on how to deliver value to the customer more quickly by finding and eliminating waste . Lean means to do “more and more with less and less … while coming closer and closer to provide the customer with exactly what he wants.” It provides ideas and methods which help overcome unsatisfying performance in all areas.
The basic principles of Lean Thinking explain its underlying ideas:
- Many things done within a company can be seen as unnecessary and thus as waste. Waste is everything which uses resources but does not create value e.g. overproduction or unnecessary transportation.
- Valuedenotes everything for which the customer is willing to pay. Thus, value should always be defined from the customer’s point of view.  After all, only he can decide which features and functions are important.
- A Value Stream shows how this value is created in one’s processes.It is important to look at all processes in, and outside, of the company to achieve a high level of transparency.
- Produce only what is needed and thus eliminate waste. This is known as the “Pull” principle. It comes from the idea that the customer pulls the product he wants. Thus, ultimate customer orientation is guaranteed. 
- The last principle is the continuous striving for Perfection. This consists in continuously improving processes and product quality while at the same time minimizing time, costs and mistakes.
To bring these principles and ideas to life, there are several methods and tools. Standards help establish a common foundation with clearly defined and transparent processes. Just-in-time methods ensure the right things are in the right amount and in the right condition at the right place. Lastly, the concept of tact, balancing supply and demand to keep up the flow, are all examples of such methods. Note, these methods need to be adapted to the requirements of the culture or industry.
Additionally,Teamwork and the skills of each employee play an important role in the Lean Thinking mindset.
Based on these ideas, many companies have made significant improvements to their quality and efficiency. Already Womack and Jones pointed out that the use of Lean is not limited to production process but can improve operative efforts in all areas – e.g. it might as well be used during the design and development of products and solutions. 
Lean software development
If one compares the challenges in the software development process to manufacturing, they are basically the same: long delivery times and the inability to react to market changes. This, together with the fact that Lean Thinking has been applied to many disciplines, shows that its principles are universal.
Mary and Tom Poppendiek are credited with translating the Lean approach to software development. Based on Lean principles, they established seven core principles which should be followed during software development.
- Eliminate Waste
- Amplify Learning
- Delay Commitment
- Deliver Fast
- Empower the Team
- Build Integrity in
- See the Whole
Of particular importance within these principles is avoiding waste i.e. all things, which do not contribute to the final value of a product. Following are examples of waste in the software development process based upon the seven categories of waste in manufacturing. (See table 1).
Software Development Waste
Features not needed
Requirements and documentation
Extra processing steps
Defects not identified by test
Waiting including customers
Tabel 1: Waste in softwaredevelopment
A major risk in today’s software is that it not meet customer requirements. Furthermore, many of the functions may never, or rarely, be used. This is similar to over production in other industries. In other words, it does not add value. Lean software development, on the other hand, helps ensure only capabilities which the customer really needs are developed. 
Another typical source of waste are software defects. The later they are identified, the more complicated, costly and time intensive they are to fix. Documentation, although not part of the final product, takes a lot of time to produce. It is especially wasteful if it does not correctly or completely cover user requirements.
Several methods of software development based on Lean were developed to eliminate these different kinds of waste. Example methods include Scrum or Extreme Programming (XP).
Scrum is based on the idea of establishing a flow of the development item using the same duration; often 30 days. At the end of each sprint,there is a part of the solution, or a specific feature, which can be tested and presented in a live demo. Co-innovation customers provide feedback to the product team on what does not work properly or has to be changed. Such feedback is especially valuable if it includes end-users who integrate their ideas, advice and prioritization to the next development sprint.This iterative development approach ensures that defects are discovered early and that the software meets customer requirements. Furthermore, it decreases the time customers have to wait for what they want.
Pull is another essential aspect of Lean to ensure flow and tact. It integrates the customer into the development process so that he can pull the solutions he wants. This is necessary to ensure value is created since it is defined by the customer, not the software provider.
The best way to meet customer needs is to work together closely and frequently present results to gather feedback. It is necessary to have a continuous and detailed information flow from customers to developers. Delivering a working piece of software after each sprint allows such frequent interaction.
All this shows that the integrated development approach helps get closer to Perfection and to continuously improve development processes. The Pull principle is embodied by the fact that only customer requests are developed. Developing small increments of software in clearly defined sprints (=tact) and bringing them together in a final product helps to establish a continuous Flow. Delivering in small increments also decreases the wait. Finally, this helps to develop real Value by concentrating on what customers really need. They are involved in every process phase from inspiration to ideation to implementation to finally customer proof. This is the ultimate goal of the SAP OnDemand Co-Innovationapproach.
eBay is a good example for the implementation of these methods. In the mid 1990s, eBay software capabilities were developed by responding daily to customer requests. They were implemented on site over night.
Lean development at SAP – a proven concept in OnDemand
In the fast changing environment where software solutions become more important than ever, it was a natural move for SAP to change from traditional software development to Agile development integrating Lean Thinking into the process. A key tenant of this approach is the emphasis on co-innovation
It was necessary to adapt processes to complete development faster, achieve better quality and better meet customer needs. To reach this, agile development methods were developed which put the customer (both internal and external) at the center of all activities. Development methods such as Scrum were established and a set of tools and methods were developed.
In the SAP OnDemand Line of Business area, these ideas were incorporated into every development process. Henceforth, extensive customer integration, strict orientation on his needs and fast development in short cycles became the basis for delivering solutions to the fast growing on-demand market (see Figure 2).
To support this, the Co-Innovation approach has become an essential part of the development process.
The basic framework of the development process is the idea of Tact. These are short development cycles, which are called “sprints” (see Figure 3).
The process starts with an initial sprint called “sprint 0”. Unlike the past, where detailed and inflexible specifications were written, sprint 0briefly defines the solution specifications. Additions and refinements are made later throughout the entire process. Design Thinking is used extensively in this early development stages.  This ensures that the specifications already integrate input from the customer. The initial specification is like a vision of the goal. It should be presented as a mock-up, or wireframe, to capture the design principles, scope and user storyboards.
After sprint 0, a development cycle takes six to twelve sprints; each lasting two to four weeks. After each of these sprints, a working software increment, in form of a prototype, is presented to the solution team and customers for feedback, new ideas and to adapt to newly emerging requirements. This ensures customer feedback ever four weeks at the least. Thanks to SAP Co-Innovation, which is responsible for the integration of customers into the development process, the right customers are involved from inception to delivery throughout the entire process.
This basic development approach incorporates the second important principle: Value. The continuous feedback from customers helps to develop a product which fits the market needs and thus avoids waste such as unnecessary features and functions. Moreover, this approach eliminates waste such as unnecessary documentation and improper specifications. Extensive customer integration is guaranteed by the Co-Innovation approach, which involves customers in the development process on different levels (see Figure 4).
This customer integration gives end-users the ability to Pull the solution which they really want. This is the third important pillar in the OnDemand software development process of SAP.
Finding the right customers for each solution is based on Design Thinking. This means that the right fit evolves over time. Starting with a hypothesis of what customers need, one has discussions with peers and customers. One then executes on this hypothesis adjusting it along the way to achieve the right match between customer profile, solution and value proposition. To get the right mix of co-innovation customers, the profiling for a specific solution evaluates several aspects including industry, readiness and early adopter mentality.
To pull the solution, these customers meet on a regular basis with development, product management, knowledge management, design and Co-Innovation teams. Meetings usually occur monthly, or bi-monthly, to discuss the backlog, prioritize the next sprint and evaluate what was accomplished in previous sprint(s).
What is in it for the end-user?
The agile development process allows development to adapt to the fast changing environment of the on-demand world, to quickly react to changing requirements and to deliver solutions which best fit customer needs.
SAP Sales OnDemand illustrates the fact that customers appreciate this kind of integrated development process and that time to market can be significantly reduced. Customers were included in the early stages of development in mid 2010. They have remained involved in each sprint up until present day (May 2011). Currently, the first customers are getting full access to the solution as part of the early adaption phase.
Staying with the example of Sales OnDemand, customers have involved not only their IT experts but also management and end-users, in this case sales professionals, in evaluating and prioritizing the solution. The feedback from these customers has been very positive. Furthermore, they appreciate the opportunity to work closely with developers, UI experts, product managers, the co-innovation team and senior executives.
One co-innovation customer brought their sales management to have a look at an early prototype. A participant stated: “I enthusiastically embrace this concept for a sales solution” and guaranteed full support including a significant commitment of resources from the sales department to participate in the co-innovation program from inception to development and finally to adoption.
Through active collaboration with customers representing the right mix in profiles and industries for the respective solutions, the co-innovation approach proves to be a win-win for everyone. Customers have the opportunity to influence solutions, end-users can help shape a solution they actually want to use and, thanks to the agile development process, the solution becomes available within 6 to 12 months. It is tempting for customers to shape a solution and put it to active use within less than a year.
In summary, the Lean approach eliminates everything which is not ultimately desired by the customer. The Co-Innovationprogram supports this by empowering the customer to define what he needs (Pull) to quickly (Tact) contribute to the success of his business (Value).
By Thomas Arends, Mareike Bender, Sven Denecken , John Hunt
Co-Innovation LoB OnDemand
SAP AG, May 2011, Walldorf
Arnold, D. e. (2008)
Arnold, D. e. (2008). Handbuch Logistik. (3., Ed.) Berlin: Springer.
Becker, ,. T. (2005)
Becker, ,. T. (2005). Prozesse in Produktion und Supply Chain optimieren. Berlin: Springer.
Drew, J., McCallum, B., & Roggenhofer, S. (2005)
Drew, J., McCallum, B., & Roggenhofer, S. (2005). Unternehmen Lean. Schritte zu einer neuen Organisation. Frankfurt/Main: Campus Verlag.
Hanser, E. (2010)
Hanser, E. (2010). Agile Prozesse: Von XP über Scrum bis MAP. Berlin Heidelberg : Springer-Verlag .
Henkel, E., Ober, M., & Taubner, D. (2011)
Henkel, E., Ober, M., & Taubner, D. (2011). Erfahrungen mit Lean-Konzepten im Management von Softwareprojekten. Informatik Spektrum , 34 (1), 60-70.
Heuer, S. (2003)
Heuer, S. (2003). Vielleicht konzentrieren sie sich auf die falschen Dinge? Toyota-Veteran Art Smalley über das Erfolgsgeheimnis der schlanken Fertigung. McK Wissen , 5, 23–25.
Hibbs, C., Jewett, S., & Sullivan, M. (2009)
Hibbs, C., Jewett, S., & Sullivan, M. (2009). The Art of Lean Software Development: A Practical and Incremental Approach. O’Reilly Media, Inc.
Highsmith, J., & Cockburn, A. (2001)
Highsmith, J., & Cockburn, A. (2001). Agile Software Development:The Business of Innovation. Computer , 34 (9), 120-122.
Ono, T.-i. (1993)
Ono, T.-i. (1993). Das Toyota-Produktionssystem. Frankfurt, Main: Campus Verlag.
Padberg, F., & Tichy, W. (2007)
Padberg, F., & Tichy, W. (2007). Schlanke Produktionsweisen in der modernen Softwareentwicklung. WIRTSCHAFTSINFORMATIK , 49 (3), 162–170.
Poppendieck, M. (2004)
Poppendieck, M. (2004). An Introduction to Lean Software Development. Retrieved 2011 йил 21-04 from http://www.leanessays.com/2004/06/introduction-to-lean-software.html
Poppendieck, M. (2001)
Poppendieck, M. (2001). Lean Programming. Software Development Magazin .
Poppendieck, M. (2003)
Poppendieck, M. (2003). Lean Software Development. C++ Magazine (Methodology Issue).
Poppendieck, M. (2002)
Poppendieck, M. (2002). Principles of Lean Thinking. OOPSLA Onward! Seattle: Poppendieck.LLC.
SAP Global Communications. (2009)
SAP Global Communications. (2009). Lean@BST: Interview with Herbert Illgner.
Vlaanderen, K., Jansen, S., Brinkkemper, S., & Jaspers, E. (2011)
Vlaanderen, K., Jansen, S., Brinkkemper, S., & Jaspers, E. (2011). The agile requirements refinery: Applying SCRUM principles to software product management. Information and Software Technology , 53, 58–70.
Vollmer, L. (2009)
Vollmer, L. (2009). Schnelle und wirkungsvolle Verbesserungen des gesamten Wertschöpfungs-prozesses mit Wertstromdesign. In A. Töpfer, Lean Six Sigma. Erfolgreiche Kombinati-on von Lean Management, Six Sigma und Design for Six Sigma (pp. 137–158). Berlin u.a.: Springer.
Willenbrock, & H. (2003)
Willenbrock, & H. (2003). Womacks Weisheiten. McK Wissen , 5 , 72–77.
Womack, J., & Jones, D. (2003)
Womack, J., & Jones, D. (2003). Lean Thinking – Banish waste and create value in your corporation. London: Simon & Schuster.
 See (Hibbs, Jewett, & Sullivan, 2009) p.3.
 See (Padberg & Tichy, 2007).
 See (Highsmith & Cockburn, 2001) and (Vlaanderen, Jansen, Brinkkemper, & Jaspers, 2011).
 See (Highsmith & Cockburn, 2001) (Padberg & Tichy, 2007).
 See (Padberg & Tichy, 2007), (Hibbs, Jewett, & Sullivan, 2009) p. 2 and internal studies of SAP.
 See (Hibbs, Jewett, & Sullivan, 2009) p.10.
 See (Womack & Jones, 2003) p 50ff..
 See (Womack & Jones, 2003) p. 15.
 See (Drew, McCallum, & Roggenhofer, 2005).
 See (Vollmer, 2009) p. 139.
 See (Willenbrock & H., 2003).
 See (Willenbrock & H., 2003).
 See (Womack & Jones, 2003) p. 35.
 See (Womack & Jones, 2003) p. 67, 69 and (Becker, 2005) p 39 f..
 See (Womack & Jones, 2003) p. 12 f. and (Vollmer, 2009) p. 139.
 See (Womack & Jones, 2003) p. 48 ff. and (Ono, 1993) p. 30.
 See (Heuer, 2003) and (Arnold, 2008) p. 304.
 See (Womack & Jones, 2003) p. 12 f., 55 and (Ono, 1993) p. 34 f., 49 ff..
 See (Womack & Jones, 2003) p. 54ff and (Drew, McCallum, & Roggenhofer, 2005) p. 35.
 See (Poppendieck, 2002).
 See (Poppendieck, An Introduction to Lean Software Development, 2004), (Poppendieck, Lean Programming, 2001), (Poppendieck, Lean Software Development, 2003) (Poppendieck, An Introduction to Lean Software Development, 2004), (Hibbs, Jewett, & Sullivan, 2009) p. 16ff..
 See (Henkel, Ober, & Taubner, 2011) (Hibbs, Jewett, & Sullivan, 2009, p. 17) and (Padberg & Tichy, 2007).
 See (Padberg & Tichy, 2007).
 See (Poppendieck, Lean Programming, 2001).
 See (Hanser, 2010) p. 61 ff.
 See (Poppendieck, Lean Programming, 2001), (Poppendieck, Lean Software Development, 2003), (Poppendieck, An Introduction to Lean Software Development, 2004)
 See (Hibbs, Jewett, & Sullivan, 2009) p. 26 ff.
 See (Highsmith & Cockburn, 2001).
 See (Poppendieck, An Introduction to Lean Software Development, 2004)
 See (SAP Global Communications, 2009).
 see Whitepaper 1 of 3 CO-INNOVATION 2.0 AT SAP – Design Thinking and a User Centric Approach to Meet Customer Needs
 The tasks, which remain to be done respectively, the features, which still have to be developed for the solution.