what's it like to work in an agile development team?psznhn/g52grp/lecturenotes/lecture06... ·...

31
What's it like to work in an agile development team? Sam Wessel & Neil Kilbride

Upload: others

Post on 19-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: What's it like to work in an agile development team?psznhn/G52GRP/LectureNotes/lecture06... · 2012. 1. 9. · The Esendex development team Agile team of 8 developers We use the latest

What's it like to work in an agile development team?

Sam Wessel & Neil Kilbride

Page 2: What's it like to work in an agile development team?psznhn/G52GRP/LectureNotes/lecture06... · 2012. 1. 9. · The Esendex development team Agile team of 8 developers We use the latest

Who are we?

Sam Wessel@samwessel

Neil Kilbride@neilkilbride

Page 3: What's it like to work in an agile development team?psznhn/G52GRP/LectureNotes/lecture06... · 2012. 1. 9. · The Esendex development team Agile team of 8 developers We use the latest

Who are ?

UK's leading specialist business SMS provider

Page 4: What's it like to work in an agile development team?psznhn/G52GRP/LectureNotes/lecture06... · 2012. 1. 9. · The Esendex development team Agile team of 8 developers We use the latest

Who are ?

● Offices in Nottingham, Barcelona & Melbourne● Almost 50 staff globally● 200,000,000 message processed each year● 6-700,000 messages processed each day● 99% of messages processed within 5 seconds

Page 5: What's it like to work in an agile development team?psznhn/G52GRP/LectureNotes/lecture06... · 2012. 1. 9. · The Esendex development team Agile team of 8 developers We use the latest

The Esendex development team

● Agile team of 8 developers ● We use the latest technologies to deliver first class

messaging APIs and web applications

Page 6: What's it like to work in an agile development team?psznhn/G52GRP/LectureNotes/lecture06... · 2012. 1. 9. · The Esendex development team Agile team of 8 developers We use the latest

What is agile?

● Before agile...● "Code & fix"● Unpredictable● Industry response: apply engineering principles

Page 7: What's it like to work in an agile development team?psznhn/G52GRP/LectureNotes/lecture06... · 2012. 1. 9. · The Esendex development team Agile team of 8 developers We use the latest

Waterfall

● Adds some predictability

● Difficult to estimate● Limited customer involvement● Change is expensive

Long feedback loop!

Page 8: What's it like to work in an agile development team?psznhn/G52GRP/LectureNotes/lecture06... · 2012. 1. 9. · The Esendex development team Agile team of 8 developers We use the latest

A worrying statistic...

Only 32% of IT projects are "delivered on budget, on time, and with expected functionality."

Standish Report, 2009

Page 9: What's it like to work in an agile development team?psznhn/G52GRP/LectureNotes/lecture06... · 2012. 1. 9. · The Esendex development team Agile team of 8 developers We use the latest

G52GRP Suggested Timeline

Page 10: What's it like to work in an agile development team?psznhn/G52GRP/LectureNotes/lecture06... · 2012. 1. 9. · The Esendex development team Agile team of 8 developers We use the latest

Agile Manifesto

http://agilemanifesto.org/

Page 11: What's it like to work in an agile development team?psznhn/G52GRP/LectureNotes/lecture06... · 2012. 1. 9. · The Esendex development team Agile team of 8 developers We use the latest

Agile

"Agile software development is a group of software development methodologies based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development and delivery, a time-boxed iterative approach, and encourages rapid and flexible response to change"

Page 12: What's it like to work in an agile development team?psznhn/G52GRP/LectureNotes/lecture06... · 2012. 1. 9. · The Esendex development team Agile team of 8 developers We use the latest

Agile

Page 13: What's it like to work in an agile development team?psznhn/G52GRP/LectureNotes/lecture06... · 2012. 1. 9. · The Esendex development team Agile team of 8 developers We use the latest

So what about the group project?

● Closest university-taught experience to working in a real software development team

● Assess requirements● Organise team members' responsibilities● Work together● Deliver a working piece of software on time

Page 14: What's it like to work in an agile development team?psznhn/G52GRP/LectureNotes/lecture06... · 2012. 1. 9. · The Esendex development team Agile team of 8 developers We use the latest

Project organisation

● Project planning● Kanban ● Stand-up meetings● Retrospectives

Page 15: What's it like to work in an agile development team?psznhn/G52GRP/LectureNotes/lecture06... · 2012. 1. 9. · The Esendex development team Agile team of 8 developers We use the latest

Project planning

● 2 week iterations● Break problems into small, deliverable, estimable

pieces● Define acceptance criteria for each piece of work

Page 16: What's it like to work in an agile development team?psznhn/G52GRP/LectureNotes/lecture06... · 2012. 1. 9. · The Esendex development team Agile team of 8 developers We use the latest

Planning Poker

Page 17: What's it like to work in an agile development team?psznhn/G52GRP/LectureNotes/lecture06... · 2012. 1. 9. · The Esendex development team Agile team of 8 developers We use the latest

Planning Poker

Page 18: What's it like to work in an agile development team?psznhn/G52GRP/LectureNotes/lecture06... · 2012. 1. 9. · The Esendex development team Agile team of 8 developers We use the latest

Kanban 看板

● Lean manufacturing concept created by Toyota, meaning "sign board"

● Make progress visible & identify bottleneck ● Low tech!

Page 19: What's it like to work in an agile development team?psznhn/G52GRP/LectureNotes/lecture06... · 2012. 1. 9. · The Esendex development team Agile team of 8 developers We use the latest

Kanban 看板

Typically story cards will go from TODO to LIVE in 2 days or less!

Your own simplified version?

Page 20: What's it like to work in an agile development team?psznhn/G52GRP/LectureNotes/lecture06... · 2012. 1. 9. · The Esendex development team Agile team of 8 developers We use the latest

Stand-up meetings

● < 5 minutes ● Keep team members informed & raise blocking issues● Focus & sense of team● Would a bi-weekly, stand-up type meetup help you?

Page 21: What's it like to work in an agile development team?psznhn/G52GRP/LectureNotes/lecture06... · 2012. 1. 9. · The Esendex development team Agile team of 8 developers We use the latest

Retrospectives

● End of every iteration ● Inspect & adapt● Set actions to improve

Page 22: What's it like to work in an agile development team?psznhn/G52GRP/LectureNotes/lecture06... · 2012. 1. 9. · The Esendex development team Agile team of 8 developers We use the latest

Software development

● Pair-programming● Source control● Test-driven development● Continuous integration

Page 23: What's it like to work in an agile development team?psznhn/G52GRP/LectureNotes/lecture06... · 2012. 1. 9. · The Esendex development team Agile team of 8 developers We use the latest

Pair-programming

Page 24: What's it like to work in an agile development team?psznhn/G52GRP/LectureNotes/lecture06... · 2012. 1. 9. · The Esendex development team Agile team of 8 developers We use the latest

"The only way to go fast is to go well"

- Uncle Bob Martin

Pair-programming

● Improve code quality● Share knowledge● Maintain focus● Fun & social

Page 25: What's it like to work in an agile development team?psznhn/G52GRP/LectureNotes/lecture06... · 2012. 1. 9. · The Esendex development team Agile team of 8 developers We use the latest

Source control

Page 26: What's it like to work in an agile development team?psznhn/G52GRP/LectureNotes/lecture06... · 2012. 1. 9. · The Esendex development team Agile team of 8 developers We use the latest

Source control

● Save incremental changes to your work● Enables distributed working● Safety● You're crazy if you don't use it● Top tip: commit regularly

Page 27: What's it like to work in an agile development team?psznhn/G52GRP/LectureNotes/lecture06... · 2012. 1. 9. · The Esendex development team Agile team of 8 developers We use the latest

Test-driven development

Commit! Commit!

Page 28: What's it like to work in an agile development team?psznhn/G52GRP/LectureNotes/lecture06... · 2012. 1. 9. · The Esendex development team Agile team of 8 developers We use the latest

Test-driven development

● Provides code confidence● Easy to isolate bugs● Writing good tests forces you to write good code● Tests are living documentation● Time spent debugging is time wasted

Page 29: What's it like to work in an agile development team?psznhn/G52GRP/LectureNotes/lecture06... · 2012. 1. 9. · The Esendex development team Agile team of 8 developers We use the latest

Continuous integration

● Automate the build● Make the build self-testing● Instant feedback● History of successful / unsuccessful builds● Everyone can see what's happening● Continuous deployment

Page 30: What's it like to work in an agile development team?psznhn/G52GRP/LectureNotes/lecture06... · 2012. 1. 9. · The Esendex development team Agile team of 8 developers We use the latest

Live demo

Page 31: What's it like to work in an agile development team?psznhn/G52GRP/LectureNotes/lecture06... · 2012. 1. 9. · The Esendex development team Agile team of 8 developers We use the latest

Do you want to know more?

Sam Wessel@samwessel

Neil Kilbride@neilkilbride

GeekUp Nottingham takes place on the first Monday of every month. It's a grass-roots knowledge sharing and networking social for folks involved or interested in all forms of technology and creative media.

● 18:30 Monday December 5th @ Cape (city centre)