[SE] Agile Software Development

강승구·2023년 4월 6일
0

Background of the appearance of Agile development

Rapid development and delivery is now often the most important requirement for software systems.
Bussiness operate in a fast-changing requirement and it is practically impossible to produce a set of stable software requirements.

Software has to evolve quickly to reflect changing bussiness needs.

Plan-driven development is essential for some types of system but it does not meet these bussiness needs.

Agile development methods emerged in the late 1990s whose aim was to radically reduce the delivery time for working software systems.


Plan-driven and agile development

Plan-driven development

Plan-driven approach to software engineering is based around separate development stages with the outputs to be produced at each of these stages planned in advance.

Agile development

In agile development, specification, design implementation and testing are inter-leaved and the outputs from the development process are decided through a process of negotiation during the software development process.

Also the system is developed as a series of versions or increments with stakeholders involved in version specification and evaluation.


Agile methods

Agile manifesto

  • Individuals and interactions over process and tools.
  • Working software over comprehensive documentation.
  • Customer collaboration over contract negotiation.
  • Responding to change over following a plan.

Agile development techniques

Extreme programming (XP)

Extreme programming is a very influential agile method, developed in the late 1990s, that introduced a range of agile development techniques.

Extreme programming takes an 'extreme' approach to iterative development.

  • New versions may be built several times per day.
  • Increments are delivered to customers every 2 weeks.
  • All tests must be run for every build and the build is only accepted if tests run successfully.

XP release cycle

Scrum

profile
강승구

1개의 댓글

comment-user-thumbnail
2023년 12월 22일

Thanks for providing a comprehensive overview of Agile Software Development, kang9366! 🚀

Your breakdown of the background and the shift from plan-driven to agile development encapsulates the dynamic landscape of the software industry. The need for rapid development in the face of ever-changing business requirements is indeed a driving force behind the emergence of Agile methods.

For those interested in delving deeper into Agile methodologies, I came across an informative article that explores the Agile Development Cycle. It aligns well with the principles you've outlined and could offer readers a broader perspective on Agile in the software development realm.

Thanks again for sharing, and looking forward to more insightful content!

답글 달기