“Never Have Your Dog Stuffed is really advice to myself, a reminder to myself not to avoid change or uncertainty, but to.
Download
Report
Transcript “Never Have Your Dog Stuffed is really advice to myself, a reminder to myself not to avoid change or uncertainty, but to.
“Never Have Your Dog Stuffed is really advice to
myself, a reminder to myself not to avoid change
or uncertainty, but to go with it, to surf into
change.”
Alan Alda
AGILE
1
Making it Work for You
PRESENTERS
Agile – Making it Work for You
Gary Wunrow – Program Manager, Sentry Insurance
Q&A Session
Jim Stitzlein – Sr. VP & CIO, Sentry Insurance
Jeff Sanner – IT Director of Digital Interactive,
Sentry Insurance
Gary Wunrow
2
AGENDA
What is Agile?
Why Agile?
Popular Methods
When should Agile be used and Who should use
it?
Origin and Evolution
How is Agile done?
Definition
Core Principles
Implementation Options
Considerations
Q&A with Gary, Jim and Jeff
3
“It is in the admission of ignorance and the
admission of uncertainty that there is a hope for
the continuous motion of human beings in some
direction that doesn't get confined, permanently
blocked, as it has so many times before in various
periods in the history of man.”
Richard P. Feynman
WHAT IS AGILE?
4
WHAT IS AGILE?
Merriam-Webster
Definition
1:
marked by ready ability to
move with quick easy grace <an
agile dancer>
2: having a quick,resourceful
and adaptable character <an
agile mind>
5
WHAT IS AGILE?
Definition
of Agile Software
Development
Agile software development is a group
of software development
methodologies based on iterative
and incremental development, where
requirements and solutions evolve
through collaboration between selforganizing, cross functional teams.
6
WHAT IS AGILE?
Agile Values (Manifesto for Agile Software
Development)
We are uncovering better ways of developing software
by doing it and helping others do it. Through this work
we have come to value:
Individuals and interactions over process and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
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 even more
Source: www.agilemanifesto.org
7
WHAT IS AGILE?
Our highest priority is to satisfy the customer
through early and continuous delivery
of valuable software
Source: www.agilemanifesto.org
8
WHAT IS AGILE?
Welcome changing requirements, even late in
development. Agile processes harness change for
the customer's competitive advantage.
Source: www.agilemanifesto.org
9
WHAT IS AGILE?
Deliver working software frequently, from a
couple of weeks to a couple of months, with a
preference to the shorter timescale.
Source: www.agilemanifesto.org
10
WHAT IS AGILE?
Business people and developers must work
together daily throughout the project.
Source: www.agilemanifesto.org
11
WHAT IS AGILE?
Build projects around motivated individuals.
Give them the environment and support they need,
and trust them to get the job done.
Source: www.agilemanifesto.org
12
WHAT IS AGILE?
The most efficient and effective method of
conveying information to and within a development
team is face-to-face conversation.
Source: www.agilemanifesto.org
13
WHAT IS AGILE?
Working software is the primary measure of
progress.
Source: www.agilemanifesto.org
14
WHAT IS AGILE?
Agile processes promote sustainable development.
The sponsors, developers, and users should be able
to maintain a constant pace indefinitely.
Source: www.agilemanifesto.org
15
WHAT IS AGILE?
Continuous attention to technical excellence
and good design enhances agility.
Source: www.agilemanifesto.org
16
WHAT IS AGILE?
Simplicity--the art of maximizing the amount
of work not done--is essential.
Source: www.agilemanifesto.org
17
WHAT IS AGILE?
The best architectures, requirements, and designs
emerge from self-organizing teams.
Source: www.agilemanifesto.org
18
WHAT IS AGILE?
At regular intervals, the team reflects on how
to become more effective, then tunes and adjusts
its behavior accordingly.
Source: www.agilemanifesto.org
19
WHAT AGILE IS NOT.
A
silver bullet for success
A direct remedy for
team/organizational issues
Easy
A free for all
20
“The quest for certainty blocks the search for
meaning. Uncertainty is the very condition to
impel man to unfold his powers.”
Erich Fromm
WHY AGILE?
21
WHY AGILE?
Understanding Engineering Methods
Predictive Methods
Adaptive (Empirical) Methods
22
WHY AGILE?
Potential benefits of using an adaptive method
Reduced Cost
Reduced time between concept and deployment
Allows for system evolution
Encourages engagement and builds trust with the
customer
Fosters a healthy environment for developers to work
in
Levels accountability
23
WHY AGILE?
Practitioners
Software Engineering Method Use Over Time
1940
Adaptive
Predictive
Predecitve
1950
1960
1970
1980
Time
1990
2000
2010
2020
24
WHY AGILE?
Summing it Up
Adaptive Methods (Agile Software Engineering) are
not new
IT Capabilities during early business adoption drove
the use of predictive methods (waterfall)
IT capabilities grew rapidly with the advent and
proliferation of:
Object-oriented design and programming
The internet and communications bandwidth
Personal computing
The emerging complexity of systems and software is
driving business and the IT community back to
adaptive methods
25
“Uncertainty is a sign of humility, and
humility is just the ability or the
willingness to learn.”
Charlie Sheen
HOW IS AGILE DONE?
26
HOW IS AGILE DONE?
Agile Methods
Extreme Programming (XP)
Scrum
Lean Software Development
Kanban
Scaled Agile Framework
Agile Modeling
Adaptive Software Development
Crystal
Dynamic Systems Development Method (DSDM)
Feature Driven Development (FDD)
Unified Process (Rational or Agile)
Microsoft Solutions Framework for Agile Software
Development
27
HOW IS AGILE DONE?
Extreme Programming
Software Engineering Methodology & OOP practices
Values
Communication
Simplicity
Feedback
Courage
Respect
28
HOW IS AGILE DONE?
Extreme Programming
Practices
Pair Programming
Test Driven Development
Refactoring
Continuous Integration
Small Releases
Coding Standards
Collective Code Ownership
Simple Design
29
HOW IS AGILE DONE?
30
http://www.extremeprogramming.org
HOW IS AGILE DONE?
31
http://www.extremeprogramming.org
HOW IS AGILE DONE?
32
http://www.extremeprogramming.org
HOW IS AGILE DONE?
33
http://www.extremeprogramming.org
HOW IS AGILE DONE?
Scrum
Management Methodology for Software Development
Values
Collaboration
Transparency
Prioritization
Focus
Simplicity
34
HOW IS AGILE DONE?
Scrum
Roles
Product Owner
Scrum Master
Team(s)
Practices
Backlog Management
Release Management
Sprint Planning
Daily Scrum
Sprint Closeout
35
HOW IS AGILE DONE?
36
http://www.scrumalliance.org
HOW IS AGILE DONE?
Kanban
Management Method for Software Development
Based on Just-In-Time lean manufacturing practices
Values
Increase Flow
Maximize resources
Reduce work in progress (WIP)
Process Improvement
Practices
Backlog Management
Kanban Board
Step Limits
Expedite Critical Features/Bugs
Evaluation Cycles
37
HOW IS AGILE DONE?
38
http://www.kanbanblog.com
HOW IS AGILE DONE?
Scaled Agile Framework (SAFe)
Organizational Framework for Agile Software
Development
Moving beyond agile for teams
Governance
Strategy
SAFe is published by Leffingwell, LLC. Leffingwell
LLC owns trademarks and copywrite for the content.
It is freely available at
www.scaledagileframework.com
39
HOW IS AGILE DONE?
40
HOW IS AGILE DONE?
41
HOW IS AGILE DONE?
Tying it all together (literally)
Extreme Programming provides a loose management
wrapper with detailed development practices
Scrum is currently the most popular Agile
management method
Kanban as gaining popularity due to its impact on
productivity and focus on improvement
SAFe is a structured wrapper for Agile development
that assists with scaling the concepts for larger
organizations
The possibilities
SAFe wrapped ScrumBanXP
42
“Knowledge is an unending adventure at
the edge of uncertainty.”
Jacob Bronowski
WHEN SHOULD AGILE BE
USED AND WHO SHOULD
USE IT?
43
WHEN SHOULD AGILE BE USED AND WHO
SHOULD USE IT?
Reasons to Consider Agile
Need to streamline development process
Need to shorten development lifecycle
General process improvement
Establish / Re-establish trust with business /
customer
44
WHEN SHOULD AGILE BE USED AND WHO
SHOULD USE IT?
Change Management Considerations
Transparency may be a shock to developers
Team members need to be prepared to have
accountability and responsibility
Customer / Business needs to accept and participate
in implementation
Customer / Business needs to be prepared to have
accountability and responsibility
Environment needs to be tolerant of failure
Bad habits, practices and relationships will be
exposed
45
WHEN SHOULD AGILE BE USED AND WHO
SHOULD USE IT?
Implementation Steps
Get / Create an expert
Understand the current state
Build a business case
Includes choosing / defining the method
Find a champion, or better yet, champions
Define a Pilot Implementation (project, department)
No less that 4 months, no more than 9 months
The expert should be directly involved in planning and
executing the pilot
Training – IT Management, Team, Customer
Learn and Mature through the pilot
Create implementation plan for rest of organization
46
WHEN SHOULD AGILE BE USED AND WHO
SHOULD USE IT?
Can Agile be implemented without business
support?
Yes, but…
The expected improvements will not be as significant
Iterative work cycles and related reporting can occur
without daily business involvement
XP development and testing techniques can be
implemented in any iterative cycle
Need to identify a Business / Customer surrogate
Gains will still be found in productivity, quality and design
Herald your successes and continually try to engage the
business / customer in the process
47
WHEN SHOULD AGILE BE USED AND WHO
SHOULD USE IT?
How does one choose an agile method to
implement?
Scrum is the most simple and straight forward
method to implement
Talk to your customer to determine what is
important to them and make sure your
implementation addresses those points specifically
The name of the method is least important
Strive to incorporate all 12 agile disciplines
At least incorporate 8 agile disciplines
48
WHEN SHOULD AGILE BE USED AND WHO
SHOULD USE IT?
Governance
Not formally addressed in most agile methods
Need to address
Can be addressed in backlog or as part of the process
Key Control Deliverables
Project Tracking
Configuration Management
Change Control
Risk & Issue Management
Budget
49
WHEN SHOULD AGILE BE USED AND WHO
SHOULD USE IT?
Things to look out for:
Overzealous method evangelists
Minimizing for the sake of minimizing
Multi-tasking – waterfall wrapped in an iteration
50
THANK YOU
“Life is a series of natural and spontaneous
changes. Don't resist them; that only creates
sorrow. Let reality be reality. Let things flow
naturally forward in whatever way they like.”
Lao Tzu
51