adopting agile via continuous improvement by rasmeet @ ahmedabad java meetup

Post on 05-Jul-2015

412 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

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!!

top related