8/9/2019 Open Source Software Development Practices That Work
http://slidepdf.com/reader/full/open-source-software-development-practices-that-work 1/27
Open Source SoftwareDevelopment Practices
that Works(or how to get software done)
#mosc2010
8/9/2019 Open Source Software Development Practices That Work
http://slidepdf.com/reader/full/open-source-software-development-practices-that-work 2/27
I think a lot about making good software -- and that is what I amgoing to talk about today.
Basically, I learned enough tricks tobe good at what I do.
Hi!
I develop software for a living.
8/9/2019 Open Source Software Development Practices That Work
http://slidepdf.com/reader/full/open-source-software-development-practices-that-work 3/27
Be Agilebecause it works
8/9/2019 Open Source Software Development Practices That Work
http://slidepdf.com/reader/full/open-source-software-development-practices-that-work 4/27
http://agilemanifesto.org
We are uncovering better ways of developing software by
doing it and helping others do it. Through this work we have
come to value
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items onthe right, we value the items on the left more.
"
8/9/2019 Open Source Software Development Practices That Work
http://slidepdf.com/reader/full/open-source-software-development-practices-that-work 5/27
Extreme ProgrammingScrumCrystal Clear Lean Software DevelopmentKanban Software Development
Rational Unified ProcessTest Driven Development...
Agile Methodologies
8/9/2019 Open Source Software Development Practices That Work
http://slidepdf.com/reader/full/open-source-software-development-practices-that-work 6/27
It basically means we gota pretty good plan to get
things done.
You can worry less now. ;-)
8/9/2019 Open Source Software Development Practices That Work
http://slidepdf.com/reader/full/open-source-software-development-practices-that-work 7/27
It Worksbecause it's simple
8/9/2019 Open Source Software Development Practices That Work
http://slidepdf.com/reader/full/open-source-software-development-practices-that-work 8/27
User StoriesJust enough details to make time estimate, priorityand purpose.
Must be simple and easy to understand.
Make them testable.
E.g., "Load in 3 seconds"
Requirements are never final,so be flexible.
8/9/2019 Open Source Software Development Practices That Work
http://slidepdf.com/reader/full/open-source-software-development-practices-that-work 9/27
Deliver IterativelyHave clear milestones and short iterations
Break all tasks down to iteration
Plan in iteration -- 1 to 3 weeks
8/9/2019 Open Source Software Development Practices That Work
http://slidepdf.com/reader/full/open-source-software-development-practices-that-work 10/27
VS
8/9/2019 Open Source Software Development Practices That Work
http://slidepdf.com/reader/full/open-source-software-development-practices-that-work 11/27
EstimationIt's very hard to plan for next 6 months.
Break big thing down to smallest things.
How to eat an elephant?One piece at a time
8/9/2019 Open Source Software Development Practices That Work
http://slidepdf.com/reader/full/open-source-software-development-practices-that-work 12/27
Respect / trustRespect your teammates or staffs
Move responsibility down the chain
Let workers decide the best approach
Encourage passionate commitment
Expect top quality from everyone
8/9/2019 Open Source Software Development Practices That Work
http://slidepdf.com/reader/full/open-source-software-development-practices-that-work 13/27
Source: Agilefun.com, Agile Romania UG Meeting Bucharest
8/9/2019 Open Source Software Development Practices That Work
http://slidepdf.com/reader/full/open-source-software-development-practices-that-work 14/27
Daily StandupWhat I accomplished yesterdayWhat I plan to accomplish today
What issues are blocking progress
5-10 minutes
8/9/2019 Open Source Software Development Practices That Work
http://slidepdf.com/reader/full/open-source-software-development-practices-that-work 15/27
http://ayagebeely.blogspot.com/2009/10/stand-up-meeting.html
8/9/2019 Open Source Software Development Practices That Work
http://slidepdf.com/reader/full/open-source-software-development-practices-that-work 16/27
Short to-do listBecause long todo-list don't get done
Limit the number of tasks
Usually it looks like a checklist
8/9/2019 Open Source Software Development Practices That Work
http://slidepdf.com/reader/full/open-source-software-development-practices-that-work 17/27
Write TestsThe idea is to build quality in.
Unit test, integration test, .. any sensible test!
Automate the testing
Learn to write good test cases
8/9/2019 Open Source Software Development Practices That Work
http://slidepdf.com/reader/full/open-source-software-development-practices-that-work 18/27
8/9/2019 Open Source Software Development Practices That Work
http://slidepdf.com/reader/full/open-source-software-development-practices-that-work 19/27
Refactor Keep it really simple and continue to keep it simpleas you go along.
Make code clean and easy to read.
Remove dead code,
unused functions, and simplify further.
Not worried about throwing code out for sake of better software
8/9/2019 Open Source Software Development Practices That Work
http://slidepdf.com/reader/full/open-source-software-development-practices-that-work 20/27
Quality is EasyTrack bug -- assign to someone, set deadline + priority
CAR -- Corrective Action / Prevention Action
Poka Yoke -- Fail-proof
Automation -- automate build, test and deploy
CANI -- Continuous And Never Ending Improvement
8/9/2019 Open Source Software Development Practices That Work
http://slidepdf.com/reader/full/open-source-software-development-practices-that-work 21/27
Poka Yoke
8/9/2019 Open Source Software Development Practices That Work
http://slidepdf.com/reader/full/open-source-software-development-practices-that-work 22/27
Bug Tracking
8/9/2019 Open Source Software Development Practices That Work
http://slidepdf.com/reader/full/open-source-software-development-practices-that-work 23/27
RetrospectiveOver lunch if you have to.
How did we screwed up?!What went well?What did we learn?How can we do better next round?
This is NOT a blame session!
8/9/2019 Open Source Software Development Practices That Work
http://slidepdf.com/reader/full/open-source-software-development-practices-that-work 24/27
FACE FAILURE
8/9/2019 Open Source Software Development Practices That Work
http://slidepdf.com/reader/full/open-source-software-development-practices-that-work 25/27
ContinuousImprovementKeep learning -- new tech, architecture, techniques, process
Keep adjusting -- make it fit your needs or size
Keep improving -- measure and improve, faster,less bug, happier customer
8/9/2019 Open Source Software Development Practices That Work
http://slidepdf.com/reader/full/open-source-software-development-practices-that-work 26/27
Summary1. User stories instead of heavy requirement docs2. Deliver iteratively and deliver working software asap3. Estimation is hard, make it easier by breaking it
down4. Respect and trust is very necessary5. Daily standup works, please do it Mon to Fri6. Short to-do list works, use it
7. Write tests8. Quality is easy, or easier if you build quality in9. Retrospective to learn and improve more
10. CANI -- Continuous And Never ending Improvement
8/9/2019 Open Source Software Development Practices That Work
http://slidepdf.com/reader/full/open-source-software-development-practices-that-work 27/27
Becauseit's simpleyou can adapt andimprovise