1 of 59

Slide Notes

DownloadGo Live

Flow Mapping

Published on Jan 12, 2016

Please contact me if you'd like to re-use this deck! Happy to share and support you in using this cool technique :)

At it's heart; Flow Mapping is a communication tool. It can be used as a method to create Living documentation of system architecture

The technique allows architects, developers and business people to be on the same page with their understanding of progress through the development of a feature or service, as well as making a fundamentally complex, intangible system idea intellectually graspable at any level of the business.

PRESENTATION OUTLINE

FLOW MAPPING

Mapping user stories to complex interactions

Hello, World! I am Amber.

agilist | scrum professional | massive nerd | origami-nut | @miss_ _haley
I am your friendly neighbourhood agile happy person.
I have been working with development teams in IT and beyond for 13 years, and been a specialist in scrum, agile, and website e2e implementation a further 8 years.

You can find more at:
https://about.me/hyperaktiv

i'll tell a story

of mishaps, miscommunication,
poor planning,
(add the name of your problem here)...

but never fear it has a happy ending.

Picture this:
World changing product
3 agile teams
Waterfall stakeholders
Silo'd team areas
No cross-functionality
OK communication

Data heavy with realtime tracking and processing required

Soft launch date in 3weeks... eek

3 confirmed beta clients

Current data uploading is going well

The ongoing bulk import of current data is functional, and they have run some tests of stopping data flow for 5 days and then seeing if the system can catch back up...

...ish

and then there's historical data...

so they decided that now was the time..
time to up the stakes.

The moment they started with historical data, the problems more or less started right away right away...

10 days of data processed

BUT there were no hiccups. Which is why they started to think they might just pull this off...

20 days of data

The moment they started with historical data, the problems more or less started right away right away...

...
getting weirdness

The Enricher wasn't able to process data as fast as they were pushing it in and got blocked up.

1 month out of the promised year of data processed...

processing halts

multiple failures.

And no restarting was possible. Tried. NOPE.


Essentially, the current architecture meant the processor was crumbling under the weight of the data it had to deal with.

Untitled Slide

Photo by star5112

This was a recipe for disaster

but no one realised....
In this instance a team of smart mind came up with excellent system architecture build for scaling.... but didn't think to take this view to a more granular level
Photo by RobertFrancis

Software architecture is an "intellectually graspable"
abstraction of a complex system.

We need architectural planing. Period. Not planning a system as abstract and complex as a web app, or a load balancer... or and Native smart device app is suicide.

this is a good start

But we rely on this:

We need architecture. Period. Not planning a system as abstract and complex as a web app, or a load balancer... or and Native smart device app is suicide.

What the hell

is intellectually graspable about this???

Where are the other teams??

Who's doing this work??

why was that enhanced? what does that mean??

AND WTF DOES UNSCHEDULED MEAN????

Untitled Slide

Photo by star5112

Dependencies are not revealed through a flat back log.

So how can we expose dependency?

And do other cool things like add depth to the backlog?

What the hell?

.. is flow mapping?

In 2010 I saw my first Flow map... and fell in love

..it's many things

  • process overview.
  • dependency early warning system.
  • living documentation tool.
  • it's a method to give context to the backlog.
  • a way to link architecture to implementation.
  • It helps with contextual planning and implementation

The "map" arranges system architecture in order of priority of events (or "the order in which you would describe activities to explain the behaviour of the system").
Identifying touch-points with other areas of your internal and external systems and what the start and end points are.

This slide is pretty self explanatory, really...

Too many words

ESSENTIALLY, it's a plan that slices through a process from end to end.

It's a little big picture

..a current snapshot of the riskiest part of a software process or service
Photo by Adam Melancon

well that's nice

..but why would I use this?
Photo by Ksayer1

How do would we have averted Company X's disaster?

The Agile Straw Man
Photo by digitalshay

ID the most critical part of your software

  • Start with the part that is the system killer.
  • Go through it action by action.
  • Add depth by going beyond just the process.

Step 1

Find the most risky part of the system.
Photo by minifig

Which part is gonna cause rageface if it fails?

Photo by poltrainfat

Find it and figure out how to fix it...

Step 2

Engage.
Photo by DailyPic

Get everyone together and plan out the new..

Step 3

Populate it - epics/stories/technical debt
Break down high goal level tasks into:
• Sub-tasks
• Alternative tasks
• Exceptions
• Details
Down in the details of the map, it’s OK to include details about what UI might look like or what the system might do in the background.

Use colour in your post-its to categorise

Step 4

Enhancement
Photo by Tucia

MAINTENANCE

how to keep it relevant

1. Don't hide it

put your map where it you can see it
Photo by mgjefferies

2. Update

WHEN YOU MAKE CHANGE TO YOUR BACKLOG
Photo by drewgstephens

lets give it a try

dude, wait... what?
Photo by rishibando

Untitled Slide

Untitled Slide

Things to consider

dude, wait... what?
Photo by rishibando

what about.....

  • the difference between 1st time, and existing products
  • the type of product or service
  • if you work multi-team / scaled scrum
  • the actors or roles in the system
  • UX and UI design
  • microservice considerations
  • cloud vs selfhosted solutions

Summary

  • go through your system from a to b, and find the killers.
  • map the process.
  • map stories to your.. map.
  • keep it fresh!

Questions?

no such thing as silly questions; just unasked ones!

Thanks!!

VIELEN DANK! CHEERS MATE! ARIGATO GOZAIMASHITA! MERCI! благодаря!! DZIEKUJE!
Photo by Javlamusik