Open Source Software Development Practices That Work

27
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 Software Development Practices that Works (or how to get software done) #mosc2010

Transcript of Open Source Software Development Practices That Work

Page 1: Open Source Software Development Practices That Work

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

Page 2: Open Source Software Development Practices That Work

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.

Page 3: Open Source Software Development Practices That Work

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

Page 4: Open Source Software Development Practices That Work

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.

"

Page 5: Open Source Software Development Practices That Work

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

Page 6: Open Source Software Development Practices That Work

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. ;-)

Page 7: Open Source Software Development Practices That Work

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

Page 8: Open Source Software Development Practices That Work

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.

Page 9: Open Source Software Development Practices That Work

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

Page 10: Open Source Software Development Practices That Work

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

Page 11: Open Source Software Development Practices That Work

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

Page 12: Open Source Software Development Practices That Work

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

Page 13: Open Source Software Development Practices That Work

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

Page 14: Open Source Software Development Practices That Work

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

Page 15: Open Source Software Development Practices That Work

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

Page 16: Open Source Software Development Practices That Work

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

Page 17: Open Source Software Development Practices That Work

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

Page 18: Open Source Software Development Practices That Work

8/9/2019 Open Source Software Development Practices That Work

http://slidepdf.com/reader/full/open-source-software-development-practices-that-work 18/27

Page 19: Open Source Software Development Practices That Work

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

Page 20: Open Source Software Development Practices That Work

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

Page 21: Open Source Software Development Practices That Work

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

Page 22: Open Source Software Development Practices That Work

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

Page 23: Open Source Software Development Practices That Work

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!

Page 24: Open Source Software Development Practices That Work

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

Page 25: Open Source Software Development Practices That Work

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 

Page 26: Open Source Software Development Practices That Work

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

Page 27: Open Source Software Development Practices That Work

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