making agile work—with eleven product owners

24
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

Upload: techwellpresentations

Post on 28-Jul-2015

29 views

Category:

Software


1 download

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.

How to make agile work with 11 Product Owners

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

Jira / Sprint Workflow

Lets look at some sprints

Sprint 1

Sprint 5

Sprint 10

Lets look at some sprints

Sprint 15

Sprint 25

Lets look at some sprints

Sprint 30

Sprint 31

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”

Conclusions Agile / Scrum has worked for Apex The developers have done well with communicating in the daily

standups and supporting the bi-weekly sprint reviews We currently have several flavors of agile in progress

Find what works for you and continuously improve on it

There is no silver bullet