adopting agile via continuous improvement by rasmeet @ ahmedabad java meetup
DESCRIPTION
http://www.meetup.com/Ahmedabad-Java-Meetup-Group/events/218730172/ Topics covered in session: - Practically used Roles & Processes & Tools - Practical learning of Agile practices and value additions P.S.: If you missed to attend http://2014.agileindia.org/ @Banglore then definitely don't miss this one, Mr. Rasmeet will share some of the curated content just for us!TRANSCRIPT
ADOPTING AGILE VIA
CONTINUOUS
IMPROVEMENT
Nov 29, 2014
- Rasmeet Devji
Agenda
Overview
Adopting Agile via Continuous
Improvement
Q&A
Agile India 2014 Conference
Asia's largest & premier international
conference on Agile and Lean Software
Development methods
LEARN...NETWORK...EXPLORE
Some of us had the opportunity to attend this
conference
Agile Principles
There are 12 Agile Principles
They represent the characteristics of an Agile
process
Agile Principles
Agile Practices
These are activities that are used to manifest
or implement the Agile values and principles
There are nearly 40 practices
Some come from Agile while others come from
XP
Agile Practices - http://www.noop.nl/2009/04/the-big-
list-of-agile-practices.html
Prioritized Product Backlog
Short Iterations
Co-located Teams
Planning Poker
Team Velocity
Stabilization Iterations
What are they?
Are they required?
Pros and Cons?
Emergent Design
Informal Design
Design Inspections
Document Decisions
“Working
Software over
comprehensive
documentation
” The Agile
Manifesto
Test-Driven Development Unit
Testing
Pair Programming
Collective Code Ownership
Code Inspections
System Metaphor
Continuous Integration
Potentially Shippable Features by end of each
Iteration
Whole Multidisciplinary Team with One Goal
Anything Else?
Value Add To Customer
Always question the
value add to the
customer in what we
do
Customer Involvement
Real customer
involvement is
required
Continuous Feedback Loop
Build a Continuous
Feedback Loop
Continuous Course
Correction
Continuous
Course Correction
through
Continuous
Feedback
Introduce Improvements In
Parts
Introduce
Changes /
Improvements
part by part
One At a Time
Multiple Teams Adopting
Agile
Change happens
side-in across the
hierarchy and NOT
top down or bottom
up
Intel’s case study
Don’t Need To Code To Test
Create wireframes
/ mock ups /
Presentations to
present your
solution to the
Customer.
Once accepted,
can build
iteratively
Analysis before you Act…
Life is too short to
build something
nobody wants!!!
Processes
Keep them as Lean
as possible
They should not
block deliverables
and instead should
support and
enable them
Processes
Constantly tweak
them until you get
best deliverables
They differ from
one project to
another
Planning
Do not plan for a very
long time
Don’t Be A Feature Pusher
Vertical Slicing of
features could help
Quality Of Tests
The quality of test
cases is equally
important as the
quality of code
Simple Design
Subtle design
for ease of
change
Tests should
Pass
Done! is when
the code is
verifiable and
shippable
Simple Design
SOLID design
principles
No duplication
Do the Simplest
Thing that Could
Possibly Work
Great Teams Deliver in Crisis Situation
A team is a great team
when it not only follows
the processes and best
practices but more
importantly delivers in
crisis situation
Pair Programming
Pair up a strong
team member +
another who has
minimal
understanding
Should happen on
a rotation basis
That way everyone
learns more about
the system
T Professionals
Trunk Based Development
A technique for
making a large-scale
change to a software
system in gradual way
that allows you to
release the system
regularly while the
change is still in-
progress.
How We Adopted Agile
Green Field Project
Team size ranged
between 1 – 10 on
need basis
Started with
Kanban
Moved to Scrum
2 weeks Iterations
How We Adopted Agile
Introduced tools like Jenkins, Wiki and JIRA
one at a time
Introduced Code Reviews through Crucible,
Code scans through Checkstyle, Sonar and
Security Checks through HP Fortify one at a
time
Increased Code Coverage gradually from 30%
to 75%
Introduced CI through Jenkins + Automated
Tests + Puppet based deployments
Few practices that mattered the
most...
Personal Integrity and Consistency
Co-located Team Members
Adaptability to changes
One at a time
Quick Response
Continuous Feedback and Course Correction
Self Organized and Self Managed Team
Agile a Silver Bullet?
Are we done yet? Almost!
User-Driven
Development is
the Agile
Development practi
ces revised to
incorporate the
best Lean
Startups principles
Watch This
Q & A
Resources
Agile Manifesto – http://agilemanifesto.org/
Agile Principles -
http://agilemanifesto.org/principles.html
Agile Practices - http://www.noop.nl/2009/04/the-big-
list-of-agile-practices.html
Agile In a Nut Shell - http://www.agilenutshell.com/
Agile India 2014 Conf - http://2014.agileindia.org/
Martin Fowler on Agile -
http://martinfowler.com/tags/agile.html
UDD - http://www.userdrivendev.com/p/udd-
phases.html
Adopting Agile via Continuous
Improvement
Thank You!!