“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