Skip to main content

Flexible Working Architectures: Agile Architecting Using PPCs

  • Conference paper
Software Architecture (ECSA 2010)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6285))

Included in the following conference series:

Abstract

Software systems need software architectures to improve their scalability and maintenance. However, many agile practitioners claim that the upfront design of software architectures is an investment that does not pay off, since customers can rarely appreciate the value delivered by architectures. Furthermore, conventional architectural practices may be considered unacceptable from the Agile values and principles perspective. In this paper, the development of working architectures in agile iterations is presented as an attempt to solve the problem of designing software architectures in Agile. This contribution is based on the new concept of Plastic Partial Component (PPC). PPCs are highly malleable components that can be partially described, what increases the flexibility of architecture design. PPCs based architectures let reinforce some of the agile values and principles. Our experience of putting this contribution into practice is illustrated through the agile development of a Testing Framework for Biogas Plants.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Perry, D.E., Wolf, A.L.: Foundations for the study of software architecture. SIGSOFT Softw. Eng. Notes 17(4), 40–52 (1992)

    Article  Google Scholar 

  2. Garlan, D.: Software architecture. In: Wiley Encyclopedia of Computer Science and Engineering (2001)

    Google Scholar 

  3. Beck, K., et al.: The Agile Manifesto (2001), http://www.agilemanifesto.org (accessed July 2010)

  4. Bowers, J., May, J., Melander, E., Baarman, M., Ayoob, A.: Tailoring xp for large system mission critical software development. In: Proceedings of the Second XP Universe and First Agile Universe Conference on Extreme Programming and Agile Methods - XP/Agile Universe 2002, London, UK, pp. 100–111. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  5. Dybå, T., Dingsøyr, T.: Empirical studies of agile software development: A systematic review. Inf. Softw. Technol. 50(9-10), 833–859 (2008)

    Article  Google Scholar 

  6. Babar, M.A., Abrahamsson, P.: Architecture-centric methods and agile approaches. In: Agile Processes in Software Engineering and Extreme Programming (XP 2008), pp. 242–243 (2008)

    Google Scholar 

  7. Cockburn, A.: Agile Software Development. The Cooperative Game, 2nd edn. Addison-Wesley Professional, Reading (2006)

    Google Scholar 

  8. Kruchten, P.: On software architecture, agile development, value & cost. Keynote SATURN, Pittsburgh, Pennsylvania, USA (2008), http://www.sei.cmu.edu/architecture/saturn/2008/keynotes.html

  9. Boehm, B., Turner, R.: Balancing Agility and Discipline: A Guide for the Perplexed. Addison-Wesley, Reading (2004)

    Google Scholar 

  10. McMahon, P.: Extending agile methods: A distributed project and organizational improvement perspective. CrossTalk: The J. Defense Software Eng. 18(5), 16–19 (2005)

    Google Scholar 

  11. Babar, M.A., Ihme, T., Pikkarainen, M.: An industrial case of exploiting product line architectures in agile software development. In: Software Product Lines Conference, SPLC (2009)

    Google Scholar 

  12. Pérez, J., Díaz, J., Costa-Soria, C., Garbajosa, J.: Plastic partial components: A solution to support variability in architectural components. In: WICSA 2009: Joint Working IEEE/IFIP Conference on Software Architecture and European Conference on Software Architecture, ECSA (2009)

    Google Scholar 

  13. Pohl, K., Böckle, G., Linden, F.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, Germany (2005)

    Book  MATH  Google Scholar 

  14. Shore, J., Warden, S.: The Art of Agile Development. O’Reilly Media, Inc., Sebastopol (2007)

    Google Scholar 

  15. Vilki, K.: Juggling with the paradoxes of agile transformation. Flexi Newsletter 2(1), 3–5 (2008)

    Google Scholar 

  16. Beck, K., Andres, C.: Extreme Programming Explained: Embrace Change, 2nd edn. Addison-Wesley Professional, Reading (November 2004)

    Google Scholar 

  17. Poppendieck, M., Poppendieck, T.: Implementing Lean Software Development: From Concept to Cash. Addison-Wesley Professional, Reading (2006)

    Google Scholar 

  18. Schwaber, K., Beedle, M.: Agile Software Development with Scrum. Prentice-Hall, Englewood Cliffs (2002)

    MATH  Google Scholar 

  19. Assmann, U.: Invasive Software Composition. Springer, New York (2003)

    Book  MATH  Google Scholar 

  20. Bachmann, F., Bass, L.: Managing variability in software architectures, pp. 126–132. ACM Press, New York (2001)

    Google Scholar 

  21. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An overview of aspectj, pp. 327–353. Springer, Heidelberg (2001)

    MATH  Google Scholar 

  22. Beydeda, S., Book, M., Gruhn, V.: Model-Driven Software Development. Springer, Heidelberg (2005)

    Book  MATH  Google Scholar 

  23. Schmidt, D.C.: Guest editor’s introduction: Model-driven engineering. In: Model-Driven Engineering (2006)

    Google Scholar 

  24. Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework 2.0. Addison-Wesley Professional, Reading (2009)

    Google Scholar 

  25. Ambler, S.W.: Agile architecture: Strategies for scaling agile development, http://www.agilemodeling.com/essays/agileArchitecture.htm (accessed July 2010)

  26. Kruchten, P.: Software architecture and agile software development an oxymoron? Keynote Software Architecture Challenges in the 21st Century, USC (June 8, 2009)

    Google Scholar 

  27. Erdogmus, H.: Architecture meets agility. IEEE Software 26(5), 2–4 (2009)

    Article  Google Scholar 

  28. Madison, J.: Agile architecture interactions. IEEE Software PP(99), 41–48 (2010)

    Article  Google Scholar 

  29. Kornstadt, A., Sauer, J.: Tackling offshore communication challenges with agile architecture-centric development. In: WICSA 2007: Proceedings of the Sixth Working IEEE/IFIP Conference on Software Architecture, Washington, DC, USA, p. 28. IEEE Computer Society, Los Alamitos (2007)

    Chapter  Google Scholar 

  30. Andrade, L.F., Fiadeiro, J.L.: Architecture based evolution of software systems. In: Bernardo, M., Inverardi, P. (eds.) SFM 2003. LNCS, vol. 2804, pp. 148–181. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  31. Fowler, M., et al.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, Reading (1999)

    MATH  Google Scholar 

  32. Magro, B., Garbajosa, J., Perez, J.: A software product line definition for validation environments. In: Software Product Lines Conference (SPLC), pp. 45–54 (2008)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Pérez, J., Díaz, J., Garbajosa, J., Alarcón, P.P. (2010). Flexible Working Architectures: Agile Architecting Using PPCs. In: Babar, M.A., Gorton, I. (eds) Software Architecture. ECSA 2010. Lecture Notes in Computer Science, vol 6285. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-15114-9_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-15114-9_10

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-15113-2

  • Online ISBN: 978-3-642-15114-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics