lessons learned in agile development

45
www.synerzip.c om Confidential Lessons Learned in Agile Development Jim Smith PDX, Inc.

Upload: coyne

Post on 04-Jan-2016

60 views

Category:

Documents


0 download

DESCRIPTION

Lessons Learned in Agile Development. Jim Smith PDX, Inc. Disclaimer:. I am not a consultant! (not that there’s anything wrong with that) I am: Developer, by trade. Been in management for the past eleven years. Oversee development of four complex product lines. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lessons Learned in Agile Development

Jim SmithPDX, Inc.

Page 2: Lessons Learned in Agile Development

www.synerzip.comConfidential

Disclaimer:

• I am not a consultant! (not that there’s anything wrong with that)

• I am:– Developer, by trade.– Been in management for the past eleven years.– Oversee development of four complex product

lines.– Approximately 250 programmers, QA testers,

Software architects and DBA’s.

Page 3: Lessons Learned in Agile Development

www.synerzip.comConfidential

Context

• PDX. . .• The original PDX Agile project. . .

Page 4: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lesson #1

• Everybody thinks they’re already Agile.

Page 5: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lesson #2

• Enabling developers to commit has spectacularly good effects:– They own it!– They manage their own overtime!– They drive teammates!– They escalate!

Page 6: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lesson #3

• Managers get to do good things:– Coach/mentor– Strategic organizational and infrastructure

enhancement and fixes (e.g. – switch from proprietary bug tracking system to Jira)

– Audit– Get and stay plugged into business– Keep foot soldiers educated– Give morale maintenance the care and feeding it

deserves– Talk to each other

Page 7: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lesson #4

• Write good user stories.– Good user stories are beautiful.– Apply the “no system” litmus test.

Page 8: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lesson #5

• The industry feels that pre-planning is necessary.

Page 9: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lesson #6

• TDD: a way of life

Page 10: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lesson #7• At all levels, currents push us back toward

waterfall:– More docs– More time up front– More time for regression testing– Email, IM and bug record correspondence

Page 11: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lesson #8• Even the best and brightest have trouble with

collaboration.– It’s a required skill in today’s software

development shop.

Page 12: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lesson #9

• The team will gladly turn in slackers.

Page 13: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lesson #10

• [Lean] documentation is still good.

Page 14: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lesson #11

• “Nothing is over! Nothing!” –John Rambo

Page 15: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lesson #12

• The team must understand: You can’t do everything that falls out of retrospectives.

Page 16: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lesson #13

• Although not ideal, team members can be scrum masters.

Page 17: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lesson #14

• You can get executive, managerial and customer buy-in with your first demo and through training on user stories

Page 18: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lesson #15

• Customers and other stakeholders at demos = bueno!

Page 19: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lesson #16

• Let the scrum team stay focused; retain a production support team.

Page 20: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lesson #17

• Get your DBA team to agree to an SLA.

Page 21: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lesson #18

• Break down those user stories!

Page 22: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lesson #19

• Keep noisy managers and executives out of kick offs.

Page 23: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lesson #20

• The stand up is for all.

Page 24: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lesson #21

• The PO must appreciate the value of paying technical debt.– 20%

Page 25: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lesson #22

• The PO is not the team owner.

Page 26: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lesson #23

• People won’t talk? Slamming doors? Putting up walls? = dysfunctional Agile team.

Page 27: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lesson #24

• Parties and other rewards after demos == bueno!

Page 28: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lesson #25

• Don’t let a sprint go longer than five weeks.

Page 29: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lesson #26

• Train your developers to sign off on user stories early.

Page 30: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lesson #27

• The PO position is a fulltime job, for a member of the business, who can appreciate technical debt.

Page 31: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lesson #28

• Co-location of sprint team members is good!• At a minimum, members of a given sprint

team should live on the same continent (except business analysts and architects)

Page 32: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lesson #29

• Your development and test environments are production environments.– Enormous waste when they’re down.– Many grumpy people when they’re down; they’re

missing deadlines to which they committed!

Page 33: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lesson #30

• Don’t treat your India folks like warm bodies. . .or they’ll act like warm bodies.

Page 34: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lesson #31

• Sashimi is a great idea, but not always 100% possible.

Page 35: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lesson #32

• Velocity steadily increases when your team rosters are constant, and working on the same product(s).– If you frequently change team rosters, then

abandon hope that velocity will increase.

Page 36: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lesson #33

• The product ought to be ready for production after every sprint.– Although not always practical, strive for it with

every sprint!

Page 37: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lesson #34

• The Scrum Master is a strong servant leader.

Page 38: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lesson #35

• Plaster that product backlog EVERYWHERE!– The whole team needs to know it!– The company brass needs to know it!– Customers need to know it!

Page 39: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lesson #36

• Developers are professionals – not privates in the army. Treat them as such.

Page 40: Lessons Learned in Agile Development

www.synerzip.comConfidential

Lesson #37

• “Scrum” is not an acronym.

Page 41: Lessons Learned in Agile Development

www.synerzip.comConfidential

Q&A

Page 42: Lessons Learned in Agile Development

www.synerzip.comConfidential •4284

www.synerzip.comHemant Elhence

[email protected]

Page 43: Lessons Learned in Agile Development

www.synerzip.comConfidential

Synerzip in a Nutshell

1. Software product development partner for small/mid-sized technology companies

• Exclusive focus on small/mid-sized technology companies, typically venture-backed companies in growth phase

• By definition, all Synerzip work is the IP of its respective clients• Deep experience in full SDLC – design, dev, QA/testing, deployment

2. Dedicated team of high caliber software professionals for each client

• Seamlessly extends client’s local team, offering full transparency• Stable teams with very low turn-over• NOT just “staff augmentation”, but provide full mgmt support

3. Actually reduces risk of development/delivery• Experienced team - uses appropriate level of engineering discipline• Practices Agile development – responsive, yet disciplined

4. Reduces cost – dual-shore team, 50% cost advantage5. Offers long term flexibility – allows (facilitates) taking

offshore team captive – aka “BOT” option

Page 45: Lessons Learned in Agile Development

www.synerzip.comConfidential

Call Us for a Free Consultation!

Hemant Elhence [email protected]

469.322.0349

Thanks!