Skip To Content

Athabasca University

Section 1

Section Goals

  • To describe software process implementation and change.
  • To describe software life cycle models, software life cycle processes, and notations for process definitions.
  • To explain incremental and iterative software processes.
  • To define the key concepts of the agile software development process.

Learning Objectives

Learning Objective 1

  • Describe software life cycle models, software life cycle processes, process adaptation, automation, and the notations used in process definitions.
  • Describe the different process models used in software engineering.

Objective Leading Questions

  • What are software life cycle models? What process models are most commonly used?
  • What alternative models of software evolution are currently used to organize software engineering projects and technologies? Compare these alternative models with traditional process models, and discuss the pros and cons of either option.
  • Describe each of the main standards of software life cycle processes.
  • What notations are used for process definitions?
  • What is the software process engineering metamodel (SPEM), and why was it developed?
  • When and why is automation used in the software development process?

Objective Readings

Required Readings

Chapter 8: "Introduction," "Section 1: Software Process Definition" and "Section 2: Software Life Cycles" of SWEBOK [Bourque and Fairley 2014].

Scacchi, W. (2001), " Process Models in Software Engineering," In Encyclopedia of Software Engineering, Second Edition, J.J. Marciniak, Ed., Wiley, New York, pp. 993-1005.

Supplemental Readings

Object Management Group (2005), "Software Process Engineering Metamodel (Version 1.1) (formal/2005-01-06)". Retrieved November 5, 2007, from https://www.omg.org/spec/SPEM/2.0/

Boehm, B. (1996), "Anchoring the Software Process," IEEE Software 13, 4, 73-82. https://doi.org/10.1109/52.526834

Boehm, B.W. (1988), "A Spiral Model of Software Development and Enhancement," Computer 21, 5, 61-72. https://doi.org/10.1109/2.59

Humphrey, W.S. (2002), "Three Process Perspectives: Organizations, Teams, and People," Annals of Software Engineering 14, 1-4, 39-72. https://doi.org/10.1023/A:1020593305601

Learning Objective 2

  • Describe the types and characteristics of iterative and incremental software development processes.

Objective Leading Questions

  • Define the main characteristics of incremental and iterative development.
  • What are the main advantages of iterative and incremental software development? What are its disadvantages?
  • How would you describe future trends in incremental and iterative software development? What can improve this development process? Are there any alternatives?

Objective Readings

Required Readings

Larman, C. and V.R. Basili (2003), "Iterative and Incremental Development: A Brief History," Computer 36, 6, 47-56. https://doi.org/10.1109/MC.2003.1204375

Supplemental Readings

Rational Software (1998), "Rational Unified Process: Best Practices for Software Development Teams (Rational Software Corporation White Paper No. TP026B, Rev 11/01)," Rational Software, Lexington, MA. Retrieved November 5, 2007, from the IBM developerWorks website: http://www.ibm.com/developerworks/rational/library/253.html

Manzoni, L.V. and R.T. Price (2003), "Identifying Extensions Required by RUP (Rational Unified Process) to Comply with CMM (Capability Maturity Model) Levels 2 and 3," IEEE Transactions on Software Engineering 29, 2, 181-192. https://doi.org/10.1109/TSE.2003.1178058

Learning Objective 3

  • Define agile software development.
  • Describe the main challenges of migrating to agile methodologies.

Objective Leading Questions

  • What is agility? Discuss each of the four main comparative values underlying the agile position.
  • Describe the changes that could occur if agile methodologies are adopted.
  • What are the main challenges in adopting agile methodologies? Choose one, and describe the current approaches used and the potential solutions to these challenges.

Objective Readings

Required Readings

Williams, L. and A. Cockburn (2003a), "Agile Software Development: It's about Feedback and Change," Computer 36, 6, 39-43. https://doi.org/10.1109/MC.2003.1204373

Nerur, S., R. Mahapatra and G. Mangalaraj (2005), "Challenges of Migrating to Agile Methodologies," Communications of the ACM 48, 5, 72-78. https://doi.org/10.1145/1060710.1060712

Supplemental Readings

Lippert, M., P. Becker-Pechau, H. Breitling, J. Koch, A. Kornstadt, S. Roock, A. Schmolitzky, H. Wolf and H. Zullighoven (2003), "Developing Complex Projects using XP with Extensions," Computer 36, 6, 67-73. https://doi.org/10.1109/MC.2003.1204377

Fairley, R.E. and M.J. Willshire (2005), "Iterative Rework: The Good, the Bad and the Ugly," Computer 38, 9, 34-41. https://doi.org/10.1109/MC.2005.303

Fowler, M. (2005, December), "The New Methodology." Retrieved November 5, 2007, from https://www.martinfowler.com/articles/newMethodology.html

Orr, K. (2004), "Agile Requirements: Opportunity or Oxymoron?" IEEE Software 21, 3, 71-73. https://doi.org/10.1109/MS.2004.1293075

Lycett, M., R.D. Macredie, C. Patel and R.J. Paul (2003), "Migrating Agile Methods to Standardized Development Practice," Computer 36, 6, 79-85. https://doi.org/10.1109/MC.2003.1204379

Updated August 28 2023 by FST Course Production Staff