+ All Categories
Home > Technology > Being agile while trying to do many things at once

Being agile while trying to do many things at once

Date post: 21-Jan-2018
Category:
Upload: robertwalsh
View: 617 times
Download: 0 times
Share this document with a friend
44
Lima, Perú – 4 al 7 de Octubre 2010 Copyright©2010 Robert Walsh - All Rights Reserved Being Agile While Trying to Do Many Things At Once Robert Walsh President EnvisionWare, Inc. [email protected] 1 Tuesday, October 12, 2010
Transcript
Page 1: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

Being AgileWhile Trying to Do Many Things At Once

Robert WalshPresident

EnvisionWare, [email protected]

1Tuesday, October 12, 2010

Page 2: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

Agenda

• Who is EnvisionWare?

• The Problem

• What We’ve Tried

• Next Steps

• Conclusion

2Tuesday, October 12, 2010

Page 3: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

Who is EnvisionWare?

3Tuesday, October 12, 2010

Page 4: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

Who is EnvisionWare?

• Library technology company

• Focus on products for patron self-service

• Develop most, OEM some

• Founded in 1998

• Have grown from 2 to ~60 employees in just over 10 years

4Tuesday, October 12, 2010

Page 5: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

Who is EnvisionWare?

• Using Agile processes and principles since around 2002

• XP for engineering practices

• Scrum for project management

• 2 week iterations

• A few near shore developers on contract

5Tuesday, October 12, 2010

Page 6: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

The Problem

6Tuesday, October 12, 2010

Page 7: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

The ProblemLPT:One

PC Reservation

Authentication and Accounting Module

eCommerce Services

BarcodePlus

OneStop

RFIDLink

iLink

StaffLinkPINPal

LibraryPDA

Launch Command

Many products

7Tuesday, October 12, 2010

Page 8: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

The Problem

Most products composed of multiple modules

8Tuesday, October 12, 2010

Page 9: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

The ProblemWindows 95

Windows 98

Windows Millenium Edition

Windows NT

Windows 2000

Windows XP

Windows Server 2003

Windows 7

Windows Server 200832 / 64 bit

Mac OS X 10.5

Mac OS X 10.6

Many supported platforms

9Tuesday, October 12, 2010

Page 10: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

The ProblemC++

Java

Ruby

Perl

PHP

jRuby

Javascript

HTMLDistributed Ruby

AJAX

Many supported languages and technologies

10Tuesday, October 12, 2010

Page 11: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

The Problem

• Small staff

• 6 Developers

• Maximum of 9 over company history

• 3 QA

• 2 Technical writers

11Tuesday, October 12, 2010

Page 12: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

The Problem

• Few automated acceptance tests

12Tuesday, October 12, 2010

Page 13: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

The Problem

• Single, largely interdependent code base

13Tuesday, October 12, 2010

Page 14: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

The Problem

• How do we allocate our scarce technical resources to support, maintain, and extend all of our current products while preserving our competitive edge by creating innovative new products?

14Tuesday, October 12, 2010

Page 15: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

What We’ve Tried

15Tuesday, October 12, 2010

Page 16: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

What We’ve Tried

• Approach #1

• Maximum flexibility for the Customer

16Tuesday, October 12, 2010

Page 17: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

What We’ve Tried

• Maximum flexibility for the Customer

• Treated the entire code base and story backlog as a “product”

• Customer allowed to focus on any component in each iteration

17Tuesday, October 12, 2010

Page 18: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

What We’ve Tried

• Maximum flexibility for the Customer

PCR

LPT

ECS

AAM

OS

RLK

PCR

ECS

RLK

LPT

AAM

OS

LPT

PCR

ECS

18Tuesday, October 12, 2010

Page 19: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

What We’ve Tried

• Maximum flexibility for the Customer

• Treatment of defects

• Defects had to be prioritized like any other story

19Tuesday, October 12, 2010

Page 20: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

What We’ve Tried

• Maximum flexibility for the Customer

• Benefit: Customer able to choose highest priority stories each iteration

• Maintenance, new features, and defects treated equally

20Tuesday, October 12, 2010

Page 21: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

What We’ve Tried

• Maximum flexibility for the Customer

• Problem: Too little time to achieve significant business value in each component

21Tuesday, October 12, 2010

Page 22: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

What We’ve Tried

