42
Agile Way of Doing Things Marek Kusmin marek @ codeborne.com

Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

Agile Way of Doing Things

Marek Kusminmarek @ codeborne.com

Page 2: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

Codeborne as organization

CB is small and growing rather slowly.Wittingly.

Page 3: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

CB is an organization of very flat type.Wittingly.

Different organization models:Flat vs Hierarchial

Page 4: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

Monumental methodologies drive to hierarchy

... via copying or transformingprocesses to organization structure

Page 5: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

Hierarchy is not always evil, but has it's dangers

More hierarchy means:obstructed information flow

more noiseslower decision making

fading responsibilitymore self-justification

rising and thickening „walls”etc.

Page 6: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

Hierarchy is expensive

We better avoid it ;)

Page 7: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

CB staff:Executive Manager – 1

PM* – 1Office Assistant – 1

UX & Visual Design pros – 2Developers – ~25

Analysts, Architects, Testers, Heads of Smth etc. – 0* not exactly PM in a usual meaning but we never thought much about position name(s)

Teams as are rather small – 2 or 4 developers(in rare situation 6 developers)

Page 8: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

CB's self-organizing teams have:a) no internal borders

b) one general goal within project

Goal is valuable software, and team crafts it

Page 9: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

Craft is a better metaphor for software development than is engineering or science (Pete McBreen)

Craftsmen really care about what they are doing

Page 10: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

Your product is not anonymous.You put your own name on it.

Passion

Page 11: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

Build well-crafted softwarevia steadely adding value

by a community of professionalsin productive partnership with Customer

http://manifesto.softwarecraftsmanship.org/

Page 12: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

Specialization

We „specialize” on well-craftedtailor made software solutions

that meet exact needsof Customer

Page 13: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

Some domains/customers:finacial institutions and investment companies,

energy and power grid, telecoms, GIS,cryptography, photography, fuel/gas,

software development, HR, education etc., etc.

We haven't met an industrywhat we would like to skip instead of learning

Page 14: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

We will study Customer's business to be able totalk to Customer in his/her language,understand his/her exact problem,

suggest (better/less costly) solutions,provide software that has real value

There can be other reasons we refuse of contract or cooperation – ethics, for example,

or because we do not see a viability of project.

Page 15: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

Forestalling question:What languages, tehnlogies, frameworks?

Within rational choices there are no limitations

Page 16: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

Methodology, or How Do We Work

What is methodology?

Page 17: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

It is an agreement about how we do things

Simplest description:

Customer describes his/her problem,we give rough estimate

We agree onhoury price, approximate scope or time

We (incl. Customer) craft the solution

Page 18: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

Cone of Uncertainty

Customer does not know what he wants.But he knows how to go there.

Page 19: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

Developers don't know how long it takes exactlyto create certain functionality.

But we have expertise to give good enough estimations.

„Better be roughly right than precicely wrong”John Maynard Keynes

Page 20: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

Most important subset of our practices

Discipline

Page 21: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

„Whole team” and „On site Customer”

Customer is a team member and is always involved

Page 22: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

Developers can discuss with Customerand get immediate feedback

Helps to keep on right track and not to waste resources

Page 23: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

„On site Customer” – practice has changed over time

But still – from time to time people must meet in person even if there is long distance between locations

Page 24: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

Customer has (also) his/her responsibilities

Kick-off, story telling

Page 25: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

Super deep analysis and specs are outdatedat the moment they are finished.

Or earlyer...

BDUF? Better to have simple „just enough” design

Page 26: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

Are specs a waste?

Not necessarily.If done with right sense, they

make Customer to think about his/her problem,help to keep Customer on track during story telling

Page 27: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

Iteration meeting

„By book” iteration is 2-6 weeks long,our iteration in one week long

Page 28: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

Iteration meeting gives story details and priorities

Daily work

Page 29: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

Working in pairs – Pair programming

„What's the point?”

Page 30: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

Plenty of reasons:discipline, better design, less errors,

more good ideas, knowledge exchange,impressive learning curve, less risks,

etc.

Customer gets more fuctionalities andbetter quality for less

Page 31: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

How? Why you say so?Because Customer does not come to us to order

a trivial „hello world” program

„Is it done?” – Testing

Page 32: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

Testing is also part of development process,not totally separate process after it.

Testing must be fast.

Automate tests

Page 33: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

Test first, TDD

Testing on different levels

Page 34: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

Automate everything, not only tests:Packaging, deployment, monitoring,

whatever else you can

Small releases

Page 35: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

Releasing oftenmakes Customer happy

by giving him/her new features;causes less bugs in release and

makes them easy to locate and fix

So, deliver ASAP

Page 36: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

„When you can release?”(Practically) any time.

Code must be ready for it.

Continuous integration, continuous deployment.Automated, of course.

Page 37: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

Refactoring

„Leave the campground cleaner than you found it!”

Page 38: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

Sustainable pace

We do not do overtime

Page 39: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

„How far we are?”

Burn-down and burn-up charts

Page 40: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

... but we actually don't use them

Our story board and project management tool – PivotalTracker

Page 41: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

Improve

Improving and tuning the way we work. Retrospectives.

Page 42: Agile Way of Doing Things - ut · UX & Visual Design pros – 2 Developers – ~25 Analysts, Architects, Testers, Heads of Smth etc. – 0 * not exactly PM in a usual meaning but

Learning new things:TeX,

coding challenges,conferences,

open-source projectsetc.

@ University of Tartu Dec 4th, 2015