The Flow.
The Workflow.
The Chain of Activities.
The Process.
Things may happen & one day cruel, merciless & vengeful fate may put you in charge of defining how people are supposed to work. Or how are their tools supposed to aid their work. It's quite a wide topic and there's a lot to be said / written about that, but for now I'm gonna mention just one thing: disastrous anti-pattern named:
Fast Track
What is Fast Track? The need for Fast Track occurs when workflow / process participants rebel against set rules & demand for workarounds / shortcuts, because they don't want to follow the usual routine. It usually happens when:
- process is too complex
- process involves activities with dubious value (that seem not to add any value)
- process is too slow when urgency is high
- process has a bottleneck
- ... or people don't understand that some burden can't be avoided (due to transparency, security, law obligation, etc.)
In such case process custodian / designer may bend under pressure (usually not immediately, it depends on how strong the pressure is) and introduce so-called Fast Track: the way to walk-around / remove the burden for those who want to do that.
Why / When is it wrong?
Yeah, what's wrong in addressing people's valid concern? Aren't we supposed to make things work smoothly and remove impediments that happen? Why being a stubborn asshole instead?
The point is:
Everything should be a Fast Track.
If something doesn't work, doesn't meet the needs, doesn't reflect the reality or just doesn't help (add value), just don't pretend it's all cool and "enrich" it with a parallel Fast Track - fix the actual issue! What's the point in Slow Track? Is it ...
- ... for idiots, who didn't realize there's a Fast Track available?
- ... to pretend you're conforming some norms & standards you truly don't?
- ... to prove that you never err? ;P
???
I'm not against Fast Track, I am against Slow Track
Instead of hacking the reality, put the intellectual effort in making things work as intended. If the crowd demands a Fast Track:
- Find out what's the actual impediment / obstacle
- Why is it painful?
- Can you really get rid of it?
- Aren't you breaking any valid rules that way?
- How deep is the problem?
- Is your Fast Track gonna fix it or just paint the grass to make it appear green?
- Won't it actually cause more trouble than gain?
- Does the model you use truly correspond to the reality it serves?
- Do roles match actual people and their duties?
- DO PEOPLE REALLY WORK THAT WAY?
- Or are you just forcing your own, twisted perspective no-one understands?
Fast Track != Optimization
Optimizing is awesome, but if it means just creating random shortcuts without giving the topic any deeper thought, I sense no purpose in that. And I object that.
To be honest, all Fast Track cases I can recall from past had nothing in common with improving the actual situations:
Person #1: We have so many hotfixes, that we need a fast track for processing their acceptance without involving all those decision-makers, notifications, voting ...
Person #2: About that step for Role X - you know, they don't wanna do that, because IRL they don't have time for this. That's why we've added a Fast Track option for the ones who'd like to skip these steps.
Person #3: This may work when we start our work, but once deadlines are approaching, we need Fast Track option - I'm not going to wait for someone reviewing my code, I'll review my code myself.
Hopefully no additional comments are needed here.