Abstract
The adoption of agility at a large scale often requires the integration of agile and non-agile development elements for architecting a hybrid adaptive methodology. The challenge is ”which elements or components (agile or non-agile) are relevant to develop the context-aware hybrid adaptive methodology reference architecture?” This paper addresses this important challenge and develops a hybrid adaptive methodology reference architecture model using a qualitative constructive empirical research approach. In this way, we have uncovered the agility, abstraction, business value, business policy, rules, legal, context and facility elements or components that have not been explicitly modelled or discussed in International Standards (IS) such as the ISO/IEC 24744 metamodel. It is anticipated that a context-aware hybrid adaptive methodology can be architected by using the proposed context-aware hybrid adaptive methodology reference architecture elements for a particular situation when using a situational method engineering approach.
Similar content being viewed by others
Notes
Abstraction element may be named as ‘mindset’.
References
AgileManifesto (2001) Manifesto for Agile Software Development, .http://www.agilemanifesto.org/. 2001, Accessed 14 March 2005.
Asan, E., & Bilgen, S. (2013). Agility problems in traditional systems engineering - a case study. Complex Systems Design & Management., 2013, 53–71.
Beck, K., & Andres, C. (2004). Extreme programming explained: Change. Boston: Addison-Wesley.
Berzins, V., Gray, M., & Naumann, D. (1986). Abstraction-based software development. Communications of the ACM, 29(5), 402–415.
Beznosov, K., and Kruchten., P (2004) Towards agile security assurance, In Proceedings of the 2004 Workshop on New Security Paradigms (Nova Scotia, Canada, September 20–23, 2004). NSPW ‘04, ACM, New York, NY, pp. 47–54.
Boehm, B. W. (1988). A spiral model of software development and enhancement, Computer. IEEE JNL, 21(5), 61–72.
Boehm, B., & Turner, R. (2003). Observations on balancing discipline and agility, proceedings of the agile development conference. Salt Lake City, UT, USA: IEEE Computer Society.
Boehm, B., & Turner, R. (2004). Balancing agility and discipline: A guide for the perplexed. Boston: Pearson Education, Inc..
Brinkkemper, S. (1996). Method engineering: engineering of information systems development methods and tools, Inf. Software Technol., 38(4), 275–280.
Brinkkemper, S., Saeki, M., & Harmsen, F. (1998). Assembly techniques for method engineering, advanced information systems engineering, 10th international conference, CAiSE’98 (pp. 381–400). Italy: Pisa.
Bucher, T. Klesse, M (2006) Contextual Method Engineering. University of St. Gallen (HSG). Report No.: BE HSG/EIW/03
Chapman, J.R (1997) Software Development Methodology, http://www.hyperthot.com/pm_sdm.htm.
Chance, K. (2011). User stories in practice: A distributed cognition perspective. MCIS Thesis: Auckland University of Technology.
Conboy, K. (2009). Agility from first principles: reconstructing the concept of agility in information systems development. Information Systems Research, 20(3), 329–354.
Conboy, K and Fitzgerald, B (2010) Method and developer characteristics for effective agile method tailoring: a study of expert opinion, ACM Transactions on Software Engineering Methodology (TOSEM), Vol. 20, No 1.
Cockburn, A. (2002). Agile software development. Boston: Addison-Wesley.
Cockburn, A (2003). People and Methodologies in Software Development, PhD. Thesis, University of Oslo, http://alistair.cockburn.us/index.php/People_and_methodologies_in_software_development.
Cockburn, A. (2005). Crystal Clear: A Human-Powered Methodology for Small Teams. Addison-Wesley.
Cockburn, A. (2006). Agile software development: The cooperative game. Addison-Wesley.
Conboy, K., & Fitzgerald, B. (2004). Toward a conceptual framework of agile methods: A study of agility in different disciplines, proceedings of the 2004 ACM workshop on interdisciplinary software engineering research (pp. 37–44). NY, USA, Newport Beach, CA, USA: ACM Press New York.
Cohn, M., & Ford, D. (2003). Introducing an agile process to an organisation. Computer, 36(6), 74–78.
Elssamadisy, A (2007) Patterns of Agile Practice Adoption, InfoQ, Lulu.com (publisher), 2007, pages 184.
Feiler, P and Humphrey, W.S (1993) Software process development and enactment, International Conference on the Software Process Improvement, Berlin, Germany, 1993, pp. 28–40.
Feuerlicht, G. (2006). System development life-cycle support for service-oriented applications, new trend in software methodologies, tools and techniques (SoMeT2006) (pp. 116–126). Quebec, Canada: IOS Press.
Fitzgerald, B., Hartnett, G., & Conboy, K. (2006). Customising agile methods to software practices at Intel Shannon. European Journal of Information Systems, 15(2), 200–213.
FOI ACT (1982) Commonwealth Consolidated Acts: http://www.austlii.edu.au/au/legis/cth/consol_act/foia1982222/
Fowler, M (2003) The New Methodology, http://www.martinfowler.com/articles/newMethodology.html.
Gains, M., & Hawkins, T. (2007). Keeping the peace: mixing agile and waterfall methods. Cutter IT Journal, pp., 25–29.
Harrison, R. (2011) TOGAF foundation. The Open Group.
Harmsen, A. F. (1997). Situational method engineering. Doctoral dissertation.University of Twente.
Harmsen, F., I. Lubbers, G. Wijers. (1995) Success-driven Selection of Fragments for Situational Methods: The S3 model. In: Pohl, K., and P. Peters (Eds.), Proceedings of the Second International Workshop on Requirements Engineering: Foundations of Software Quality (REFSQ’95), Aachener Beiträge zur Informatik, Band 13, pp. 104–115, Aachen, 1995.
Henderson-Sellers, B. (2003). Method engineering for OO systems development. Communications of the ACM, 46(10), 73–78.
Henderson-Sellers, B., & Serour, M. K. (2005). Creating a dual-agility method: the value of method engineering. Journal of Database Management, 16.4(2005), 1.
Henderson-Sellers, B., & Gonzalez-Perez, C. (2006). "on the ease of extending a powertype-based methodology metamodel." meta-modelling and ontologies. WoMM, 2006(2006), 11–25.
Henderson-Sellers, B., & Ralyté, J. (2010). Situational Method Engineering: State-of-the-Art Review. J. UCS, 16(3), 424–478. submitted 31.3.09 revised version submitted 12.3.10
Henderson-Sellers, B., Ralyté, J., & Rossi, M. (2014). Situational method engineering. Springer.
Gill, A. Q. (2014). Hybrid adaptive software development capability: an empirical study. Journal of Software, 9(10), 2614–2621.
Glaser, B. G. (1998). Doing grounded theory: Issues and discussions. Mill Valley, CA: Sociology Press.
Highsmith, J. A. I. (2000). Adaptive software development: A collaborative approach to managing complex systems. New York: Dorset House Publishing.
Hevner, A. R., March, S. T., Park, J., & Ram, S. (2004). Design science in information systems research. MIS Quarterly, 28(1), 75–105.
ISO/IEC (2007) Software Engineering - Metamodel for Development Methodologies (SEMDM). ISO/IEC Standard 24744.: 2007, ISO, Geneva
ISO/IEC (2014) Software Engineering - Metamodel for Development Methodologies (SEMDM). ISO/IEC Standard 24744.: 2014, ISO, Geneva
ISO/IEC/IEEE 42010 (2011) Systems and software engineering — Architecture description. http://www.iso-architecture.org/ieee-1471/faq.html#wharch.
IIBA (2009) A guide to the business analysis body of knowledge, BABOK Version 2.0.
Iivari, J., Hirschheim, R., & Klein, H. K. (2000). A dynamic framework for classifying informaion system development metdholodologies and approaches. JMIS, 2000, 17(3), 179–218.
Järvinen, P. (2001). On research methods. Tampere: Juvenes-Print.
Janssen, M., van der Voort, H., and van Veenstra, A.F. (2015) Failure of large transformation projects from the viewpoint of complex adaptive systems: management principles for dealing with project dynamics. Information Systems Frontiers, Volume 17, Issue 1, pp 15–29
Kasanen, E., Lukka, K., & Siitonen, A. (1993). The constructive approach in management accounting research. Journal of Management Accounting Research, 243–264.
Kenens, P., Michels, S., Matthijs, F., Robben, B., Truyen, E., Vanhaute, B., Wouter, J., & Verbaeten, P. (1998). An AOP case with static and dynamic aspects, European conference on object-oriented programming (ECOOP’1998). Belgium: Brussels.
Kimball, R., Ross, M (2002) The Data Warehouse Toolkit: The Complete Guide to Dimensional Modeling, 2nd Edition, Wiley.
Knolmayer, G., Endl, R., & Pfahrer, M. (2000). Modelling processes and workflows by business rules. Business Process Management, LNCS, 1806, 16–29.
Kornyshova, E., Rébecca Deneckère, R., and Claudepierre, B (2011) Towards Method Component Contextualization. International Journal of Information System Modeling and Design (IJISMD) 2, 4 (2011) 49–81″
Kumar, K., & Welke, R. J. (1992). Methodology engineering: A proposal for situation-specific methodology construction, in Challenges and Strategies for Research in Systems Development, J (pp. 257–269). Chichester: Wiley.
Laanti, M. (2008). Implementing program model with agile principles in a large software development organisation (pp. 1383–1391). Turku, Finland: IEEE COMPSAC.
Laanti, M. (2013). Agile Methods in Large-Scale Software Development Organizations. Applicability and model for adoption. Diss. Dissertation. University of Oulu, 2013.
Lee, S. and Young, H (2013) Agile Software Development Framework in a Small Project Environment, J Inf Process Syst, Vol.9, No.1.
Leite, J. C., & Leonardi, M. C. (1998). Business rules as organisational policies, proceedings of the 9th international workshop on software specification and design. IEEE Computer Society, Washington, DC, 1998, 68.
Leonardi, M.C. and Leite, J.C (2002) Using business rules in extreme requirements, 14th international conference, CAiSE,Toronto, Canada, 2002, pp.420–435.
Mahanti, A (2006) Challenges in Enterprise adoption of agile methods – a survey, Journal of Computing and Information Technology - CIT , pp. 197–206.
Maharmeh, M. and Unhelkar, B (2008) Investigation into the creation and application of a composite application software development process framework (CASDPF), fifth international conference on Information technology: New generations, ITNG, IEEE, pp.1286.
March, S. T., & Smith, G. F. (1995). Design and natural science research on information technology. Decision Support Systems, 15(4), 251–266.
Miller, J. G. (1995). Living systems. University Press of Colorado.
Nasir, M. H., Ahmad, R., & Hassan, N. H. (2008). Resistance factors in the implementation of software process improvement project in Malaysia. Journal of Computer Science, 4(3), 211–219.
Odell, J. (2002). Objects and agents compared. Journal of Object Technology, 1(1), 41–53.
Ojala, L., & Hilmola, O. P. (2003). Case study research in logistics’. Turku School of Economics and Business Administration, Series B/, 1.
Orriens, B., & Yang, J. (2006). A rule driven approach for developing adaptive service oriented business collaboration. IEEE International Conference on Service Computing, Chicago, USA, 2006, 182–189.
Osterle, H., Becker, J., Frank, U., Hess, T., Karagiannis, D., Krcmar, H., Loos, P., Mertens, P., Oberweis, A., and Sinz, E.J (2010) Memorandum on design-oriented information systems research. European Journal of Information Systems, 20(1), pp. 7–10.
Palmer, S. R., & Felsing, J. M. (2002). A practical guide to feature-driven development. Upper Saddle River: Prentice-Hall Inc.
Peffers, K., Tuunanen, T., Gengler, C. E., Rossi, M., Hiu, W., Virtanen, V., & Bragge, J. (2006). The design science research process: A model for producing and presenting information systems research. Claremont, CA, USA: DESRIST.
Qumer, A., & Henderson-Sellers, B. (2008a). An evaluation of the degree of agility in six agile methods and its applicability for method engineering. Information and Software Technology, 50(4), 280–295.
Qumer, A., & Henderson-Sellers, B. (2008b). A framework to support the evaluation, adoption and improvement of agile methods in practice. Journal of Systems and Software, 81(11), 1899–1919.
Qumer, A., & Henderson-Sellers, B. (2009). Agile software solution framework: An analysis of practitioners’ perspectives. In Information Systems: Modeling, Development, and Integration (pp. 41–52). Springer Berlin Heidelberg.
Qumer, A., & Henderson-Sellers, B. (2010). Framework as software service (fass) an agile e-toolkit to support agile method tailoring. Athens, Greece: CSOFT.
Racheva, Z., and Daneva, M., and Sikkel, K (2009) Value creation by agile projects: methodology or mystery? PROFES, pp. 141–155.
Ralyté, J. (1999). Reusing scenario based approaches in requirement engineering methods: CREWS method base, proceedings of the 10th international workshop on database and expert systems applications (DEXA’99) (pp. 305–309). Italy, IEEE Computer Society, Los Alamitos, CA, USA: Florence.
Randell, B., & Zurcher, F. W. (1968). Iterative multi-level modelling: A methodology for computer system design (pp. 867–871). IFIP: IEEE CS Press.
Reifer, D. (2002). How good are agile methods? IEEE Software, 19, 16.
Reis, C. A. L., Reis, R. Q., Schlebbe, H., & Nunes, D. J. (2002). Resource instantiation policies for software process environments, 26th annual international computer software and applications conference (pp. 53–58). Oxford: England.
Rolland, C., Prakash, N (1996) A Proposal for Context-Specific Method Engineering, in: Brinkkemper, S., Lytinnen, K., Welke, R.J. (Hrsg.), Method Engineering, Principles of Method Construction and Tool Support, Proceedings of the IFIP TC8, WG8.1/8.2 Working Conference on Method Engineering, Springer, Berlin pp. 191–207.
Royce, W.W (1970) Managing the Development of Large Software Systems: Concepts and Techniques. In WESCON Technical Papers, Western Electronic Show and Convention, Los Angeles, Aug. 25–28, number 14. Reprinted in proceedings of the ninth international conference on software engineering, Pittsburgh, ACM Press, PA, USA, 1989, pp. 328–338.
Rodríguez, P., Markkula, J., Oivo, M., & Turula, K. (2012). Survey on agile and lean usage in finnish software industry. In Proceedings of the ACM-IEEE international symposium on Empirical software engineering and measurement (pp. 139–148). ACM.
Schwaber, K. (2007). The Enterprise and scrum. Washington: Microsoft Press.
Smith, G., & Sidky, A. (2009). Becoming agile in an imperfect world. Manning: Publications.
Sommer, A.F., Dukovska-Popovska, I., Steger-Jensen, K. (2014). Agile Product Development Governance – On Governing the Emerging Scrum/Stage-Gate Hybrids. 2014. IFIP Advances in Information and Communication Technology pp 184–191.
Stapleton, J. (1997) ‘DSDM: The method in practice’, Addison-Wesley, Inc
Theodorakis, M., Analyti, A., Constantopoulos, P., & Spyratos, N (1999) Contextualization as an Abstraction Mechanism for Conceptual Modelling, International conference on conceptual modeling, Paris, France, Springer Berlin / Heidelberg, vol. 1728.
Tolfo, C., & Wazlawick, R. S. (2008). The influence of organisational culture on the adoption of extreme programming. Journal of Systems and Software, 81(11), 1955–1967.
Tyndale-Biscoe, S., Sims, O., Wood, B., & Sluman, C. (2002). Business modelling for component systems with UML, in proceedings of the sixth international enterprise distributed object computing conference. Washington, USA: IEEE Computer Society.
Vähäniitty, J., & Rautiainen, K. T. (2008). Towards a conceptual framework and tool support for linking long-term product and business planning with agile software development. In Proceedings of the 1st international workshop on software development governance (pp. 25–28). Leipzig: Germany.
Vijayasarathy, L.R., and Turk, D (2008) Agile software development: a survey of early adopters. Journal of Information Technology Management Volume XIX, Number 2.
Wallin, C., Ekdahl, F., & Larsson, S. (2002). Integrating business and software development models. IEEE Software, 19(6), 28–33.
Wong, S. P., & Whitman, L. (1999). Attaining agility at the Enterprise level, proceedings of the 4th annual international conference on industrial engineering theory. San Antonio, Texas, USA: Applications and Practice.
Yin, R. K. (2003). Case study research: Design and methods. Thousand Oaks, CA, USA: SAGE Publications.
Author information
Authors and Affiliations
Corresponding author
Appendices
Appendix 1: Hybrid agile product-enhancement process model (Qumer and Henderson-Sellers 2008b)
The hybrid agile product-enhancement process has two main parts: feature generation and product development. The feature generation focuses on the identification of new features for enhancing the product. The product development focuses on incremental product architecture, design, coding, testing, integration and release. This combines both the agile and traditional approaches.
The hybrid agile product-enhancement process was tailored in a workshop conducted in industry in a case study organisation. The following figure is from the process tailoring workshop screenshot.
Appendix 2: Agile service oriented process model (Qumer and Henderson-Sellers 2008b)
The agile service-oriented process has three main parts: project initialization, project preparation and project execution. The project initialization focuses on the identification of services for the project in hand. The project preparation focuses developing the service backlog and architecture. The project execution focuses on iterative planning, design, coding, testing and release of services. This is a case of abstraction-specific (service oriented) process that combines both the agile and service oriented approaches.
The agile service oriented process, similar to the first process, was tailored in a workshop conducted in industry in a case study organisation. The following figure is from the process tailoring workshop screenshot.
Appendix 3: Agile values, principles and levels
The following tables show the mapping of agile values, principles and corresponding agile levels that form the agile adoption and improvement model.
Agile Principles | Agile Values |
---|---|
•Early and Continuous Delivery •Welcome Change •Frequently Delivery •Motivate Individuals •Collaborative Work •Face to Face Conversation •Working Software •Simplicity •Self-Organizing Team | Customer collaboration over contract negotiation Responding to change over following a plan Individuals and interactions over processes and tools Working software over comprehensive documentation Keeping the process cost effective |
•Reflection and Tuning | Keeping the process agile |
•Sustainable Development •Enhance Agility | Keeping the process agile Keeping the process cost effective |
ᅟ
Agile Levels | Name | Encourage & Focus | Agile Principles |
---|---|---|---|
Level 1 | Agile Infancy | Evolutionary | Early and Continuous Delivery Welcome Change Frequently Delivery Motivate Individuals |
Level 2 | Agile Initial | Collaborative | Collaborative Work Face to Face Conversation |
Level 3 | Agile Realization | Simple Results Focused | Working Software Simplicity |
Level 4 | Agile Value | People Focused | Self Organizing Team |
Level 5 | Agile Smart | Knowledge Focused | Reflection and Tuning |
Level 6 | Agile Progress | Lean Agile | Sustainable Development Enhance Agility |
Appendix 4: Agile values and practices mapping
The following table shows the mapping of agile values and corresponding agile practices distilled from six well-known agile methods.
Agile Values | XP | Scrum | FDD | ASD | DSDM | Crystal |
---|---|---|---|---|---|---|
Individuals and interactions over processes and tools | 1. Sit together 2. Whole team 3. Informative workspace4. Energized work 5. Pair programming | 1. Scrum teams2. Sprint planning meeting3. Daily scrum meeting 4. Collocation | 1. Domain object modelling2. Individual class ownership3. Feature teams4. Inspection | 1. Adaptive management model2. Collaborative teams3. Joint application development by independent agents4. Customer focus group reviews | 1. Active user involvement2. Empowered teams.3. Collaboration and cooperation among stakeholders | 1. Staging.2. Parallelism and Flux. 3. Holistic diversity and strategy3. User viewings. 4. Personal safety 5. Daily stand-ups |
Working software over comprehensive documentation | 1. Ten-Minutes build2. Continuous integration. 3. Test-First programming 4. Incremental design 5. Pair programming | 1. Sprint2. Sprint review | 1. Developing by Feature2. Inspection3. Regular Builds4. Reporting / visibility of results | 1. Developing by components2. Software inspection3. Project postmortem | 1. Frequent product delivery2. Iterative and incremental development3. Integrated testing | 1. Revision and Review2. Side-by-side programming 3. Agile interaction design |
Customer collaboration over contract negotiation | 1. Weekly cycle 2. Quarterly cycle | 1. Product backlog2. Sprint planning meeting | 1. Domain object modelling. | 1. Adaptive management model2. Joint application development | 1. Collaboration and cooperation among stakeholders2. Requirements are baselined at a high level. | 1. Staging2. Revisions and review 3. User viewing 4. Agile interaction design |
Responding to change over following a plan | 1. Stories2. Weekly cycle3. Quarterly cycle4. Slack | 1. Sprint review2. Sprint planning meeting | 1. Domain object modelling2. Configuration Management | 1. Adaptive cycle planning2. Customer focus group reviews | 1. Reversible changes | 1. Reflection Workshops 2. Methodology Tuning 3. Blitz planning 4. Delphi estimation 5. Monitoring of a progress 6. Burn charts |
Keeping the process agile | - | 1. Sprint review2. Daily scrum meeting | 1. Reporting / visibility of results2. Inspection | 1. Software inspection2. Project Postmortem | 1. Integrated testing | 1. Reflection workshops 2. Monitoring of a progress |
Keeping the process cost effective | - | - | - | - | - | 1. Reflection workshops 2. Process miniature 3. Methodology shaping |
Rights and permissions
About this article
Cite this article
Gill, A.Q., Henderson-Sellers, B. & Niazi, M. Scaling for agility: A reference model for hybrid traditional-agile software development methodologies. Inf Syst Front 20, 315–341 (2018). https://doi.org/10.1007/s10796-016-9672-8
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10796-016-9672-8