What i learned adopting agile practices

Post on 10-Dec-2014

1.160 views 1 download

description

 

Transcript of What i learned adopting agile practices

What I Learned Adopting Agile PracticesVijay Narayananhttp://artofsoftwarereuse.com/

Essence of Agility…Embracing changeCollaboration and explorationDelivering working software

Start With StoriesStories place the user’s needs in frontEstablish shared meaningHelp Channelize Passion

Take Small BitesFocus on the iteration instead of the entire projectGives the team a chance to experiment and adapt practices

Quality more important than QuantityFewer Features does not equal loss in user productivity!Health of codebase as important as any other metric

Empty Your CupPractice “I don’t Know” What did I and the team learn in this iteration?

ListenFor feedback from developers and business partnersFor conflict and indecision

Be VisualTrack trends – defects opened, fixed, stories implementedMake priorities and tasks clearly visibleDon’t design over email, grab a whiteboard

Iterate to Innovate“Speed of Iteration over Pursuit of Perfection” – Charles BoydYour understanding may be partial and/or incorrect

Travel LightImplement fewer stories Write readable codeKeep Stand up Meetings short, very short

Be Ruthless With RepetitionAutomate manual tasks – setting up developer machines, unit testing, release and deployment, smoke testing – list is endless!Refactor duplicate code

CollaborateWith sponsors to meet business objectives and deliver working softwareWith users to observe and understand their true needsWith developers to brainstorm design alternatives

Trust but VerifyMentor junior developersWrite tests and do code reviews Lead by example – don’t preach quality but demonstrate in action

Mistake Proofing is Super-UsefulMake it easy to get things right – setting up environment, fixing defects, following conventions consistentlyWhen mistakes do happen – go after the root cause!

Expect the UnexpectedAgile practices will introduce awkwardness in interactions and behaviorExpect a big backlog of unfinished work – specially when you start!

Release Early, Even if you need to fake it!If you cannot release to real users – release into a test environmentFocusing on early and continuous releases will help with every other agile practice

PracticeRoles and responsibilitiesCoaching developers Acting on feedback

The Japanese Lunchbox

Agile helps the team see the interconnectedness between: features, quality, and delivery

CelebrateShared code ownershipEvery iteration!Infinite learning opportunities

Have a “Beginner’s Mind”Open to change, uncertainty, and learning…

Keep the child-like curiosity!