31269 Lecture Notes - Lecture 11: User Story, Feature-Driven Development, Rational Unified Process
Week 11 Lecture: Agile System Development
Software Engineering
• Software engineering is a systematic, disciplined and quantifiable approach to the
development, operation and maintenance of software.
• It applies engineering principles to the development of software
• Many software processes were introduced to combat the dispute between software
development and software engineering:
o Waterfall
o Incremental
o V-Model
o Spiral Process
o Rational Unified Process (RUP)
• However processes became large, formal and rather complex
• The solution to this was that processes became agile (as they should be lightweight,
and easy to change.
Agile
• Software development methods were based on similar principles:
o Iterative
o Incremental
• The agile framework was introduced in 2001 and named the Agile Manifesto
• The values of the framework are:
o Individuals and Interactions are valued over processes and tools
o Working software is valued more over comprehensive documentation
o Customer collaboration over contract negotiation
o Responding to change over following a plan.
• The Agile process promotes:
o Adaptive planning
o Evolutionary development
o Early Delivery
o Continuous improvement
o Rapid and flexible response to change.
• Some examples of agile methodologies include:
o SCRUM
o Extreme Programming
o Feature Driven Development
o Lean
o Crystal
o Etc.
• Uses Sprints (see earlier lecture 2)
• There are several roles within the scrum framework, including the product owner,
the scrum master and the team.
o Product Owner –
▪ Represents stakeholders and is the voice of the customer,
accountable for ensuring the team delivers value to the business.
find more resources at oneclass.com
find more resources at oneclass.com
Document Summary
Software engineering: software engineering is a systematic, disciplined and quantifiable approach to the development, operation and maintenance of software. It applies engineering principles to the development of software: many software processes were introduced to combat the dispute between software development and software engineering, waterfall. Incremental: v-model, spiral process, rational unified process (rup, however processes became large, formal and rather complex, the solution to this was that processes became agile (as they should be lightweight, and easy to change. Agile: software development methods were based on similar principles: Incremental: the agile framework was introduced in 2001 and named the (cid:862)agile manifesto(cid:863, the values of the framework are: Includes the requirements or features of the project. Is a collection of all potential user stories for the product: prioritised by the product owner, reprioritised at the start of each sprint, estimated work remaining is updated daily.