Kernpunkte
Der Beitrag zeigt am Beispiel von Extreme Programming (XP), dass agile Softwareentwicklungsmethoden auf den Ideen der Lean Production beruhen.
-
XP erreicht eine extreme Qualitätssicherung durch Paarprogrammierung, testgetriebenes Entwickeln, häufiges Refaktorisieren und laufende Codeintegration.
-
XP arbeitet mit extremer Kundenorientierung durch ständige Einbindung eines Kundenmitarbeiters, iteratives Planungsspiel, häufige Akzeptanztests und inkrementelle Auslieferung.
-
XP erreicht eine extreme Verschlankung des Entwicklungsprozesses durch das konsequente Weglassen von Entwurf, Dokumentation und aufwendigen Koordinierungsmechanismen.
Die Verankerung in der Lean Production liefert eine konzeptionelle Erklärung, warum agile Methoden kostengünstig zu hochwertiger Software führen. Erkenntnisse über schlanke Vorgehensweisen in anderen Wirtschaftsbereichen können auf die Softwareentwicklung übertragen werden.
Abstract
This paper shows that Extreme Programming (XP) is rooted in the principles of Lean Production. XP drastically slims down the development process, but adds extreme customer orientation and extreme ways of quality assurance to the process. The fact that XP and other agile methods in modern software development are based on lean principles explains why agile methods can produce high-quality software in a cost-effective way. The paper also contains a discussion of problems that come up when using XP in practice, and raises important questions about lean methods in software development; for example, whether lean methods scale to large software projects and large software organizations. When trying to answer such questions, software engineering could draw from experience with lean production and lean development in other fields.
Literatur
Arisholm, E.; Briand, L.; Hove, S.; Labiche, Y.: The Impact of UML Documentation on Software Maintenance: An Experimental Evaluation. In: IEEE Transactions on Software Engineering TSE 32 (2006), S. 365–381.
Abrahamsson, P.; Koskela, J.: Extreme Programming: A Survey of Empirical Data from a Controlled Case Study. In: International Symposium on Empirical Software Engineering ISESE (2004), S. 73–82.
Agile Alliance: Manifesto for Agile Software Development. http://agilemanifesto.org/, 2001, Abruf am 2007-03-15.
Baudin, M.: Lean Logistics. The Nuts and Bolts of Delivering Materials and Goods. Productivity Press, 2005.
Beck, K.: Why ‘Extreme’? http://c2.com/cgi/wiki?ExtremeProgramming, 1998, Abruf am 2007-03-15.
Beck, K.: Embracing Change with Extreme Programming. In: IEEE Computer (October 1999), S. 70–77.
Beck, K.: Extreme Programming Explained. 2. Aufl., Addison-Wesley, 2004.
Bowen, H. K.; Spear, S.: Decoding the DNA of the Toyota Production System. In: Harvard Business Review (September/October 1999), S. 96–106.
Bryant, S.; Romero, P.; du Boulay, B.: The Collaborative Nature of Pair Programming. In: XP/Agile 7 (2006), S. 53–64.
C3 Team: Chrysler Goes to ‘Extremes’. In: Distributed Computing 10 (1998), S. 24–28.
Charette, R.: The Decision is in: Agile versus Heavy Methodologies. In: Cutter Consortium Executive Update 2 (2001) 19, S. 2–3.
Cockburn, A.: Agile Software Development. Prentice Hall, 2002.
Coplien, J.: Developing in Pairs. In: Pattern Languages of Programming PLOP (1994), S. 183–238.
Elssamadisy, A.; Schalliol, G.: Recognizing and Responding to ‘Bad Smells’ in Extreme Programming. In: International Conference on Software Engineering ICSE 24 (2002), S. 617–622.
Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, 2000.
Harvey, D.: Lean, Agile. In: Workshop on The Software Value Stream, Object Technology OT (2004), http://www.davethehat.com/articles/LeanAgile.pdf, Abruf am 2007-03-15.
Highsmith, J.; Cockburn, A.: Agile Software Development. In: IEEE Computer (September 2001), S. 120–122.
Highsmith, J.: Adaptive Software Development. Dorset House, 2000.
Howell, G. A.: What Is Lean Construction? In: Annual Conference of the International Group for Lean Construction IGLC 7 (1999), S. 1–10.
Jeffries, R.: What is Extreme Programming? In: XP Magazine (November 2001), http://www.xprogramming.com/xpmag/whatisxp.htm, Abruf am 2007-03-15.
Johnson, J.: ROI — It’s Your Job! In: Hauptvortrag auf der XP (2002), http://ciclamino.dibe.unige.it/xp2002/talksinfo/johnson.pdf, Abruf am 2007-03-15.
Jones, D.; Mitchell, A.: Lean Thinking for the NHS. National Health Service (NHS) Confederation Report, UK 2006.
Karlsson, C.; Ahlström, P.: The Difficult Path to Lean Product Development. In: Journal of Product Innovation Management 13 (1996), S. 283–295.
Kernighan, B.; Plauger, K.: The Elements of Programming Style. McGraw-Hill, 1974.
Krafcik, J. F.: Triumph of the Lean Production System. In: Sloan Management Review 30 (Fall 1988) 1, S. 41–52.
Karlsson, L.; Thelin, T.; Regnell, B.; Berander, P.; Wohlin, C.: Pair-wise Comparisons versus Planning Game Partitioning. Experiments on Requirements Prioritisation Techniques. In: Journal of Empirical Software Engineering 11 (2006) 2, (online), Abruf am 2007-03-15.
Larman, C.; Basili, V.: Iterative and Incremental Development: A Brief History. In: IEEE Computer (June 2003), S. 47–56.
Liker, K. J.: The Toyota Way. McGraw-Hill, 2004.
Manhart, P.; Schneider, K.: Breaking the Ice for Agile Development of Embedded Software: An Industry Experience Report. In: International Conference on Software Engineering ICSE 26 (2004), S. 378–386.
McConnell, S.: Rapid Development. Kap. 3, Microsoft Press, 1996.
Mills, H.; Dyer, M.; Linger, R.: Cleanroom Software Engineering. In: IEEE Software (September 1987), S. 19–25.
Murman, E. M.; Allen, T.; Cutcher-Gershenfeld, J.: Lean Enterprise Value. Insights from MIT’s Lean Aerospace Initiative. Palgrave Macmillan, Juni 2002.
Müller, M.; Hagner, O.: Experiment about Test-first Programming. In: IEE Proceedings Software 149 (2002), S. 131–136.
Müller, M.; Padberg, F.: On the Economic Evaluation of XP Projects. In: European Software Engineering Conference ESEC 9 (2003), S. 168–177.
Müller, M.; Padberg, F.; Tichy, W.: Ist XP etwas für mich? Empirische Studien zur Einschätzung von XP. In: GI-Fachtagung Software Engineering (2005), S. 217–228.
Müller, M.; Tichy, W.: Case Study: Extreme Programming in a University Environment. In: International Conference on Software Engineering ICSE 23 (2001), S. 537–544.
Ohno, T.: Das Toyota-Produktionssystem. Campus, 1993.
Palmer, S.; Felsing, J.: A Practical Guide to the Feature-Driven Development. Prentice Hall, 2002.
Padberg, F.; Müller, M.: Analyzing the Cost and Benefit of Pair Programming. In: International Software Metrics Symposium METRICS 9 (2003), S. 166–177.
Padberg, F.; Müller, M.: An Empirical Study about the Feelgood Factor in Pair Programming. In: International Software Metrics Symposium METRICS 10 (2004), S. 151–158.
Poppendieck, M.; Poppendieck, T.: Lean Software Development. Addison-Wesley, 2003.
Poppendieck, M.: Lean Software Development. In: C++ Magazine (Fall 2003), http://www.poppendieck.com/pdfs/Lean_Software_Development.pdf, Abruf am 2007-03-15.
Reifer, D.; Maurer, F.; Erdogmus, H.: Scaling Agile Methods. In: IEEE Software (July 2003), S. 12–14.
Royce, W.: Managing the Development of Large Software Systems. In: IEEE WESCON (1970), S. 1–9.
Schwaber, K.; Beedle, M.: Agile Software Development with Scrum. Prentice Hall, 2001.
Sharp, H.; Robinson, H.: An Ethnographic Study of XP Practices. In: Journal of Empirical Software Engineering 9 (2004), S. 353–375.
Sfetsos, P.; Stamelos, I.; Angelis, L.; Deligiannis, I. S.: Investigating the Impact of Personality Types on Communication and Collaboration-Viability in Pair Programming. In: XP/Agile 7 (2006), S. 43–52.
Standish Group: The CHAOS Report. The Standish Group, 2004.
Sterlicchi, J.: Kontinuierliche Zusammenarbeit mit den Kunden. In: SAP Info (Juli 2006), http://www.sap.info/index.php4?ACTION=noframe&url=http://www.sap.info/public/DE/de/index/Category-12613c61affe7a5bc-de/7, Abruf am 2007-03-15.
Williams, L.; Kessler, R.; Cunningham, W.; Jeffries, R.: Strengthening the Case for Pair-Programming. In: IEEE Software (July/August 2000), S. 19–25.
Womack, J. P.; Jones, D. T.: Lean Thinking. Free Press, 2003.
Womack, J. P.; Jones, D. T.; Roos, D.: The Machine That Changed the World. Perennial, 1991.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Padberg, F., Tichy, W. Schlanke Produktionsweisen in der modernen Softwareentwicklung. Wirtsch. Inform. 49, 162–170 (2007). https://doi.org/10.1007/s11576-007-0046-1
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11576-007-0046-1