Skip to main content

Flexible Working Architectures: Agile Architecting Using PPCs

  • Conference paper

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

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.

Keywords

  • Software Architecture
  • Biogas Plant
  • Software Product Line
  • Eclipse Modeling Framework
  • Agile Development

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/978-3-642-15114-9_10
  • Chapter length: 16 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
eBook
USD   99.00
Price excludes VAT (USA)
  • ISBN: 978-3-642-15114-9
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
USD   129.00
Price excludes VAT (USA)

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)

    CrossRef  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)

    CrossRef  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)

    CrossRef  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)

    CrossRef  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)

    CrossRef  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)

    CrossRef  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)

    CrossRef  Google Scholar 

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

    CrossRef  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)

    CrossRef  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)

    CrossRef  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)