We are now at the mid-way point of this series and the topic for this one is complexity, I’ll admit I had to think about this one for a while. I wanted to approach this by highlighting some of the complexities that as a consultant you should expect to have to work with. It is about understanding and realising that a consulting role has many complexities, these can be technical which is usually about having a methodical approach, technology is a binary thing so you can assume logic. However the more difficult and extremely rewarding when managed right, is the complexities of navigating the human elements that are not so binary.
I could list out a multitude of things that in the everyday life of a consultant are complex, but that would mean this blog would be huge, in fact it would probably be worthy of a book, maybe a project for another time though. In order to keep this to a more manageable level I will focus on just three, which I have listed below. I will attempt to highlight what complexities I experienced as a consultant, and as a consultant today you should also expect.
- Business and Technical Requirements
- Solution Design
- Technical issues and or faults
Let’s start with requirements, both business and technical, or more specifically gathering them. I have conducted many design workshops and gathering these alone can be a very complex affair. It isn’t always the case but you have to expect that you can begin a workshop with what everyone believes are the requirements, however during the course of the workshop these will change, and there could be a few reasons for this. It could be that you have been engaged as a result of someone identifying a high level need that has yet to be properly defined into more specific requirements. It could be that your workshop is the first time that all of the stakeholders are in a room together and they have conflicting requirements. And it could also be that the client has a limited understanding of what that technology can actually do, and that’s why you have been engaged, because you do. You need to extract them all and then replay them to ensure you all agree, if you don’t you are in danger of missing the target with your solution.
Once you have all the requirements then next step is to design the solution, as with all technology you can design and configure it in many different ways, and if you have been thorough when gathering the requirements, meeting them or justifying why you are not meeting them is going to be a complex task. So making sure you have fully understood all the requirements you must go about making all the decisions about what, why and how you are designing and configuring the solution. You also need to make sure that for every decision that you make you can justify it, you either meet or exceed one or more of the requirements. It is important that you consider the whole solution as you wouldn’t want to meet a requirement with a decision for one part of the solution that contradicts any other requirement you were trying to meet with another decision.
Something that you should always be prepared to experience is technical issues and or faults, the first thing you must do is understand what that issue or fault actually looks like. Whether it’s an issue or a fault, take the time to understand the facts, you must ensure these are facts and not opinions, if you are going to investigate anything you must tackle it from a methodical and logical standpoint. Try and break it down into smaller pieces so you can validate your findings or resolutions as you go, it’s much easier to prove progress and provide updates when you have checkpoints, it makes communication on progress easier, and it also means that you can share out the tasks if that’s needed.
I have purposely left this point until last, the human element. This will be the most challenging and complex part of a consultants role, and I say that because as I mentioned previously technology is binary thing it either does or does not do something based on how you configure it. However people can’t be treated in the same way, and that’s what makes a consultants role so rewarding. As a consultant the clients you are working with are extremely important and you must not lose sight of that, they have engaged with you because they need your help. There are multiple partners that clients can work with but they chose you, so you need to ensure that whether it is requirements gathering, solution design or dealing with issues or faults, there will be multiple people involved and or directly affected by the decisions that you make and the actions you take.
When gathering requirements you must make sure that you are engaging with everyone in the room, and that you have the right people in the room, they are all there for a reason. The complex thing is understanding that they are all approaching this from different angles and it’s your job to make sure that all the angles are covered, that means understanding many viewpoints and also motivations. Your solution must not be overly complex all whilst being able to support as many if not all of the requirements, but you must try not to create more complexity in business process or ongoing management of any solution as a result, that’s ironic isn’t it. And finally when investigating any faults or issues you must understand that there will be multiple pressures that you and the client will be under, and that means ensuring that a methodical and logical and approach is taken. You need to call upon all your experience and knowledge as a guide to drive a resolution, whilst managing the multiple viewpoints, priorities and pressures that all involved will be under. When you manage all those complexities, and you get a succesful result, you will definitely get a sense of achievement.
Personally I really enjoyed complexity as it makes things interesting, and also provides you with the opportunity to learn, not just about technology but also about people and how they can all approach and be affected by the same thing in many different ways.