Structuring Complexity Issues for Efficient Realization of Agile Business Requirements in Distributed Environments
- 1.7k Downloads
Abstract
One of the ideas of agile software development is to respond to changes rather than following a plan. Constantly changing businesses result in changing requirements, to be handled in the development process. Therefore, it is essential that the underlying software architecture is capable of managing agile business processes. However, criticism on agile software development states that it lacks paying attention to architectural and design issues and therefore is bound to engender suboptimal design-decisions. We propose an architectural framework, that by explicitly distinguishing computational, coordinational, organizational, distributional, and communicational models offers a high degree of flexibility regarding architectural and design changes. The framework strength is facilitated by a) combining the characteristics and properties of architectural styles captured in a simple API, and b) offering a predefined architectural structure to the developer of distributed applications to cope with complexities of distributed environments. The benefit of our approach is a clear architectural design with minimal mutual effects of the models with respect to changes, accompanied by an efficient realization of new business requirements.
Keywords
Agile Business Requirements Agile Software DevelopmentPreview
Unable to display preview. Download preview PDF.
References
- 1.Highsmith, J., Cockburn, A.: Agile software development: the business of innovation. Computer 34, 120–127 (2001)CrossRefGoogle Scholar
- 2.Hadar, E., Silberman, G.M.: Agile architecture methodology: long term strategy interleaved with short term tactics. In: OOPSLA Companion 2008: Companion to the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications, pp. 641–652. ACM, New York (2008)CrossRefGoogle Scholar
- 3.Jazayeri, M.: On Architectural Stability and Evolution. In: Blieberger, J., Strohmeier, A. (eds.) Ada-Europe 2002. LNCS, vol. 2361, pp. 13–23. Springer, Heidelberg (2002)CrossRefGoogle Scholar
- 4.Rakitin, S.R.: Manifesto Elicits Cynicism. IEEE Computer 34(4) (2001)Google Scholar
- 5.McBreen, P.: Questioning Extreme Programming. Addison-Wesley Longman Publishing Co., Inc. (2002)Google Scholar
- 6.Stephens, M., Rosenberg, D.: Extreme Programming Refactored: The Case Against XP. Apress, Berkeley (2003)Google Scholar
- 7.Kircher, M., Jain, P.: Pattern-Oriented Software Architecture: Patterns for Resource Management. John Wiley & Sons, Chichester (2004)Google Scholar
- 8.Heineman, G.T., Councill, W.T. (eds.): Component-based software engineering: putting the pieces together. Addison-Wesley Longman Publishing Co., Inc. (2001)Google Scholar
- 9.Taylor, R.N., Medvidovic, N., Dashofy, E.M.: Software Architecture: Foundations. In: Theory, and Practice. Wiley Publishing, Chichester (2009)Google Scholar
- 10.Mordinyi, R., Kühn, E., Schatten, A.: Space-based Architectures as Abstraction Layer for Distributed Business Applications. In: Track on Software Engineering for Distributed Systems at the 4th International Conference on Complex, Intelligent and Software Intensive Systems, CISIS 2010 (2010)Google Scholar
- 11.Nerur, S., Mahapatra, R., Mangalaraj, G.: Challenges of migrating to agile methodologies. Commun. ACM 48, 72–78 (2005)CrossRefGoogle Scholar
- 12.Stapleton, J.: DSDM: Business Focused Development. Pearson Education, London (2003)Google Scholar
- 13.Beck, K., Andres, C.: Extreme Programming Explained: Embrace Change, 2nd edn. Addison-Wesley Professional, Reading (2004)Google Scholar
- 14.Dingsoyr, T., Dyba, T.: What Do We Know about Agile Software Development? Software, IEEE 26, 6–9 (2009)CrossRefGoogle Scholar
- 15.Slyngstad, O.P., Li, J., Conradi, R., Babar, M.A.: Identifying and Understanding Architectural Risks in Software Evolution: An Empirical Study. In: Jedlitschka, A., Salo, O. (eds.) PROFES 2008. LNCS, vol. 5089, pp. 400–414. Springer, Heidelberg (2008)CrossRefGoogle Scholar
- 16.Slyngstad, O., Conradi, R., Babar, M., Clerc, V., van Vliet, H.: Risks and Risk Management in Software Architecture Evolution: An Industrial Survey. In: Software Engineering Conference, APSEC 2008. 15th Asia-Pacific, pp. 101–108 (2008)Google Scholar
- 17.Kühn, E., Mordinyi, R., Keszthelyi, L., Schreiber, C.: Introducing the concept of customizable structured spaces for agent coordination in the production automation domain. In: Proceedings of The 8th International Conference on Autonomous Agents and Multiagent Systems, AAMAS 2009, pp. 625–632 (2009)Google Scholar
- 18.Kühn, E., Mordinyi, R., Keszthelyi, L., Schreiber, C., Bessler, S., Tomic, S.: Aspect-oriented Space Containers for Efficient Publish/Subscribe Scenarios in Intelligent Transportation Systems. In: The 11th International Symposium on Distributed Objects, Middleware, and Applications, DOA 2009 (2009)Google Scholar
- 19.Chappell, D.: Enterprise Service Bus. O’Reilly Media, Inc., Sebastopol (2004)Google Scholar
- 20.Hannay, J.E., MacLeod, C., Singer, J., Langtangen, H.P., Pfahl, D., Wilson, G.: How do scientists develop and use scientific software? In: SECSE 2009: Proceedings of the 2009 ICSE Workshop on Software Engineering for Computational Science and Engineering, pp. 1–8. IEEE Computer Society, Los Alamitos (2009)CrossRefGoogle Scholar