For those of you who have worked in large companies, it’s common territory to be stuck riding waves on a ship without a sail. Said ship also has its anchor out, but the deck hands have forgot about that and the captain never logged it. The anchor is being dragged around due to the ship bobbing up and down on the waves, dragging a number of artifacts along at the same time and giving some image of movement. Sometimes the ship and crew head in the right direction but no one really knows what that is due to the ever whirring compass from a dodgy purchase and blocked views of the stars due to persistent clouds.
Fear not, this isn’t a terribly written nautical blog or a write up of a lost ship; it’s a description of a large-scale enterprise IT project.
This one particularly made me laugh. A lot of projects feel like this!
In software development, there are numerous approaches to projects. A well known one is the waterfall method. It starts at the top follows a sequential path through the various phases. This methodology is unconsciously followed in enterprise projects through initiation, discovery, design, deployment and acceptance in to service. Each tier leads in to the next, with a family tree looking split all the way down which sees much horizontal growth.
Information comes in fits and spurts and every time there is a hold up, someone else further up the chain applies more pressure, which effectively pancakes the next bit down. It’s like applying pressure on a piezo crystal like quartz, you squeeze and put it under stress and voila, it generates current. If you reverse this and apply current to the crystal, the crystal transmits noise as it vibrates and moves. The second the current or the pressure is taken away, the output stops.
ZEN 1: An anchored ship can be held without an anchor if waves apply the same pressure from different directions.
When a project begins to slip and power characters step in to get things moving, invariably, those that are hoisted out from BAU or day-to-day are irked and annoyed that this has happened (again). It’s normal to hear “I can’t do any more, I’m maxed out. Oh and now I’m behind due to being hoisted out of what I’m doing”. A bit like sailing on waves that keep changing direction. What you need is a form of propulsion to get you to a bit of water that has a strong directional current heading towards your destination. Propulsion consumes energy to go against the flow and if you’re destination has no natural current heading its way, expect to use much energy to get there. Maybe the destination can’t be reached without finding a different form of transport?
ZEN 2: If the wind and the waters are against you, consider flying to your destination.
Sails on boats and ships provide propulsion. Even winds that do not go exactly in the right direction can be used to propel a vessel to its destination. The phrase “by and large” comes from nautical history and means the wind is on our sails! If the wind is blasting directly at you in the wrong direction, no matter what you do with the sails, your boat “aint going nowhere” (I’m aware of the terrible English in that last statement. Imagine a pirate voice and it might make more sense).
ZEN 3: Use sails when the wind is by and large blowing in the right direction
Engines are useful, but consume non-replaceable fossil fuels. If you’re out at sea and run out of fuel, tough luck me old mate. Engines in projects should be used the same way. Utilize sparingly so when used, it has effect. Also you’ll find consumption is much lower and the fuel lasts longer!
ZEN 4: Engine’s can provide a boost to get to directional water, but be careful not to run out of fuel, rely on it or add more turbulence to the water affecting other vessels around you. Engines also take the skill out of using the sails.
Anchors in projects can be progress meetings or decision points to stop a current set of tasks related to a project that’s showing signs of chop and lack of directional movement. Anchors can also be contextual understandings in how things relate to each other. Anchors can therefore be used to hold whilst decisions are made, anchors can be used to make impressive ‘on a sixpence’ turns, but they also can cause drag and a lot of damage should they be left out for too long.
ZEN 5: Use anchors to prevent your vessel from going of course during periods of rest or to make impressive turns. Keep a log of when an anchor is used and be sure to hoist said anchor when it’s time to move!
The idea is that a ship with a sail, an engine and an anchor can make progress and balance crew exhaustion against progress under varying conditions. The ship can move in all weather but the worst of conditions, in which case the anchor prevents the vessel veering off course when the forces imposed by condition out power the forces delivered by the vessel. If your project is a high-level bullet project, crane your boat on to an aircraft carrier and have battle cruisers blow to dust whatever is in the carrier’s way. Expect much destruction in your wake, but the good news is your journey will complete and at great cost.
Using the right tools for the right job is key on a ship. If you have a sail and insist on using it in all conditions, at some point you will capsize. If you have an engine and refuse to sail, you’ll run out of fuel. If you drop anchor at every sign of chop, you might die before you even get to your destination as supplies run out. If you deploy sails when the wind is hitting them head on and the water current flows the right way, you’re going to make serious distance at speed.
ZEN 6: Judge the various water flows and means of propulsion you have. If your crew is exhausted, you might have sailed for too long. If your engine is out of fuel and your crew is playing bones, maybe it’s time to see if they remember how to sail.
The real point?
Ok – this post is a lighthearted brain dump and outlet for my own learning, but given any kind of condition, there is a way to sail. Sometimes you have to buckle yourself in and roll with the waves, other times you can sit on deck. Don’t worry about straightening deck chairs when your boat is sinking. It won’t make any difference. Go find a life raft and help as many people onboard as you can!
Projects can be infuriating and the engine will surely have a different opinion to the sail. The crew will have opinions about the captain, but the boat is where it is and only a joint and joined up effort will result in the correct dock being reached. Part of being agile is to concentrate on what needs to be done with an awareness of what can wait. Progress will speak for itself.
More often than not you’ll hear people complain about task focused project managers, blinkered engineers working on 5% of the issue and architects having a breakdown because no one appears to get what’s going on. Be the one who knows how to sail and guide your vessel through to the end. You are a passenger as well as a crewmember. Don’t expect a hull dweller to rig sails and on the flip side, just because the captain might have a silk ordained cabin, when the ship sinks, you all get soaked or killed. The captain is responsible for the souls onboard and as the old adage goes, could well go down with the boat itself.