The document describes practices at Pivotal Labs, an agile software development company. A typical day involves a large standup meeting for all employees, followed by team standups and pairing on projects. The workspace is designed to be open and collaborative, with pairing stations, visible build monitors, and opportunities for learning like weekly tech talks. The company has multiple offices that follow similar practices and occasionally rotate employees between locations.
Presentation on how to chat with PDF using ChatGPT code interpreter
Agile, the Pivotal way
1. Agile, The Pivotal Way
20 years of experience
Condensed into some things that work for us
Ian McFarland, VP Technology ian@pivotallabs.com
2.
3. Pivotal Labs Snapshot
• Founded 1989
• Agile since mid ‘90s
• Rails since 2006
• Approximately 100 people, and growing
• HQ in San Francisco
• Regional offices in New York, Boulder,
and Singapore
4. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
A little quieter
than we used to be
6. ...starts with breakfast
Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
7. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
8. Followed by Standup
Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
9. Followed by Standup
Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
10. Stand-Up for 50 People?
Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
11. The Large Standup Covers
Things of Global Utility
• Help
• Anything anyone needs help on
• Interesting
• Anything of global interest or utility
• New techniques, interesting gotchas, events
• Introductions
• Anyone new to the office
• Stretch
12. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
A whiteboard helps capture
Helps and Interestings
13. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
It’s a place for people to jot
• Bulleted Text Goes Here
• Bulleted Text Goes Here
down topics so they’re not
• Bulleted Text Goes Here
forgotten
14. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
An information radiator
• Bulleted Text Goes Here
shows who’s on what project
this week.
15. The big standup is followed
by Team Standups
Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
16. The big standup is followed
by Team Standups
Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
17. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
...and then we start pairing
18. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
...and then we start pairing
19. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
20. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
21. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
Pivot
• Bulleted Text Goes Here
Client
• Bulleted Text Goes Here
22. Product Owners are
Close at Hand
Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
23. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
Build monitors...
24. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
...are visible...
25. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
...and ubiquitous.
26. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
Wednesday Tech Talks
27. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
...which we videotape
28. ...and
Title share...
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
http://pivotallabs.com/talks
29. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
email station
30. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
32. A Typical Day at Pivotal Labs
• 8:45 Breakfast
• 9:07 Standup
• 9:15-ish Team Standups
• Noonish Lunch
• 6:00 End of the work day
Pivot Pong PRN
33. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
The Theory Behind Breakfast
34. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
Pivot Pong
35. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
36. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
37. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
38. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
39. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
41. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
We try to remove
impediments to productivity
42. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
43. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
...and foster learning...
• Bulleted Text Goes Here
44. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
45. Productive Workspace
• Open Workspace
• Colocated Developers and Customer
• Consistent Pairing Stations
• One big screen, 2 keyboards (we use 27” and 24” iMacs)
• No laptops on the floor
• Visible build monitors
• Everyone can see the backlog in Tracker
• Breakfast, snacks and beverages on hand
• Space for interruptions away from the workspace
46. Standard Development Workstation
• Keeping tools consistent across machines is critical to
high-rotation pairing.
• People don’t have their own machines, but sit where
their project is.
• Machines are reimaged after each project • ASR FTW!
• A brand new machine is ready to use within 30
minutes of it showing up on the floor.
47. Why Sustainability Matters
(for bean counters)
• Predictable delivery is at a premium
• Tired developers introduce bugs
• Developer retention is important!
• Good developers are never easy to come by
• Ramp-up is expensive
• Team changes expose companies to risk
• Crunch time buys short-term productivity at long-
term cost
48. Why Developer Happiness
is Important to the Business
• Leading Indicator: Developer Happiness strongly
correlated to Developer Productivity
Grunt Work = Money Wasted
• Happy workers are more focused
49. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
Multiple Locations
50. The New York Office
Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
51. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
Standup Agenda Whiteboard
52. Pairing Stations
Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
53. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
Tech Talks
54. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
Tech Talks
55. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
Email Stations
56. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
Community Events
57. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
Community Events
58. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
Community Events
59. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
Community Events
60. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
Community Events
61. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
Community Events
62. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
Boulder, Colorado
63. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
64. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
65. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
70. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
Simple Telepresence
71. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
Meeting rooms all set up for
teleconferencing
72. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
Robots! We have Robots!
73. Cheap and Cheerful Telepresence
• Mac Mini
• HDTV
• iSight
• Snowball Mic
• Skype or iChat
• Total: about $1,500
77. That’s nice... How do we do that?
• Business Driven: Requirements come from business stakeholders
• Iterative Development, with Short Iterations
• Test/Behavior Driven Development
• Continuous Integration, Continuous Releasability
• Pair Programming
• Productive Work Environment
78. Business Driven
• Requirements come from business stakeholders
• One designated Customer is empowered to make decisions
• Priorities are set by that Customer
• The Customer can change priorities on anything unstarted
• The Customer accepts the work in fine-grained increments
• The Customer is intimately aware of progress, and projected
completion dates
• Closing the feedback loop is critical Accept Reject
79. TDD/BDD
• Good tests tell us when we’ve met the customer requirements
• They tell us when we’ve broken behavior that used to work
• They tell us when we haven’t, so we can refactor with impunity
• Writing tests first keeps us from overdesigning/doing things we
don’t need to do
• Writing tests first forces cleaner API design, because we have to
call into our own code in order to write it
• It leads to looser coupling and encourages higher cohesion
• Good developer testing keeps the cost of change constant
80. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
81. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
83. Iterative Development
• Because the customer is seeing the work on a daily basis, the
feedback cycle is short
• This keeps the cost of change low, by preventing unnecessary
work
• It allows for new insights to be gained from the work we’ve
already completed, and for those insights to be incorporated
into our new code
• Iterations are as short as we can make them
84. Continuous Integration,
Continuous Releasability
• Knowing when things break is critical to reducing the cost of
fixing defects.
• Keep the build status visible, so you can fix it quickly
• A broken build is a ‘stop the line’ event
• Continuous releasability does not mean you release every day.
• It just means you can.
• Releases can be distracting, so weigh the cost of a release
against the value it adds to the business.
85. Pair Programming
• Do we really have to pair?
• Isn’t Pairing Slower?
• I don’t like pairing.
• I’m shy.
• I don’t want to look stupid.
86. Do we really have to pair?
•Yes, you do.
• ...but only if you want to be efficient
• This is one of the least-used practices, and one of
the most important.
• And stop whining! You do it already when you get
stuck on something.
88. What do developers really do all day?
• Coding
• Reading web pages about coding
• Stuck on some problem, unsure of:
• The right approach
• What the API for that object was
• How SQL indexes are selected
• How bind(this) works in JavaScript
• Checking email
• Checking news, stock price, staring blankly into space
89. How does pairing help?
• 80/20 rule: You don’t get stuck, so you spend your time on
the most interesting part of the code.
• As you eliminate the grunt work (thanks Rails) more of the
work requires real thinking, and design
• You talk through design, and refine before you code.
• You learn from your pair, everything from design and testing
techniques to (no)SQL, CSS, and JavaScript tips.
• Focus matters: Your pair keeps you paying attention, and
can smooth over disruptions
90. How does pairing help?
• More developers in a smaller space
• How many truly independent fronts are there in your
codebase on which you can make progress?
• New team members: You’re really productive the first hour,
not marginally productive starting two weeks in
• They have a local sherpa to tell them how the code they’re
working on actually works.
• Knowledge Silos: Your bus number approaches ∞
97. Team Size
• A single pair has zero communication overhead
• 2-3 pairs have almost no communication
overhead, as long as pairs are rotated
• 4-5 pairs require a whole additional FTE for
coordination
• Above 5 pairs, projects really need to be
subdivided into separate efforts
• And you have to have enough separable work so
that the additional people are adding value
103. Agile is not...
Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
104. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
...a religion.
108. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
The Client Engagement
109. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
113. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
The Agile Inception
116. Client Engagement Model
• Get their Product Owner in our space
• Start as the whole team,
or work with their existing team
• Help them hire, replacing Pivots as we go
• At the end of the project, they know our
practices, and their own code base
117. Business Terms
• Net 15, with 30 day retainer
Christopher Isherwood
118. Culture Matters!
• Consistency of service
between teams and locations
• It works!
Maintaining the Culture
kaibara87
119. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
The Team Matters
121. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
122. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
Market Street
San Francisco
123. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
Shake Shack
• Bulleted Text Goes Here
• Bulleted Text Goes Here
Broadway
Manhattan
124. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
Pearl Street
Boulder
126. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
Hire Well
127. Hire better than you
• A’s hire A’s
• B’s hire C’s
• Hire A+’s
rochelle, et. al.
128. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
Hire for Aptitude and Fit
130. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
Pairing with a Candidate
131. Title
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
• Bulleted Text Goes Here
135. Come Visit!
• You all have an open invitation to
come visit us in any of our locations.
• Just drop me a note and we’ll set it up.
136. Thanks!
• Ian McFarland, VP Technology, Pivotal Labs
• @imf
• ian@pivotallabs.com
• Talks at http://pivotallabs.com/talks
• Jobs at http://pivotallabs.com/jobs
• Try out Tracker at http://pivotaltracker.com/
• Photos used under with attribution as noted or are
original works