• Maximum flexibility for the Customer

• Problem: Too much productivity lost to context switching

22Tuesday, October 12, 2010

Page 23: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

What We’ve Tried

• Maximum flexibility for the Customer

• Problem: Too much overhead associated with making the components deliverable

23Tuesday, October 12, 2010

Page 24: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

What We’ve Tried

• Approach #2

• Track system

24Tuesday, October 12, 2010

Page 25: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

What We’ve Tried

• Track system

• Customer agrees to limit scope to tracks

• Number of tracks determined by available resources

• Development, QA, Documentation resources assigned to each track

• Track focus switches quarterly

• One track dedicated to maintenance

25Tuesday, October 12, 2010

Page 26: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

What We’ve Tried

• Track system

PCR

LPT

Maint

OS

Maint

ECSPCR

Maint

ECS

LPT OS

Maint

LPT

PCR

Maint

26Tuesday, October 12, 2010

Page 27: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

What We’ve Tried

• Track system

• Treatment of defects

• Defects found in same iteration as story were fixed in that iteration

• Defects found in later iteration went into product backlog for Customer to prioritize for future iteration

27Tuesday, October 12, 2010

Page 28: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

What We’ve Tried

• Track system

• Benefit: Technical resources able to focus on same components for longer periods of time

28Tuesday, October 12, 2010

Page 29: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

What We’ve Tried

• Track system

• Problem: Maintenance concerns sometimes greater than one track could handle

• Resources shifted, delivery delayed

• Delays affect future track focus

• Unable to meet business priorities

29Tuesday, October 12, 2010

Page 30: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

What We’ve Tried

• Track system

• Problem: QA and Documentation unable to keep pace with development

• Also delayed delivery

• Defects found in later iterations interfered with future release schedule

30Tuesday, October 12, 2010

Page 31: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

What We’ve Tried

• Track system

PCR

LPT

Maint

OS

Maint

ECSPCR

Maint

ECS

LPT OS

Maint

LPT

PCR

Maint

PCR

LPT

PCR

31Tuesday, October 12, 2010

Page 32: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

Next Steps

32Tuesday, October 12, 2010

Page 33: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

Next Steps

• Track system has merits

• Development appreciates extended focus

• Customer able to lump together batches of features to deliver significant business value in each release

33Tuesday, October 12, 2010

Page 34: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

Next Steps

• Key areas to address

• May need to shorten track interval from 3 months to 6 weeks

• Give Customer more flexibility to select mini-projects

• Small features in minor products

• Service packs for maintenance

34Tuesday, October 12, 2010

Page 35: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

Next Steps

• Key areas to address

• Must find ways to release at the end of each interval

35Tuesday, October 12, 2010

Page 36: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

Next Steps

• Key areas to address

• Business must adhere to “fix the schedule, adjust the scope”

• Quarterly releases tend to align with major trade show opportunities

36Tuesday, October 12, 2010

Page 37: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

Next Steps

• Key areas to address

• QA and Documentation need to keep pace with Development

• More automated tests

• Better TDD in Development to improve quality of work going to QA

37Tuesday, October 12, 2010

Page 38: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

Next Steps

• Key areas to address

• Change how defects are treated

• All defects are triaged when found

• If defect must be fixed as part of current release, it is injected into current iteration

38Tuesday, October 12, 2010

Page 39: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

Conclusion

39Tuesday, October 12, 2010

Page 40: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

Conclusion

• It can be difficult to be Agile with many products, all of which continue to evolve over time

• Agile often does not address product maintenance

40Tuesday, October 12, 2010

Page 41: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

Conclusion

• Successful solution should balance the needs of the Customer and the Technical Resources

41Tuesday, October 12, 2010

Page 42: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

Conclusion

• Releasing product with few defects is crucial

• Release brings closure and allows all to move forward

• Low defect rates prevent backsliding

42Tuesday, October 12, 2010

Page 43: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

Conclusion

• Automated testing is essential

• Fast pace of Agile development makes manual regression testing impractical

• Must be done at both the Unit and the Acceptance level

43Tuesday, October 12, 2010

Page 44: Being agile while trying to do many things at once

L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0

Copyright©2010 Robert Walsh - All Rights Reserved

Questions?¿Pregunatas?

44Tuesday, October 12, 2010


Recommended