open source software development practices that works

29
Open Source Software Development Practices that Works (or how to get software done) #mosc2010

Upload: seymour-cakes

Post on 19-May-2015

482 views

Category:

Technology


1 download

DESCRIPTION

Open Source Software Development Practices that Works

TRANSCRIPT

Page 1: Open Source Software Development Practices that Works

Open Source Software Development Practices

that Works(or how to get software done)

#mosc2010

Page 2: Open Source Software Development Practices that Works

I think a lot about making good software -- and that is what I am going to talk about today.

Basically, I learned enough tricks to be good at what I do.

Hi! I develop software for a living.

Page 3: Open Source Software Development Practices that Works

Be Agilebecause it works

Page 4: Open Source Software Development Practices that Works

Ya use Agile methodology?

No.

Me neither.

Page 5: Open Source Software Development Practices that Works

http://agilemanifesto.orgWe 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 toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a plan

That is, while there is value in the items on the right,

we value the items on the left more.

"

Page 6: Open Source Software Development Practices that Works

Extreme ProgrammingScrumCrystal ClearLean Software DevelopmentKanban Software DevelopmentRational Unified ProcessTest Driven Development...

Agile Methodologies

Page 7: Open Source Software Development Practices that Works

It basically means we got a pretty good plan to get things done.

You can worry less now. ;-)

Page 8: Open Source Software Development Practices that Works

It Worksbecause it's simple

Page 9: Open Source Software Development Practices that Works

User StoriesJust enough details to make time estimate, priority and 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 10: Open Source Software Development Practices that Works

Deliver IterativelyHave clear milestones and short iterations

Break all tasks down to iteration

Plan in iteration -- 1 to 3 weeks

Page 11: Open Source Software Development Practices that Works

VS

Page 12: Open Source Software Development Practices that Works

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 13: Open Source Software Development Practices that Works

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 14: Open Source Software Development Practices that Works

Source: Agilefun.com, Agile Romania UG Meeting Bucharest

Page 15: Open Source Software Development Practices that Works

Daily StandupWhat I accomplished yesterdayWhat I plan to accomplish todayWhat issues are blocking progress

5-10 minutes

Page 16: Open Source Software Development Practices that Works

http://ayagebeely.blogspot.com/2009/10/stand-up-meeting.html

Page 17: Open Source Software Development Practices that Works

Short to-do listBecause long todo-list don't get done

Limit the number of tasks

Usually it looks like a checklist

Page 18: Open Source Software Development Practices that Works

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 19: Open Source Software Development Practices that Works
Page 20: Open Source Software Development Practices that Works

RefactorKeep it really simple and continue to keep it simple as 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 21: Open Source Software Development Practices that Works

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 22: Open Source Software Development Practices that Works

Poka Yoke

Page 23: Open Source Software Development Practices that Works

Bug Tracking

Page 24: Open Source Software Development Practices that Works

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 25: Open Source Software Development Practices that Works

FACE FAILURE

Page 26: Open Source Software Development Practices that Works

Continuous ImprovementKeep 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 27: Open Source Software Development Practices that Works

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 necessary 5. Daily standup works, please do it Mon to Fri6. Short to-do list works, use it7. 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 28: Open Source Software Development Practices that Works

Because it's simpleyou can adapt and improvise

Page 29: Open Source Software Development Practices that Works

Thank You