SlideServe
Menu
Préférences
© SlideServe · v2026

Agile Software Development

cosima avatar
20 diapositives · 439 Views · Aug 10, 2014

Agile Software Development. Brian Link brian@brianlink.me. What is Agile? Not this:. http://www.flickr.com/photos/juniorvelo/. Waterfall Sucked. Million dollar design documents Irrelevant product when done after 12 mos Focus on deliverables and process – not people and customer

Agile Software Development - slide 1
01 / 20Agile Software Development
1 / 17

Télécharger la présentation

Agile Software Development
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  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 Prioritized Estimated, 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. 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”

  15. 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.

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

  17. 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

  18. 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

  19. 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