Advertisement

WIRTSCHAFTSINFORMATIK

, Volume 49, Issue 3, pp 162–170 | Cite as

Schlanke Produktionsweisen in der modernen Softwareentwicklung

  • Frank Padberg
  • Walter Tichy
Article

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.

Stichworte

Extreme Programming Agile Methoden Schlanke Produktion Softwareprozessmodelle 

Lean production methods in modern software development

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.

Keywords

Extreme Programming Agile Methods Lean Production Software Process Models 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Literatur

  1. [ABHL06]
    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.CrossRefGoogle Scholar
  2. [AbKo04]
    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.Google Scholar
  3. [Agil01]
    Agile Alliance: Manifesto for Agile Software Development. http://agilemanifesto.org/, 2001, Abruf am 2007-03-15.
  4. [Baud05]
    Baudin, M.: Lean Logistics. The Nuts and Bolts of Delivering Materials and Goods. Productivity Press, 2005.Google Scholar
  5. [Beck98]
    Beck, K.: Why ‘Extreme’? http://c2.com/cgi/wiki?ExtremeProgramming, 1998, Abruf am 2007-03-15.
  6. [Beck99]
    Beck, K.: Embracing Change with Extreme Programming. In: IEEE Computer (October 1999), S. 70–77.Google Scholar
  7. [Beck04]
    Beck, K.: Extreme Programming Explained. 2. Aufl., Addison-Wesley, 2004.Google Scholar
  8. [BoSp99]
    Bowen, H. K.; Spear, S.: Decoding the DNA of the Toyota Production System. In: Harvard Business Review (September/October 1999), S. 96–106.Google Scholar
  9. [BrRB06]
    Bryant, S.; Romero, P.; du Boulay, B.: The Collaborative Nature of Pair Programming. In: XP/Agile 7 (2006), S. 53–64.Google Scholar
  10. [C3Te98]
    C3 Team: Chrysler Goes to ‘Extremes’. In: Distributed Computing 10 (1998), S. 24–28.Google Scholar
  11. [Char01]
    Charette, R.: The Decision is in: Agile versus Heavy Methodologies. In: Cutter Consortium Executive Update 2 (2001) 19, S. 2–3.Google Scholar
  12. [Cock02]
    Cockburn, A.: Agile Software Development. Prentice Hall, 2002.Google Scholar
  13. [Copl94]
    Coplien, J.: Developing in Pairs. In: Pattern Languages of Programming PLOP (1994), S. 183–238.Google Scholar
  14. [ElSc02]
    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.Google Scholar
  15. [Fow100]
    Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, 2000.Google Scholar
  16. [Harv04]
    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.
  17. [HiCo01]
    Highsmith, J.; Cockburn, A.: Agile Software Development. In: IEEE Computer (September 2001), S. 120–122.Google Scholar
  18. [High00]
    Highsmith, J.: Adaptive Software Development. Dorset House, 2000.Google Scholar
  19. [Howe99]
    Howell, G. A.: What Is Lean Construction? In: Annual Conference of the International Group for Lean Construction IGLC 7 (1999), S. 1–10.Google Scholar
  20. [Jeff01]
    Jeffries, R.: What is Extreme Programming? In: XP Magazine (November 2001), http://www.xprogramming.com/xpmag/whatisxp.htm, Abruf am 2007-03-15.
  21. [John02]
    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.
  22. [JoMi06]
    Jones, D.; Mitchell, A.: Lean Thinking for the NHS. National Health Service (NHS) Confederation Report, UK 2006.Google Scholar
  23. [KaAh96]
    Karlsson, C.; Ahlström, P.: The Difficult Path to Lean Product Development. In: Journal of Product Innovation Management 13 (1996), S. 283–295.CrossRefGoogle Scholar
  24. [KePl74]
    Kernighan, B.; Plauger, K.: The Elements of Programming Style. McGraw-Hill, 1974.Google Scholar
  25. [Kraf88]
    Krafcik, J. F.: Triumph of the Lean Production System. In: Sloan Management Review 30 (Fall 1988) 1, S. 41–52.Google Scholar
  26. [KTRB06]
    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.Google Scholar
  27. [LaBa03]
    Larman, C.; Basili, V.: Iterative and Incremental Development: A Brief History. In: IEEE Computer (June 2003), S. 47–56.Google Scholar
  28. [Like04]
    Liker, K. J.: The Toyota Way. McGraw-Hill, 2004.Google Scholar
  29. [MaSc04]
    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.Google Scholar
  30. [McCo96]
    McConnell, S.: Rapid Development. Kap. 3, Microsoft Press, 1996.Google Scholar
  31. [MiDL87]
    Mills, H.; Dyer, M.; Linger, R.: Cleanroom Software Engineering. In: IEEE Software (September 1987), S. 19–25.Google Scholar
  32. [MuAC02]
    Murman, E. M.; Allen, T.; Cutcher-Gershenfeld, J.: Lean Enterprise Value. Insights from MIT’s Lean Aerospace Initiative. Palgrave Macmillan, Juni 2002.Google Scholar
  33. [MüHa02]
    Müller, M.; Hagner, O.: Experiment about Test-first Programming. In: IEE Proceedings Software 149 (2002), S. 131–136.CrossRefGoogle Scholar
  34. [MüPa03]
    Müller, M.; Padberg, F.: On the Economic Evaluation of XP Projects. In: European Software Engineering Conference ESEC 9 (2003), S. 168–177.Google Scholar
  35. [MüPT05]
    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.Google Scholar
  36. [MüTi01]
    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.Google Scholar
  37. [Ohno93]
    Ohno, T.: Das Toyota-Produktionssystem. Campus, 1993.Google Scholar
  38. [PaFe02]
    Palmer, S.; Felsing, J.: A Practical Guide to the Feature-Driven Development. Prentice Hall, 2002.Google Scholar
  39. [PaMü03]
    Padberg, F.; Müller, M.: Analyzing the Cost and Benefit of Pair Programming. In: International Software Metrics Symposium METRICS 9 (2003), S. 166–177.CrossRefGoogle Scholar
  40. [PaMü04]
    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.Google Scholar
  41. [PoPo03]
    Poppendieck, M.; Poppendieck, T.: Lean Software Development. Addison-Wesley, 2003.Google Scholar
  42. [Popp03]
    Poppendieck, M.: Lean Software Development. In: C++ Magazine (Fall 2003), http://www.poppendieck.com/pdfs/Lean_Software_Development.pdf, Abruf am 2007-03-15.
  43. [ReME03]
    Reifer, D.; Maurer, F.; Erdogmus, H.: Scaling Agile Methods. In: IEEE Software (July 2003), S. 12–14.Google Scholar
  44. [Royc70]
    Royce, W.: Managing the Development of Large Software Systems. In: IEEE WESCON (1970), S. 1–9.Google Scholar
  45. [ScBe01]
    Schwaber, K.; Beedle, M.: Agile Software Development with Scrum. Prentice Hall, 2001.Google Scholar
  46. [ShRo04]
    Sharp, H.; Robinson, H.: An Ethnographic Study of XP Practices. In: Journal of Empirical Software Engineering 9 (2004), S. 353–375.CrossRefGoogle Scholar
  47. [SSAD06]
    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.Google Scholar
  48. [Stan04]
    Standish Group: The CHAOS Report. The Standish Group, 2004.Google Scholar
  49. [Ster06]
    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.
  50. [WKCJ00]
    Williams, L.; Kessler, R.; Cunningham, W.; Jeffries, R.: Strengthening the Case for Pair-Programming. In: IEEE Software (July/August 2000), S. 19–25.Google Scholar
  51. [WoJo03]
    Womack, J. P.; Jones, D. T.: Lean Thinking. Free Press, 2003.Google Scholar
  52. [WoJR91]
    Womack, J. P.; Jones, D. T.; Roos, D.: The Machine That Changed the World. Perennial, 1991.Google Scholar

Copyright information

© Vieweg Verlag / Wiesbaden 2007

Authors and Affiliations

  1. 1.Fakultät für InformatikUniversität KarlsruheKarlsruheGermany

Personalised recommendations