0% found this document useful (0 votes)
48 views67 pages

Practical Agile c4l 2012

practical agile, how to practice agile with step by step - u can start to read and practice all about agile methodologies

Uploaded by

Mohamed Said
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
48 views67 pages

Practical Agile c4l 2012

practical agile, how to practice agile with step by step - u can start to read and practice all about agile methodologies

Uploaded by

Mohamed Said
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 67

Practical Agile: 

What’s Working for Stanford, Blacklight, and Hydra

Naomi Dushay
Stanford University
Management Might Start Here …
Stanford had …
40 projects
10ish “project managers”
8½ developers
(Some of our) Goals

 Throughput
 Transparency
 Accurate Planning
 Sustainable
Improving Productivity …
Max 2 Projects/Developer
Who Project 1 Project 2
Naomi Dushay SW – Course Reserves SW – Images
Jessie Keck SW – Course Reserves Hydra-Head
Willy Mene Puppetize Lyberservices DOR publish
service
Michael Klein Argo - something (Shark Dirigible)
Problem: Competing Priorities
Solution: Iteration
Planning

Backlog Now
One Month’s Goals
That was …

• 40 17 projects
• 10ish “project managers”
• 8½ developers
You Might Try …
• Extreme Display:
• All “Active” Projects
• Priorities
• Currently In Progress

• Refuse More Than Two Simultaneous Projects


Problem: Lack of Focus

Feature Feature Feature

Feature
Feature Feature Feature

Feature Feature
Feature
Feature
Solution: Focused Iterations
Backlog Now
Feature Feature Feature
Feature Feature
Feature
Feature Feature
Feature
Feature
Feature
Solution: SMART Goals

• Specific
• Measurable
• Achievable
• Realistic
• Timely
Agile Task Board
Backlog On Deck In Progress Done
You Might Try …
• Task Board
• “Public” View of Your Recent Work
Problem: Too Many Meetings
Solution: Developer Happiness Hours
Solution: Dead Week
You Might Try …
• Block Out Times In Your Calendar
• Multi-Hour “Meetings” With Colleagues
• Suggest to Management
• They Have Non-Meeting Work Too!
Problem: Sharing Knowledge Locally

I wonder if
someone Eh, I’ll just
can help figure it out
Workspaces

Co-location
 Open Sight Lines
 More People Per Room
 Less Wall Space for Whiteboards, Task Boards …

Easy Reconfiguration
Solution: Open Sight Lines

Hey Willy:
Have a sec? Jessie, can
you look
at this?
Solution: Non-Developers, too

Lynn, is this
what you
meant? This design is
tough to
implement; can
we revisit?
You Might Try …
 Demolish Cube Walls

 Temporary Co-Location
 Large shared office
 Conference Room
 Study Room
 Coffee Shop

 Lunch with Coworkers, Product Owners …


Flex Room
Pair Programming
Problem: Lack of Visible Progress
Solution: Short Iterations

1 week or

Short is: 2 weeks or

1 month or …
Solution: Good Communication

• Regular Meetings
• Email List
• Wikis
• Tracking System (e.g. JIRA)
Solution: Planned Work is Public
Solution: Progress is Public
You May Need (JIRA) Foo

 Versioning
Components
 Workflow
Problem: Scrum Unrealistic
We have too many
simultaneous
projects

I can’t dedicate 5
developers to a
single project, even
short term
Solution: Take Pieces of Agile
• Short Iterations of Narrow Focus
• Communication Across Roles
• Co-Location
• Pair Programming
• Transparency
• …
Experiment!
• Scrum
• Short, Focused Iteration
• (2?) – 7 People
• Temporary Co-Location
• Task Board
• Pair Programming
• Daily Stand Ups
Problem: No Local TDD

I’ve been
meaning to
do it…
Solution: Requirement of OSS

No Code
Without Passing
Tests!
OK
Open Source Software

 True Group Ownership


 Good Communication
 Rotating Roles
 Bigger (release manager for pieces)
 Smaller (meeting moderator, notetaker)
Problem: Distributed Developers

(Eddie Shin)
Solution: Realtime Contact
Weekly Check-Ins

As Needed

Face to Face!
Problem: Developer Distrust

Their stuff is I hate his


always buggy code

I could do
… if I
this faster
had time
myself …
Solution: Good Development Practices
 Automated tests
 Continuous Integration
 Automatic Notifications
 Code Coverage Data
 Transparency
 Documentation Coverage Data
Solution: No Code Without Tests
Solution: Test Coverage Transparency
Solution: Automated Test Runs
Solution: Test Result Transparency
Solution: Auto Change
Notification
Solution: Change Transparency
Solution: Public, Shared Code
Solution: Doc Transparency
Bonus Slides
Problem: Unhappy “Customers”

This isn’t I
what I asked implemented
for the spec

I didn’t realize
it would look
like this
Solution: Collaborative Design
Solution: Behavior Driven Dev
When I am on the search results page
Then id 867 should be before 567
And if I select “title” from the search pulldown
Then id 567 should be before 867

It should …
Problem: Need Stable Test Data

Tests keep failing


because the data
keeps changing
Solution: Mocks, Stubs, Fixtures
Fixtures: data for tests

Mocks: I don’t need an actual object, just a


placeholder with a little bit of the information

Stubs: I know I’m gonna call a method with certain


arguments, and I know what it returns and it isn’t
the method I’m testing right now
Problem: Endless Discussion
I think you
Is this
should do it
approach
this way
okay w folks?

No, this
other
way
Solution: Working Code Wins

I’m going to Suggestion


do this

Suggestion
Estimating Work is HARD

 Larger Estimates are Less Accurate

 Make it Relative, Not Absolute

 Fibonacci?

 Hours / Days / Weeks / Months?


New 80 / 20 Rule …

80% of the Work Happens in the Last


20% of Elapsed Time for the Project

(Tom Cramer)

You might also like