Transcript
Page 1: Prototypes are Forever - XP 2010 - EN

Prototypes are forever: Evolving from a prototype project to a full-featured

system

Alexandre FreireFernando FreireHugo CorbucciMariana Bravo

Page 2: Prototypes are Forever - XP 2010 - EN

Introduction

Why should we throw our prototypes away?

Page 3: Prototypes are Forever - XP 2010 - EN

Introduction

Why is technical debt considered harmful?

Page 4: Prototypes are Forever - XP 2010 - EN

Context

3 months prototype RCP project=+ 4 developers

80 pair hours per iteration

Page 5: Prototypes are Forever - XP 2010 - EN

Context

3 months prototype RCP project=+ 4 developers

80 pair hours per iteration

Goal: exp

loration and

discove

ry for a

demo

Page 6: Prototypes are Forever - XP 2010 - EN

Iteration 1 - 25 commits - Jun/2008

Page 7: Prototypes are Forever - XP 2010 - EN

Practices

No full test coverage Only crucial tests→

Page 8: Prototypes are Forever - XP 2010 - EN

Practices

Invest in Continuous Deployment (hourly builds)

Page 9: Prototypes are Forever - XP 2010 - EN

Practices

“Buggy” software for well-behaved users

Client priorization:● No corner-cases● No validation● No verification● No exception handling● Lots of new features

Page 10: Prototypes are Forever - XP 2010 - EN

Iteration 4 - 211 commits - Oct/2008

Page 11: Prototypes are Forever - XP 2010 - EN

Ready for demo?

Page 12: Prototypes are Forever - XP 2010 - EN

Ready for demo?

No!

Page 13: Prototypes are Forever - XP 2010 - EN

Ready for demo?

Needs text editor

Page 14: Prototypes are Forever - XP 2010 - EN

Ready for demo?

Needs text editor

Deadline: Dec/2008

Complete focus on the editor

Page 15: Prototypes are Forever - XP 2010 - EN

Iteration 6 - 352 commits - Dec/2008

Page 16: Prototypes are Forever - XP 2010 - EN

Changing the rules

Demo cancelled!

Page 17: Prototypes are Forever - XP 2010 - EN

Changing the rules

Demo cancelled!● Less pressure Fight against technical debt→● January 2009: a whole iteration dedicated to

refactoring

Page 18: Prototypes are Forever - XP 2010 - EN

Changing the rules

● 6 months evolving editor features● A complex editor means other less new

features

...● Still no demo

Page 19: Prototypes are Forever - XP 2010 - EN

Iteration 12 - 937 commits - Jun/2009

Page 20: Prototypes are Forever - XP 2010 - EN

This is no longer a prototype

Dedicated study group

of dramaturgy experts● More ideas for new features● Investment in UX

Page 21: Prototypes are Forever - XP 2010 - EN

This is no longer a prototype

Outsourcing editor so team can focus on new features

Page 22: Prototypes are Forever - XP 2010 - EN

Tracking Technical Debt

Page 23: Prototypes are Forever - XP 2010 - EN

Tracking Technical Debt

Page 24: Prototypes are Forever - XP 2010 - EN

Difficulties

GUI testing

Loss of a team member

Page 25: Prototypes are Forever - XP 2010 - EN

Difficulties

Prioritizing integration VS new features● Integration with outsource team● No steady rhythm

Page 26: Prototypes are Forever - XP 2010 - EN

New direction

“I've invested too much!

This software is mine.”

Page 27: Prototypes are Forever - XP 2010 - EN

New direction

“I've invented something new.”

Page 28: Prototypes are Forever - XP 2010 - EN

New direction

Focus on quality

Aim for complete, bug-free features

Page 29: Prototypes are Forever - XP 2010 - EN

Iteration 23 - 2005 commits - now

Page 30: Prototypes are Forever - XP 2010 - EN

Conclusion

No need to throw away prototypes:

just write tests for crucial elements

and refactor mercilessly

Page 31: Prototypes are Forever - XP 2010 - EN

Conclusion

Technical debt is acceptable if kept under control and software delivers value for client

Page 32: Prototypes are Forever - XP 2010 - EN

Conclusion

Throw away if all you wanted was to gain knowledge

Page 33: Prototypes are Forever - XP 2010 - EN

Questions?

[email protected]