Agile Methodology
Click here to load reader
-
Upload
omar-al-sabek -
Category
Software
-
view
285 -
download
1
Transcript of Agile Methodology
Agile Methodology ISE Seminar
• A Short history of Software development processes
• Defining and Analyzing the Problem ...
• Agile Manifesto
• The Agile Values
• The Agile Principles
• Scrum
Agenda
Software Project Development
Software development processesA [really] short history of
Software Project Development
traditional approach to software development
REQUIREMENTS
DESIGN
DEVELOPMENT
TESTING
MAINTENANCE
Waterfall Development is another name for the more
Waterfall Development
Waterfall Development
You complete one phase (e.g. design) before moving
on to the next phase (e.g. development)
You rarely aim to re-visit a ‘phase’ once it’s completed. That means, you better get whatever
you’re doing right the first time!
• Is there any problem ?
Software Project Development
Waterfall Development
This approach is highly risky, costly and
generally less efficient
You don’t realize any value until the end of the project
You leave the testing until the end
You don’t seek approval from the stakeholders until late in the day
But…REQUIREMENTS
DESIGN
DEVELOPMENT
TESTING
MAINTENANCE
Takes too long
Changes
Skipped
Software Project Development
Software Project Development
Software Project Development
Software Project Development
Software Project Development
Software Project Development
AGILERapid
Cooperative
Quality-driven
Not a process, it's a philosophy or set of values
Iterative
Adaptable
XP
Scrum
Lean
Crystal
Adaptive
FDD
DSDM
Pragmatic
RUP (120+)
XP (13)
Scrum (9)
Kanban (3)
Do Whatever!! (0)
More Prescriptive
More Adaptive
RUP has over 30 roles, over 20 activities, and over 70 artifacts
AGILE
Software Project Development
Software Project Development
Software Project Development
Software Project Development
Software Project Development
the most important factors that you need to consider are the people and how they work together
A fool with a tool is still a fool.
Software Project Development
Software Project Development
Never forget that the primary goal of software development is to create software, not documents !
Otherwise it would be called documentation development wouldn’t it?
When you ask a user whether they would want ??
A fifty page document describing what you intend to build ?
orThe actual software itself, what do you think
they’ll pick?
Software Project Development
Software Project Development
Remember!!Only your customer can tell you what they want
Software Project Development
Software Project Development
Remember!!
Nothing ever goes entirely on plan
but instead of sticking with something that isn't working
It's much more effective to make adjustments as your situation changes
Software Project Development
Following the values isn't always easy
But when you build them is your team's processes
You will definitely get a better software project
Software Project Development
Hmm..
So , Is that It ?
Software Project Development
Sure No !!
Software Project Development
The four core values are illuminated by
12 principles of Agile software development.
Software Project Development
“ Our highest priority is tosatisfy the customer through early and continuous delivery of valuable software. ”
Principle
#1
Software Project Development
“ Welcome changing requirements, even late in development.Agile processes harness changefor the customer's competitive advantage.”
Principle
#2
Software Project Development
“ Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter time scale. ”
Principle
#3
Software Project Development
“ Business people and developers must work together daily throughout the project. “
Principle
#4
Software Project Development
“ Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. “
Principle
#5
Software Project Development
“ The most efficient and effectivemethod of conveying information toand within a development team is face-to-face conversation.“
Principle
#6
Software Project Development
“Working software is the primary measure of progress. “
Principle
#7
Software Project Development
“ Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. “
Principle
#8
Software Project Development
“ Continuous attention to technical excellence and good design enhances agility. “
Principle
#9
Software Project Development
“ Simplicity – the art of maximizing the amount of work not done ,is essential. “
Principle
#10
Software Project Development
“ The best architectures, requirements, and designs emerge from self-organizing teams. “
Principle
#11
Software Project Development
“At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.“
Principle
#12
Scrum
Scrum
• Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time.
• It allows us to rapidly and repeatedly check actual working software (2 – 4 weeks).
• The business sets the priorities.
Scrum characteristics
• Self organizing team to determine the best way to deliver the highest priorities features
• Product progresses in a series of month-long “sprints”
• Requirements are captured as items in a list “product backlog”
• Uses general rules to create an agile environment for delivering projects
Scrum sprint
Scrum sprint
• Scrum projects make progress in a series of “sprints”
• Typical duration is 2–4 weeks
• Product is designed, coded, and tested during the sprint
NO Changes During Sprint !
Scrum breaking down
Scrum artifacts
The scrum team uses artifacts to run scrum successfully
• Impediment backlog
• Product backlog
• Sprint backlog
• Burn down charts
Scrum ceremonies
• Sprint planning
• Sprint review
• Sprint retrospective
• Daily scrum
Scrum ceremonies
Sprint planning :
• Sprint planning meeting #1
• Sprint planning meeting #2
Scrum ceremonies
Sprint planning meeting #1:
• Purpose
• Basics
• Ingredients
• Output
Scrum ceremonies
Sprint planning meeting #2:
• Purpose
• Basics
• Ingredients
• Output
Scrum ceremonies
Sprint review:
• Purpose
• Basics
• Ingredients
• Output
Scrum ceremonies
Sprint retrospective:
• Purpose
• Basics
• Ingredients
• Output
Scrum ceremonies
Daily scrum
• Purpose
• Basics
• Ingredients
• Output
Scrum roles
• Scrum master
• Team
• Product owner
• Customer
• User
Scrum roles
Scrum Master:
• Represents management to the project
• Responsible for enacting Scrum values and practices
• Removes impediments (obstacles)
• Ensure that the team is fully functional and productive
• Enable close cooperation across all roles and functions
• Shield the team from external interferences
Scrum roles
Team:
• (5 - 9) people
• Cross functional (programmers – designers….)
• Full time
• Self organizing
Scrum roles
Team tasks:
• Delivers the product and is responsible for its quality
• Creating product backlog
• Analyses the backlog for information
• Works with product owner for strategic alignment
Scrum roles
Product owner:
• Define the features of the product
• Decide on release date and content
• Be responsible for the profitability of the product
• Prioritize features according to market value
• Adjust features and priority every iteration, as needed
• Accept or reject work results
Scrum roles
Customer:
• Executive managers
• Requests the product from Scrum team
• Budget
Scrum roles
User:
• Defines the product with his business knowledge
• Domain expert , end user , marketing department
Thanks For Listening