This document outlines 7 common problems that arise when working with corporations and provides solutions to each one. The problems include decisions taking a long time due to many stakeholders with different needs; customers not knowing exactly what they want; management disliking agile processes; prioritizing everything as top priority; waiting for operations teams to complete tasks; unpredictability of moving work to the cloud; and payments being late due to a lack of understanding of the work completed. The main solutions emphasized are having the right stakeholders onboard, clear communication, teaching customers about the work, establishing transparency through demos and reporting, and considering operational constraints. The overall message is that it is important to think about how the work affects various stakeholders and to help teach them
2. DECISIONS TAKE AGES
Cause - distributed decision maker
Group of people with conflicting needs & goals
need to agree what to think about your work
Solution - get decisive people on board
Champion - needs users problems solved for variety of reasons
Sponsor - pays for work being done
Gatekeeper - has to be convinced you are not causing trouble
User - must like what you are creating
3. DON’T KNOW WHAT THEY
WANT*
Cause - not sure what can be done
Not sure what can actually be achieved
and how it “feels”
Solution - ask & learn about customers
Workshops - learn what they need not what they want
Demos - show what you have, ask for feedback as often as possible
Prototype & measure - create something asap & use tools like Hotjar to
measure interaction
Anticipate - thinks how your deliverables will be used and how will they
affect users. Prepare for rollbacks
*It’s your f***ing job to teach customers how to do IT
4. MANAGEMENT HATES AGILE*
Cause - lack of knowledge
For people without exp. agile is
unpredictable project with no
documentation
Solution - help them plan
Backlog - estimating how many work units fit in a week
Retrospective - let customers tell you what you are doing wrong
Demo - showing mgmt what is being done every week prepares them for
any trouble in advance (never ever cancel - especially during problems)
Feedback loop - makes it their own project and allows to “teach them how
it’s done”
*It’s your f***ing job to teach customers how to do IT
5. EVERYTHING IS TOP PRIORITY
Cause - departments have targets
Departments in corps. have different targets (usually)
in order to control each other
Solution - define metrics & success criteria
Prioritise metrics - make a list of metrics and choose most
important ones
Establish baseline - determine when people get in trouble for
not meeting targets
Ask for impact - ask how finishing tasks would affect metrics or
how much time will it save
*It’s your f***ing job to teach customers how to do IT
6. WAITING FOR OPS TEAM*
Cause - not enough people
Infrastructure teams are usually heavily
underinvested and are not able to act fast enough.
Solution - make them part of the your team
Plan together - ask them to join planning meetings so they feel your project is
theirs as well and are aware of what’s coming next
Workarounds - mock unavailable APIs, run dev on your own VMs, don’t make a
sh**storm out of a thing that can be worked around
Don’t make them rework stuff - send all the info in one ticket
*servers, dbs, firewall changes, etc
7. MOVING TO THE CLOUD
Cause - clouds are unpredictable
It’s difficult for companies not working in the cloud to estimate
how much would they cost and what benefits they bring. They
are also afraid of data breach.
Solution - speak in terms of time & money
Self-service - faster deployments & not waiting on ops
Fixing stuff - just wipe it out and get new server
Scaling - pay only for the stuff you need, loads of storage is cheap
Control - know exactly how much your infrastructure costs
8. Solution - explain what is being done
Timesheets - let customers know which tasks were done and how much time
was spent on them (external tools are prefered)
Demos - show technical “mambo-jumbo” in action
Daily communication - send out notes what team is working on, what progress
is being made and what are the roadblocks
PAYMENTS ARE LATE
Cause - don’t understand what was done
“Financial guys” don’t understand why they have to
pay for all those weird things.
10. 3 THINGS TO REMEMBER
You work with people not companies
Think how you affect their work, how to help them or at least not cause any
trouble
It’s your f***ing job to teach them
Don’t expect that your customers know “technical stuff” - it’s our
responsibility to teach them how stuff is being done and do your best to
work around issues
Be transparent
Show what you are doing - especially if you have some problems, measure
effects of your work and clear out any uncertainties the moment they occur