Abstract
While most agile methodologies assume that change is inevitable, current approaches have adopted the strategy of defining practices and activities that are general enough to be adapted to many project settings. These methodologies have the ability to address variance and adaptability within the processes, but are unable to adopt different methodologies to meet the evolving needs of projects as they progress through their lifecycles, or change to meet new business or user conditions. For example, a project may begin with a Scrum-based process, but require some XP processes or even heavyweight processes later in the lifecycle. Agile methodologies should be able to react to these changes with appropriate practices and processes that fit project needs at any point in time. In this paper, we describe a methodology generator, a tool that can create hybrid approaches to software development spanning from the most simple to the agile to the heavyweight, depending on project needs. A rule based system is combined with an experience-based feedback mechanism to define the conditions under which a given methodology, process, or activity is applicable to project needs. Deviations from the defined process are freely allowed, but the deviations are captured by the tool so it can be analyzed for process improvements that can help software development organizations become more adaptive to changes in business and technology conditions.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Beck, K., “Embracing Change with Extreme Programming,” IEEE Computer, 32(10), pp. 70–77, 1999.
Beck, K., Extreme Programming Explained. Boston: Addison-Wesley, 2000.
Beck, K., al., e., “Manifesto for Agile Software Development,” 2001, http://agilemanifesto.org/,accessed4/1/02.
Boehm, B., “Anchoring the Software Process,” IEEE Software, 13(4), pp. 73–82, 1996.
Boehm, B., “Get Ready for Agile Methods, With Care,” Computer, 35(1), pp. 64–69, 2002.
Boehm, B. W., “A Spiral Model of Software Development and Enhancement,” Computer, 21(5), pp. 61–72, 1988.
Braiterman, J., Verhage, S., Choo, R., “Business: Designing With Users in Internet Time,” interactions, 7(5), pp. 23–27, 2000.
Cockburn, A., “Selecting A Project’s Methodology,” IEEE Software, 14(4), pp. 64–71, 2000.
Curtis, B., Krasner, H., Iscoe, N., “A Field Study of the Software Design Process for Large Systems,” Communications of the ACM, 31(11), pp. 1268–1287, 1988.
Dybå, T., “Improvisation in Small Software Organizations,” IEEE Software, 17(5), pp. 82–87, 2000.
Fischer, G., Ostwald, J., “Knowledge Management: Problems, Promises, Realities, and Challenges,” IEEE Intelligent Systems, 16(1), pp. 60–72, 2001.
Gamma, E., Helm, R., Johnson, R., and Vlissides, J., Design Patterns: Elements of Reusable Object-Oriented Software. Reading, MA: Addison-Wesley, 1995.
Gould, J. D., Lewis, C. H., “Designing for Usability-Key Principles and What Designers Think,” Communications of the ACM, 28, pp. 300–311, 1985.
Henninger, S., “Case-Based Knowledge Management Tools for Software Development,” Journal of Automated Software Engineering, 4(3), pp. 319–340, 1997.
Henninger, S., “Turning Development Standards Into Repositories of Experiences,” Software Process Improvement and Practice, 6(3), pp. 141–155, 2001.
Highsmith, J. A., Adaptive Software Development: A Collaborative Approach to Managing Complex Systems. New York: Dorset House, 2000.
Highsmith, J. A., Cockburn, A., “Agile Software Development: The Business of Innovation,” IEEE Computer, 34(9), pp. 120–122, 2001.
March, J. G., “Exploration and Exploitation in Organizational Learning,” Organizational Science, 2(1), pp. 71–87, 1991.
Maurer, F., Dellen, B., Bendeck, F., Goldmann, S., Holz, H., Kotting, B., and Schaaf, M., “Merging Project Planning and Web-Enabled Dynamic Workflow Technologies,” IEEE Internet Computing, May-June, pp. 65–74, 2000.
McConnell, S., “Raising Your Software Consciousness,” IEEE Software, 18(6), pp. 7–9, 2001.
Nonaka, I., Takeychi, H., The Knowledge-Creating Company: How Japanese Companies Create the Dynamics of Innovation. New York: Oxford Univ. Press, 1995.
Paulk, M. C., “Extreme Programming From a CMM Perspective,” IEEE Software, 18(6), pp. 19–26, 2001.
Rising, L., Janoff, N. S., “The Scrum Software Development Process for Small Teams,” IEEE Software, 17(4), pp. 26–32, 2000.
Schwaber, K., “SCRUM Development Process,” OOPSLA’95 Workshop on Business Object Design and Implementation, 1995.
Schwaber, K., Beedle, M., Agile Software Development with Scrum: Prentice Hall, 2001.
Sliwa, C., “XP, Scrum Join Forces,” Computerworld, 2002, http://www.computerworld.com/itresources/rcstory/0,4167,KEY11_STO69183,00.html.
Stapleton, J., Dynamic Systems Development Method: The method in practice. Harlow, Essex: Addison Wesley Longman Ltd, 1997.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Henninger, S., Ivaturi, A., Nuli, K., Thirunavukkaras, A. (2002). Supporting Adaptable Methodologies to Meet Evolving Project Needs. In: Wells, D., Williams, L. (eds) Extreme Programming and Agile Methods — XP/Agile Universe 2002. XP/Agile Universe 2002. Lecture Notes in Computer Science, vol 2418. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45672-4_4
Download citation
DOI: https://doi.org/10.1007/3-540-45672-4_4
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-44024-6
Online ISBN: 978-3-540-45672-8
eBook Packages: Springer Book Archive