Your role as a solution architect (or software/technical architect) is to own the solution the project is implementing. Ultimately, the architect is responsible for ensuring the solution is going to work optimally within the required constraints, budget, governance, and technical capabilities. The political landscapes can very drastically between organizations and projects, and so the architect must work within these politics, but also not be afraid to push enough to get things done and get things moving.
So, why does an architect need to be steps ahead, and what does it mean to be steps ahead? Well, as any architect knows, there are always hiccups, so the highly skilled architects out there must always be thinking ahead of the pack. Having a high degree of responsibility and ultimate ownership of the working solution means always having a plan, and backup plans in your back pocket and a set of justifiable alternatives. Architecture generally comes down to a set of decisions based on objective reasoning taking into account the multiple facets of information and input that go into those decisions. As you are solutioning, the direction of the solution can change given new requirements, new constraints, political problems, discovery of technological limitations, and other “ailments”, so being able to think objectively, clearly, and quickly, will help move the solution along optimally and technically as accurate as possible.
Being “steps ahead of the pack” means….
Going into a meeting with the attempt to get alignment from competing factions in the organization. You have already had conversations with the right people to get alignment prior to the meeting, and it means you should already understand as many sides of the equation as possible as to get a decision agreed upon by the teams as objectively and within a reasonable time frame – your architecture depends on these decisions! These decisions aren’t always solved in a single meeting and can sometimes take longer than anticipated largely due to bias, politics, and perceptions that you may be “taking something away from someone”. Resistance will happen, and it’s your job to reduce the resistance. Staying a head of the pack means you should have good objective answers to people’s concerns when addressing the teams’ trying to get a consensus. This requires research, analytical thinking and judgement, and a set of assumptions that are ready to go based on objective reasoning done prior to the meeting.
As objective reasoning and trade-offs impact every decision you make as an architect, when coming to the conclusion to find the right, or in some cases, a “good enough” architecture, many facets of information and choice need to be considered. Having alternate technology at your disposal in case meetings with vendors don’t go as well as planned or technology PoC’s disappoint you, means you aren’t starting over when things don’t go as planned. Architects who excel at their role are constantly picking up new pieces of information for their back pocket as they align themselves to the choices and decisions made that make up the architecture. It means you have objective answers based on objective data when the VP (who signs your contract) is standing in front of you asking “Now, what’s the plan?” when brand new security governance threatens to kibosh your entire project. You aren’t going back to the drawing board because an architect is already prepared when things don’t go as planned, and is quick in preparing a new plan based on objective reasoning and preparedness.
Ego isn’t exactly the opposite of compromise, but if you have too big of an ego, you can’t compromise – or at least you’ll be terrible at it. As an architect you should never find yourself too distant from the rest of the project team or organization you are trying to be aligned with. You need to share goals and a target state, and if you are the only person trying to move to a certain target state and no one understands your reasoning, you are either a brilliant mastermind, can’t communicate your reasoning properly, or have an arrogance that doesn’t allow you to consider the reasoning of the consensus regardless of if you are right or wrong. Hopefully, most architects don’t succumb to arrogance or ego too often or at all, but often you will find yourself needing to compromise. After all, architecture can be considered as a series of objective facts, but it can also just as easily be considered as a series of objective compromises. As you are solutioning, compromises are making up your decisions, and since architecture should always have buy-in and consensus, you’ll often need a certain level of compromise to meet your objectives and to keep moving forward. Knowing ahead of time which facets of the architecture you are willing and able to compromise on and which ones you cannot takes work, communication, and objective reasoning. Amongst other things, an architect needs to understand where corporate governance or legal frameworks are in play and which facets of this will impact potential compromises of the solution. Being prepared and building up this knowledge while solutioning will put you ahead of the pack when it comes to decision making. You will be in a better position to compromise without impacting the integrity of the solution.
In summary, three scenarios were given in this article that shed light on the amount of preparedness and “ahead of the pack” thinking that good architects use to get to the right solution and to meet requirements. Political issues, technical capability, business drivers, and governance, among many other things will impact the solution, and it’s the architect’s job to ensure the solution isn’t derailed when it doesn’t need to be. To do this, the architect instils confidence in the team and in the stakeholders by being objective, providing objective reasoning, responding quickly and accurately to late breaking change needs, smoothly working through political and alignment difficulties, and compromising where required. Staying ahead of the pack and having objective reasoning for all of your decision making will make the process more effective and allow your architecture to get it’s much needed consensus in order for the team to move toward that architectures defined target state.
Daniel Douglas is the Principle Architect Consultant with his own company (Douglas Information Systems Corporation), and provides architecture consulting and software development leadership as part of his repertoire.
This article originally appeared on Dan’s danonsoftware.com blog at https://danonsoftware.com/2019/10/25/why-an-architect-needs-to-be-steps-ahead-of-the-pack/