Week21LectureAgileDevelopment Cb12c27e Da8a 4ccb 8c1e 6ec23ecdac5d 109054
Week21LectureAgileDevelopment Cb12c27e Da8a 4ccb 8c1e 6ec23ecdac5d 109054
Software Engineering
Week 21
Agendas
● Agile Software Development
● Values of Agile
● Principles of Agile
● Stages of Agile
● It’s really about thinking through how you can understand what’s going
on in the environment that you’re in today, identify what uncertainty
you’re facing, and figure out how you can adapt to that as you go
along.[i.e Amazon ]
Agility and the Cost of Change
Agile Software Development
● Agile is an iterative approach to project management and software development
that helps teams deliver value to their customers faster and with fewer headaches.
● Instead of betting everything on a "big bang" launch, an agile team delivers work in
small, but consumable, increments.
● Requirements, plans, and results are evaluated continuously so teams have a natural
mechanism for responding to change quickly.
Agile Software Development
● The Agile methodology was created by a group of software developers who
wanted a better approach to the traditional development process, which they
found to be too complicated and weighed down by documentation
requirements.
● In a founding document called the Agile Manifesto, the group outlined 4 values
and 12 principles that guide the Agile philosophy
4 Values of Agile
● Individuals and interactions over processes and tools.
● Welcome and harness changes for the customer's competitive advantage, even
late in development.
● Have daily collaboration between business people and developers throughout the
project.
12 Principles of Agile
● Build projects around motivated individuals. Create the environment and support
developers need, and trust them to get the job done.[micro-management ,
self-driven teams ]
● Keep it simple. Simplicity—the art of maximizing the amount of work not done—is
essential.
● Recognize that the best architectures, requirements, and designs emerge from
self-organizing teams.
● Scrum
● Kanban
● Extreme Programming
● Feature Driven Development
Scrum
○ Scrum Events
■ Daily Scrum
■ Sprint Planning Meeting [prioritize ]
■ Sprint Review[feature demo ]
■ Sprint Retrospective
Scrum
○ Scrum Artifacts
■ Product Backlog
■ Sprint Backlog
■ Increment (or Sprint Goal)[working product version]
Scrum Process Flow
Kanban
● Kanban is an agile model designed to help teams work together more
effectively.
● Instead, Kanban focuses on shorter cycles for faster delivery and transparency
throughout development so everyone understands who is responsible for what and when.
● Tools like an online Kanban board give team members the chance to contribute ideas,
change the status of tasks, and track their progress so everyone works more efficiently
and effectively together.
Extreme Programming (XP)
● It aims to not only produce high-quality software but to make the entire process
easier on the development team itself. [Continuous feedback, short development cycles]
28
The Extreme Programming Process
Feature Driven Development
● Feature Driven Development (FDD) is a client-centric[value to the client.] Agile
methodology tool that focuses on development and status reporting across all
levels.
● For instance, instead of a typical 4-week iteration cycle in Scrum, FDD aims to deliver
features every 2-10 days.
● This makes it easier for teams to track and address errors, adapt to client requests, and
get new team members up-to-date quickly.
THANK YOU!