Many of the projects I have found myself involved with in the last few years can be categorised as rescue missions. I define these as follows:
- You have an existing but incomplete codebase (with or without the original coders)
- You have an existing design, project plan etc, which may or may not be sensible and may or may not have been adhered to.
- You have a looming (or already passed) deadline and are not confident in hitting it.
(see also Death March on that there wikipedia)
In short your project is fucked. Call me.
If you hire me on a rescue mission you have two options:
Plan A: Hire me to dig you out of your hole.
Plan B: Just hire me to do what I’m told.
Remember, there is no Plan B… but if there was you’d be hiring a slave:
- I’ll work for 7 hours a day (no I will not work until 3am) and do the things on the list.
- I’ll shut up and not complain about whatever stupid ideas I’m expected to implement.
- I’ll do those things to the best of my ability but it’s up to you to manage my workload and understand that if the project is not in a good state already things could take a long time.
Unfortunately I have a problem which is that I care too much about doing a good job.
In the case of Plan A you will get an unstoppable machine:
- I’ll carefully evaluate what you’ve got, how it has been conceived-of and how the process of building it has gone to date. This may take a week. I’ll probably not look like I’m doing a lot for the first few days of this, but as Naomi Mitchison said, I’m “among you, taking notes.”
- I will re-plan the project and the expected deliverables in line with what is really achievable. It will all be totally agile.
- I’ll partially or completely re-design and re-engineer the project.
- I will restructure your working environment both physically and mentally.
- I will train your staff in better software engineering, design and working practices.
- I might subcontract elements of this process to other lovely experts or make you hire people.
- I’ll expect to learn from you too, I’d bet you’ve got under-used talent in the room.
- I’ll move mountains and swim oceans.
- We will ALL go home by 6 and on Friday afternoons we will all go to the pub, knowing that it is part of the plan and that the plan will not fail. We will not come back from the pub until Monday morning.
You will also accept the following terms:
- You will relinquish control over the project as otherwise you simply aren’t going to be able to let me do what you’ve hired me to do and there’s little point.
- You’ll understand that may not be a comfortable process for you. I’ll pull no punches and tell you when things are shit and need changing. Remember that there is less shame in presiding over a success than there is in presiding over a turd.
- I will interact with your end clients or internal stakeholders and I will tell them what they can and can’t have and why and (importantly) when.
- I’ll expect to talk with people in your organisation at every level from cleaners and catering right up to the managing director. I’ll certainly want your IT staff on side.
Rescue missions can be fun! Let’s get out there and twat it.