Agile Software Development
no text exists for this slide
no notes exist for this slide
What is Agile Not this
no text exists for this slide
Waterfall â long design and long development, handoffs, signoffs, hard to guarantee youâre building what business needs. Some ungodly percentage of big projects either never get used or use just a fraction of the features developed.
Waterfall Sucked
Million dollar design documents
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?)
no notes exist for this slide
Agiles more like this
Communication
Communication
Simplicity
Feedback
Courage
Respect
Iterative and adaptive models more appropriately reflect the agile method. Similar to DSDM
Agile Manifesto
Satisfy the customer. Build value quickly
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
no notes exist for this slide
And sort of like this
no text exists for this slide
Just get the driveway kinda clear. Just in time processes, not perfect, iterative.
Agile is not just one thing
Itâs a collection of methodologies and strategies
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
no notes exist for this slide
Benefits of Using Agile
Focus on building business value
Focus on building business value
Micro management without micromanagement
Issues uncovered in real-time
no notes exist for this slide
Slide 9
Control deadlines by shifting features to later sprints
Control deadlines by shifting features to later sprints
Partnership between tech and business
Transparent status updates daily
no notes exist for this slide
Its not just winging it
Cowboy coding is entirely different
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
no notes exist for this slide
Scrum Process
no text exists for this slide
no notes exist for this slide
Daily Tracking amp Burndown
During Scrum, progress on tasks are tracked then reported publicly
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
no notes exist for this slide
Scrum Roles
Pigs
Pigs
Product Owner
Scrum Master
Dev Team
Chickens
Users
Stakeholders/Sponsors
Managers
Scrum / Daily Standup
What did you do yesterday, today, issues?
no notes exist for this slide
Slide 14
no text exists for this slide
no notes exist for this slide
Test Driven Development
Write tests as early as possible
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â
no notes exist for this slide
Diggs Process Evolved
Started with 3 developers, chaos
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.
no notes exist for this slide
Digg Team Structure
Six functionally separated senior teams
Six functionally separated senior teams
Two App/Feature teams, Core/Infra, Maintenance, Admin/Security/Ads, Architecture/Mgt
no notes exist for this slide
Digg Product Management
MRD
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
no notes exist for this slide
Digg Sample Timeline
Four week cycle
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
no notes exist for this slide
Try it invent your own
Proceed with some forethought
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
no notes exist for this slide
thanks
Posted By: ساريه السواس الك فدوه On: 10/14/11 1:08 PM