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
![Page 1: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/1.jpg)
ADOPTING AGILE VIA
CONTINUOUS
IMPROVEMENT
Nov 29, 2014
- Rasmeet Devji
![Page 2: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/2.jpg)
Agenda
Overview
Adopting Agile via Continuous
Improvement
Q&A
![Page 3: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/3.jpg)
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
![Page 4: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/4.jpg)
Agile Principles
There are 12 Agile Principles
They represent the characteristics of an Agile
process
Agile Principles
![Page 5: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/5.jpg)
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
![Page 6: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/6.jpg)
Prioritized Product Backlog
![Page 7: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/7.jpg)
Short Iterations
![Page 8: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/8.jpg)
Co-located Teams
![Page 9: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/9.jpg)
Planning Poker
![Page 10: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/10.jpg)
Team Velocity
![Page 11: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/11.jpg)
Stabilization Iterations
What are they?
Are they required?
Pros and Cons?
![Page 12: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/12.jpg)
Emergent Design
![Page 13: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/13.jpg)
Informal Design
![Page 14: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/14.jpg)
Design Inspections
![Page 15: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/15.jpg)
Document Decisions
“Working
Software over
comprehensive
documentation
” The Agile
Manifesto
![Page 16: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/16.jpg)
Test-Driven Development Unit
Testing
![Page 17: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/17.jpg)
Pair Programming
![Page 18: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/18.jpg)
Collective Code Ownership
![Page 19: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/19.jpg)
Code Inspections
![Page 20: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/20.jpg)
System Metaphor
![Page 21: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/21.jpg)
Continuous Integration
![Page 22: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/22.jpg)
Potentially Shippable Features by end of each
Iteration
![Page 23: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/23.jpg)
Whole Multidisciplinary Team with One Goal
![Page 24: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/24.jpg)
Anything Else?
![Page 25: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/25.jpg)
Value Add To Customer
Always question the
value add to the
customer in what we
do
![Page 26: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/26.jpg)
Customer Involvement
Real customer
involvement is
required
![Page 27: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/27.jpg)
Continuous Feedback Loop
Build a Continuous
Feedback Loop
![Page 28: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/28.jpg)
Continuous Course
Correction
Continuous
Course Correction
through
Continuous
Feedback
![Page 29: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/29.jpg)
Introduce Improvements In
Parts
Introduce
Changes /
Improvements
part by part
One At a Time
![Page 30: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/30.jpg)
Multiple Teams Adopting
Agile
Change happens
side-in across the
hierarchy and NOT
top down or bottom
up
Intel’s case study
![Page 31: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/31.jpg)
Don’t Need To Code To Test
Create wireframes
/ mock ups /
Presentations to
present your
solution to the
Customer.
Once accepted,
can build
iteratively
![Page 32: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/32.jpg)
Analysis before you Act…
Life is too short to
build something
nobody wants!!!
![Page 33: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/33.jpg)
Processes
Keep them as Lean
as possible
They should not
block deliverables
and instead should
support and
enable them
![Page 34: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/34.jpg)
Processes
Constantly tweak
them until you get
best deliverables
They differ from
one project to
another
![Page 35: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/35.jpg)
Planning
Do not plan for a very
long time
![Page 36: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/36.jpg)
Don’t Be A Feature Pusher
Vertical Slicing of
features could help
![Page 37: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/37.jpg)
Quality Of Tests
The quality of test
cases is equally
important as the
quality of code
![Page 38: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/38.jpg)
Simple Design
Subtle design
for ease of
change
Tests should
Pass
Done! is when
the code is
verifiable and
shippable
![Page 39: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/39.jpg)
Simple Design
SOLID design
principles
No duplication
Do the Simplest
Thing that Could
Possibly Work
![Page 40: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/40.jpg)
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
![Page 41: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/41.jpg)
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
![Page 42: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/42.jpg)
T Professionals
![Page 43: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/43.jpg)
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.
![Page 44: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/44.jpg)
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
![Page 45: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/45.jpg)
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
![Page 46: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/46.jpg)
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
![Page 47: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/47.jpg)
Agile a Silver Bullet?
![Page 48: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/48.jpg)
Are we done yet? Almost!
User-Driven
Development is
the Agile
Development practi
ces revised to
incorporate the
best Lean
Startups principles
Watch This
![Page 49: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/49.jpg)
Q & A
![Page 50: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/50.jpg)
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
![Page 51: Adopting agile via continuous improvement By Rasmeet @ Ahmedabad Java Meetup](https://reader033.vdocuments.mx/reader033/viewer/2022052909/559847ad1a28ab5d168b4676/html5/thumbnails/51.jpg)
Adopting Agile via Continuous
Improvement
Thank You!!