making agile work—with eleven product owners
TRANSCRIPT
AT10 Agile Development Concurrent Session 11/13/2014 1:30 PM
"Making Agile Work—with Eleven Product Owners"
Presented by:
Neal Huffman Apex Capital Corp.
Brought to you by:
340 Corporate Way, Suite 300, Orange Park, FL 32073 888-268-8770 ∙ 904-278-0524 ∙ [email protected] ∙ www.sqe.com
As both a developer and product manager Neal Huffman has more than twenty-five years of building innovative solutions in the software arena. Initially, Neal worked in the telecom industry and for the past ten years in the enterprise space—utility billing, courts and justice, transportation—helping transition organizations to agile while building PCI-compliant eCommerce solutions. Neal is ScrumMaster certified and an Agile Product Owner.
Agenda - Who is Apex? - Why Agile / Scrum? - How Agile are we? - How does Agile really work for Apex? - What challenges have we faced with Agile?
Apex Capital Corp Apex Capital Corp – focused on freight factoring since
1995 Started with two owners (one of which was the founder) Grew from 1 employee in 1994 to ~200 in 2014 Purchase an average of $8-11 Million per business day
in invoices Will purchase more than $2B in 2014 Write custom software to run the business for both
internal user communities and external clients
ShipperManufacturer
Consignor
3. Carrier Picks UpLoad
4. Carrier DeliversLoad
8.5. Receiver Pays Broker(If Collect)
8.5 Shipper Pays Broker(If Prepaid)
2. Broker/CarrierNegotiate Load
ReceiverDistributorConsignee
5. Carrier Sends Invoice to Apex
Broker
Carrier
Shipper
Food Mart
Receiver
1. Shipper/BrokerNegotiate load
APEX
6. Apex audits/makes Funding decision
7. Apex funds client
8. ApexBills broker
9. Broker paysApex
10. Apex pays outInvoice to client (reserve, etc.)
Internet
Custom s/w in development / support
Why Agile/Scrum?
Familiarity: Used in 2007 when I hired some consultants to help build a time critical software interface (they would only help if we used agile/scrum)
One of the seven developers at Apex (we’re now up to 13) had used it at a previous job and spoke highly of it
Results from existing paradigms were good, although more insight and communication throughout the organization was desired
The company was growing and the development team was willing to try something new
Agile Scrum promotes a Done Done Done concept of delivering software … and people liked to hear that
Customers and/or clients get engaged with the development team as their requirements are built … and people liked that
IT Development and Support Model - 2013
Each developer provides daily: System Support
User support Cube visits to users User walk ups
JIRA Support Bugs Enhancements Short term projects Longer term projects
Project Development Support M3, M4 Client web site
After hours support (email, phone, text)
Developers
Josh
Kris
David
Dave
Chad
Daniel
Fred
A Software Factory
PRECONCEPTIONS BELIEFS F
EARS
EXPE
CTA
TION
S DESIRES MEMORIES
ConsciousMind
Sub-Conscious
MindHabits
Reactions
Value Perceptions
and Judgments
Knowledge, Talents, & Skills
Wisdom
Values
Actions Choices
Results & Outcomes
“Inner Operating System”
“Outer Operating System” Agile Best Practices
If you want
to improve this
Design Code Test
“I don’t always test my code, but when I do, I do it in production.”
- Author unknown 7
Software Outputs
Require- ments
How Agile are we?
Software Applications:
Development Teams: Dev-Ops: 4 members, 2 week sprints, estimate in points, 32+ sprints
Support existing apps used in production
NextLoad: 3 members, Kanban, estimate in hours TCS: 7 members, Kanban, estimate in 6 hour blocks
Product Owners: Create backlog Meet bi-weekly, Discuss business priorities, Prioritize sprints Facilitate testing / “approval”
Software Application Using Agile /Kanban Product Owner Notes
Mobile App n/a Not in development currentlyM3/M4 AMP (Client Site) NextLoad TCS Fuel Card
How does it really work?
Two week sprints Everything is tracked in Atlassian-JIRA (formerly Greenhopper) Daily Standups – attended by Product Owners and Developers
Bi-weekly Product Owner Planning Meetings All Product Owners attend (i.e. those that want their stories included in the sprint)
Sprint Reviews Product Owners attend the demonstrations
Sprint Retrospectives
How does it really work?
Each User Community has a board to manage their development requests
1. Underwriting 2. Client
Accounting 3. Account
Executives 4. Integrated
Services 5. Sales &
Marketing 6. Integrated
Services 7. Account
Services 8. Accounting 9. Cash
Applications 10.Credit 11.Legal
User Communities
How does it really work?
Each User Community has a board to manage their development requests
The workflow allows them to enter as many items on their board as they want
How does it really work?
Each User Community has a board to manage their development requests
The workflow allows them to enter as many items on their board as they want
Once the item is entered, someone from the software team will review the item (either with the initiator or independently) and put an estimate on it (in hours or points)
How does it really work?
Each User Community has a board to manage their development requests The workflow allows them to enter as many items on their board as they
want Once the item is entered, someone from the software team will review the
item (either with the initiator or independently) and put an estimate on it (in hours or points)
The software team will mark it “Ready for Dev” which allows the User Community to move it to their “Top Five” list
Once its in their Top Five, it will show up on the “backlog” and can be prioritized by the Product Owners
Sprint History 2013-2014
56
34
99
107
80
50
20
50
38
46 44 50
59
18 24
40
67
41 45
40
16
83
112
54
42
12
42
26
16 14
22
53
18 20 14
59
40
30
0
20
40
60
80
100
120
sprint 13
Sprint 14
Sprint 15
Sprint 16
Sprint 17
Sprint 18
Sprint 19
Sprint 20
Sprint 21
Sprint 22
Sprint 23
Sprint 24
Sprint 25
Sprint 26
Sprint 27
Sprint 28
Sprint 29
Sprint 30
Sprint 31
Sprint Planned vs. Completed
Planned Project Hours Completed Project Hours
What challenges have we faced with Agile?
Story estimation has been a challenge Hours vs Points?
We settled on both approaches (based on team you’re working with)
What challenges have we faced with Agile?
Generating good user acceptance criteria Product Owners primarily open JIRAs for their community
Provided 2 days of Product Owner certification/training
Added a “required” field in JIRA for “Acceptance Criteria”
What challenges have we faced with Agile?
Story estimation Hours vs Points?
We settled on both approaches (based on team you’re working with)
Generating good user acceptance criteria Product Owners primarily open JIRAs for their community We’ve put in a “required” field in JIRA for
When is software really really done? Larger sprints tend to cause larger technical debt lists
Work on getting a velocity that makes sense, allowing testing/acceptance to occur
Product Owners (or their user communities) are responsible for testing beta software Upon their approval, the Devs release code to production A “beta” production server exists for a small subset of users to test new functionality
Only when “approved” is put on the JIRA item by the Product Owner, is an item considered “Done”