Uploaded by Cristian Rosianu

Lesson 1 - Agile way of thinking redux

advertisement
EXIN Agile Scrum Master
Agile Way of Thinking
© Simplilearn. All rights reserved.
Learning Objectives
Define Agile and Scrum
Articulate the benefits of being Agile
Describe the principles of the Agile Manifesto
Describe the principle of continuous improvement applied
to a Scrum adaptation
Two Approaches of Project Management
Waterfall Approach
Agile Approach
It involves big planning upfront to:
• Agile approach is appropriate
• Determine the detailed scope of
for complex and uncertain
the project
• Establish the project’s
performance baselines
projects
•
An Agile project evolves as short
increments are completed
Definition of Agile
“Agile is an iterative and incremental evolutionary approach to project development
which is performed in a highly collaborative manner by self-organizing teams with
just enough ceremony that produces high-quality software in a cost effective and a
timely manner which meets the changing needs of its stakeholders.”
—Scott Ambler, a thought leader in the Agile world
Evolution of Agile Manifesto
Evolution of Agile from a family of
light weight, quality-driven
approaches to software development
Feb 2001
Late 1990’s
Agile Manifesto signed by 17
leading software developers
Agile Manifesto
“We are in covering better ways of developing software by doing it and helping others do it.
Through this work we have come to value:
1. Individuals and interactions over processes and tools
2. Working software over comprehensive documentation
3. Customer collaboration over contract negotiation
4. Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.“
—Agile Manifesto
Understanding Agile Manifesto
Individuals and
interactions
Working software
Customer
collaboration
Responding to
change
over
Process and tools
over
Comprehensive
documentation
over
over
Contract negotiation
Following a plan
Individuals and their interactions deliver better results
when the emphasis is NOT on the processes and the tools.
Emphasis on working software can deliver real
progress or value.
Organizations need to be accommodating rather than
following detailed definitions listed in contracts.
Customer suggestions must be incorporated to deliver the
value the customers want.
The 12 Principles of Agile Software
There are 12 guiding principles that support the Agile Manifesto:
1
Our highest priority is to satisfy the customer through early and continuous delivery
of valuable software.
2
Welcome changing requirements, even late in development. Agile processes
harness change for the customer’s competitive advantage.
3
Deliver working software frequently, from a couple of weeks to a couple of months,
with a preference to the shorter time scale.
4
Business people and developers must work together daily throughout the project.
5
Build projects around motivated individuals. Give them the environment and
support they need and trust them to get the job done.
6
The most efficient and effective method of conveying information to and within a
development team is face-to face-conversation.
The 12 Principles of Agile Software (Contd.)
7
Working software is the primary measure of progress.
8
Agile processes promote sustainable development. The sponsors, developers,
and users should be able to maintain a constant pace indefinitely.
9
Continuous attention to technical excellence and good design enhances agility.
10
Simplicity, the art of maximizing the amount of work not done, is essential.
11
The best architectures, requirements, and designs emerge from self-organizing
teams.
12
At regular intervals, the team reflects on how to become more effective and then
tunes and adjusts its behavior accordingly.
Scrum
In 1986, Scrum was first introduced by Hirotaka Takeuchi and Ikujiro Nonaka.
SCRUM
It was a new approach to commercial product development that would increase
speed and flexibility.
Note: For information on “Complex software development,” refer to complex software
development.pdf in Additional Information.zip in the download section.
Advantages of Scrum
Scrum is a proven Agile software development methodology that provides significant
benefits over the traditional waterfall approach.
High productivity and low cost due to less waste and reduced cost of rework
Improved stakeholder satisfaction due to greater adaptability
Higher quality by establishing clear acceptance criteria and “Definition of Done”
Improved employee engagement and job satisfaction due to sustainable pace,
self-organization, and delivery of high-quality products
Faster time-to-market by delivering incrementally
Note: For information on “Agile project management process framework,” refer to complex
process framework.pdf in Additional Information.zip in the download section.
Popularity of Scrum
Scrum is a leading agile methodology. More than 50% of Agile projects use it.
Features that make scrum so popular include the following:
Offers simplicity and proven results
Encompasses other Agile engineering techniques
Emphasizes small teams and team empowerment
Welcomes changes to requirements
Allows working from a single source of prioritized work items
Includes daily status meetings
Offers team commitment to potentially shippable software at the
end of each Sprint
Agile Methods Deliver Value Faster
Iteration 6
Iteration 5
Iteration 4
Delivered Value
Delivered Value
The chart illustrates how Agile methods deliver value faster than expensive traditional methods.
Iteration 3
Iteration 2
Iteration 1
Agile Iterative Delivery
Time
Project
Delivered
Time
Non-Agile Iterative Delivery
Understanding the Impact of Scrum
It is important to definitively answer the following questions to understand the impact of Scrum.
Has the investment in Scrum paid off?
What is our next area of improvement?
Should we continue with Scrum?
Are we better than before?
Are we producing better products?
Do our products have fewer defects?
Are we able to ship faster than before?
Testing and measuring the results of any effort helps to discover the success.
Key Takeaways
Agile is an iterative and incremental method for developing products.
Scrum is the most popular Agile framework. It is composed of transparency,
inspection, and adaptation.
Scrum provides value to the organization in the form of higher productivity, reduced
cost, better quality, and engaged and satisfied employees.
Scrum helps in faster time-to-market and improved stakeholder satisfaction.
Scrum relies on frequent feedback and experimentation, resulting in better
predictability and flexibility.
The actual results of Scrum adoption should be tested and measured.
Quiz
QUIZ
1
Which of the following would be considered most valuable by an Agile team?
a.
Following a plan
b.
Processes and Tools
c.
Comprehensive documentation
d.
Working software
QUIZ
1
Which of the following would be considered most valuable by an Agile team?
a.
Following a plan
b.
Processes and Tools
c.
Comprehensive documentation
d.
Working software
The correct answer is D
Working software is the primary measure of progress in an Agile team. According to the Agile principles, it
is also the only item in the list that is on the left-hand side of the Agile Manifesto assertions. The other
items are also important, but working software is the most important item.
QUIZ
2
With whom should a Scrum team share the progress reports and burn down charts?
a.
All the relevant stakeholders
b.
Within the team and with senior management
c.
Team, Scrum Master, and Product Owner
d.
Senior management and customers
QUIZ
2
With whom should a Scrum team share the progress reports and burn down charts?
a.
All the relevant stakeholders
b.
Within the team and with senior management
c.
Team, Scrum Master, and Product Owner
d.
Senior management and customers
The correct answer is A
Transparency is one of the pillars of Scrum. The team must make its progress transparent to all the
relevant stakeholders.
QUIZ
3
A team transitioning to Scrum would most likely lose _____.
a.
Flexibility and adaptability
b.
Productivity and quality
c.
Detailed upfront planning and architecture
d.
Ability to respond to business changes
QUIZ
3
A team transitioning to Scrum would most likely lose _____.
a.
Flexibility and adaptability
b.
Productivity and quality
c.
Detailed upfront planning and architecture
d.
Ability to respond to business changes
The correct answer is C
A Scrum team usually exhibits higher productivity and quality with the ability to respond to changes,
flexibility, and adaptability. However, it might not perform detailed upfront planning and architecture
according to traditional models of development.
QUIZ
4
A team is trying to decide between two design patterns to solve a problem and is
debating which would work better. What is the best way to arrive at a decision?
a.
Ask the customer
b.
Develop small pilots with both approaches and study the outcomes
c.
Consult the enterprise architects within the company
d.
Set aside a couple of iterations to focus on design pattern finalization
QUIZ
4
A team is trying to decide between two design patterns to solve a problem and is
debating which would work better. What is the best way to arrive at a decision?
a.
Ask the customer
b.
Develop small pilots with both approaches and study the outcomes
c.
Consult the enterprise architects within the company
d.
Set aside a couple of iterations to focus on finalization of the design pattern
The correct answer is B
Scrum relies on experimentation and adaptation. Design discussions are often endless and theoretical.
The best approach would be to try out both approaches and learn from the experience.
Thank You
© Simplilearn. All rights reserved.
Download