Presentation is loading. Please wait.

Presentation is loading. Please wait.

Agile Software Development Brian Link

Similar presentations


Presentation on theme: "Agile Software Development Brian Link"— Presentation transcript:

1 Agile Software Development Brian Link brian@brianlink.me

2 What is Agile? Not this: http://www.flickr.com/photos/juniorvelo/

3 Waterfall Sucked ๏ Million dollar design documents ๏ Irrelevant product when done after 12 mos ๏ Focus on deliverables and process – not people and customer ๏ Big design up front (BDUF) is good and the whole fix bugs upstream thing… ๏ But without iterative and adaptive processes to incorporate change, you must have a well defined project up front (impossible?)

4 Agile’s more like this: ๏ Communication ๏ Simplicity ๏ Feedback ๏ Courage ๏ Respect

5 Agile Manifesto ๏ Satisfy the customer. Build value quickly ๏ Be adept at accepting, adopting change ๏ Crank out code releases frequently ๏ Focus on relevant business goals ๏ Embrace interactions, not deliverables ๏ Focus on quality, working code ๏ http://agilemanifesto.org

6 And sort of like this:

7 Agile is not just one thing ๏ It’s a collection of methodologies and strategies ๏ People often pull from various things to varying degrees and make their own - Scrum - Extreme Programming (XP) - Pair Programming - Test Driven Development - Lean Software Development

8 Benefits of Using Agile ๏ Focus on building business value ๏ Micro management without micromanagement ๏ Issues uncovered in real-time

9 Benefits of Using Agile ๏ Control deadlines by shifting features to later sprints ๏ Partnership between tech and business ๏ Transparent status updates daily

10 It’s not just winging it ๏ Cowboy coding is entirely different ๏ This is just-in-time design and delivery ๏ It’s efficient, not stupid ๏ Principles of Lean Software - Honda production line: nothing wasted

11 Scrum Process PrioritizedEstimated, Assigned

12 Daily Tracking & Burndown ๏ During Scrum, progress on tasks are tracked then reported publicly ๏ Bite-sized features easier to estimate ๏ Sprint deadlines enforced by controlling backlog list (add or remove) ๏ Trac + plugin can manage tasks, estimates and burndown charts

13 Scrum - Roles ๏ Pigs - Product Owner - Scrum Master - Dev Team ๏ Chickens - Users - Stakeholders/Sponsors - Managers ๏ Scrum / Daily Standup - What did you do yesterday, today, issues?

14

15 Test Driven Development ๏ Write tests as early as possible - QA helps define/ensure functionality features ๏ Use a tool to track the tests - PHPUnit, Selenium ๏ Continuous Integration Environment - Automate integration testing - Cruise Control ๏ Testing done all the time - No big “OMG, we have to test this thing now”

16 Digg’s Process Evolved ๏ Started with 3 developers, chaos ๏ Gradually added more to team, added some process (source control!, design specs, estimated task list) ๏ Doubled to 8-10, formed three virtual teams - Big projects, small projects, infrastructure ๏ After 12-14, embraced Agile much more consistently – multiple daily scrums, etc.

17 Digg Team Structure ๏ Six functionally separated senior teams ๏ Two App/Feature teams, Core/Infra, Maintenance, Admin/Security/Ads, Architecture/Mgt

18 Digg Product Management ๏ MRD - Marketing Req’ts doc - Measurable goals, intentions, reasons ๏ PRD - Product Req’ts doc - Screens + features ๏ Portfolio prioritization - Every other week cross functional meeting ๏ Feature and scope management

19 Digg Sample Timeline ๏ Four week cycle ๏ Lots of discussion before project is “approved” and started by dev team ๏ Week one is overlap with previous cycle ๏ Working out estimates, assignments, design ๏ Week two-three heavy dev work ๏ Week four – dry runs to launch, testing

20 Try it, invent your own ๏ Proceed with some forethought ๏ Have someone who knows what they’re doing guide the process ๏ Take one project in your portfolio with a small team and experiment ๏ Feedback loop is critical at the end - Analyze what worked and what didn’t and adjust


Download ppt "Agile Software Development Brian Link"

Similar presentations


Ads by Google