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