Components of a Technical Organization
I've worked for many years in the technical/software industry and over that time I have frequently pondered the question of what makes one technical team so good and so effective s others seem to constantly struggle. What is that secret sauce? Is there one particular thing that certain teams have that others don’t?
The answer is, of course: No, there is no one silver bullet that magically makes a team effective. Rather, with a high performance technical team there is delicate balance of a variety of pieces all coming together in just the right mix. An efficient, effective and successful technical organization consists of great people working within a set of processes using appropriate hardware and software with access to the right data/information in order to accomplish their goals. If one or more of these elements is out of balance, the team and the ultimately business as a whole will suffer.
In the following sections, we’ll take a very quick look at the all the various components, what their characteristics are and how they all fit together.
The people are the most obvious and clearly the most important component of any organization, regardless of whether it is a technical organization or not. Without the people nothing gets done. That is, of course, blindingly obvious. Every other component of the technical organization is focused on making the people as efficient as possible. However, when all of the other components are lined up perfectly, the business must not lose sight of the softer side of staff management. For instance, arm a technical organization with all the tools, process and data it needs to succeed but fail to provide them with a vision and a clear direction they can relate to and you will likely find that the team fails to reach its potential. One must also take the motivations and needs of the individuals as well as those of the team itself account. To keep any team working well, leadership must always keep the needs of the individual, the needs of the various teams and the needs of the organization as a whole in mind.
We looked at the people in an organization and how they are the force that actually makes work get done. The processes in the technical organization define how things get done and the rules by which everyone must play. Think of the processes as the rules of the road that the organization and the business itself use as it goes about accomplishing its goals. Process, in my opinion, should be as fluid as possible. The stewards of the processes (typically the technical leaders) must constantly look at the processes making certain that the process serves the needs of the organization instead of the other way around. If a process is found to be a barrier to accomplishing the goals of the business, that process most likely needs to change.
An additional aspect of process is its role in capturing the collective knowledge of the organization. Organizations that lack appropriate process tend to depend heavily on what I refer to as tribal knowledge and folklore. While this is often the easiest and seemingly most efficient way to do things in the beginning but it leaves the organization and ultimately the business itself open to significant damage when critical knowledge is stored solely in the heads of the employees.
Defining and evolving the processes that run the organization is no small task. Too little process and the organization will be in a constant state of chaos. Everyone has seen the damage that lack of process can cause to even the smallest of projects. Too much process and the organization will be paralyzed by rules and bureaucracy. Finding this balance and maintaining it over time, while one of the more difficult tasks, is critical to the long-term success of the organization itself.
Hardware is everything physical about the organization. More than anything else it is what people use in order to interact with the other of the components of the organization. The hardware environment is also often something that is only understood by a handful of people. Frequently a significant portion of the hardware environment lies behind a locked door (or in the cloud) where no one can actually see it. Having the right hardware and having that hardware configured properly is incredibly important for the business as a whole.
Give some thought to what happens when proper attention is not paid to this piece of the puzzle. There are the obvious problems like aging hardware causing team members to lose but things go far deeper. Consider how much time the team spends maintaining and configuring hardware components. Keep a strict inventory of what hardware you have, how it is used and who is responsible for its overall health.
A single piece of software can fail, an individual staff member may leave the company or a single process may not serve the business but often a single hardware failure can cause multiple other components to stop working at once. If not carefully considered and carefully maintained, failures in the hardware environment can stop the entire organization dead in its tracks.
People make the work happen and process defines the rules by which that work gets done but the organization needs tools to do that work. Every piece of software an organization or the business itself uses is a tool for accomplishing work. Software allows a programmer to write his/her code. Software tracks the defects that are found by the QA team. Software monitors the hardware and alerts the operations staff of potential failures. Nearly every tool a modern business uses to accomplish its goals is rooted in software.
Consider taking a periodic inventory of the software that the business or organization is using. This inventory can include, among other things, who is using the software, what its role is in helping further the goals of the business and how its feature might overlap with other pieces of software. This can be a very useful tool in understanding what your software landscape looks like at any given point in time and whether it is meeting the needs of the business.
Selecting the correct software for a given job is crucial. Everyone has seen the results of using the wrong tools for a job. It can be (and usually is) just as disastrous for a project as having the wrong people or a poor process. Also, just like process, the software tools a business uses should be constantly evolving. New versions of software become available and need to be deployed. A growing business will invariably outgrow one solution and need to move to another. The software environment for any business is an incredibly dynamic and diverse environment that requires constant attention if it is to help the business succeed.
The data that surrounds the business is, quite simply, the lifeblood of that business. Analysis of this data is what allows people to make informed decisions when doing their jobs. Data drives the process. The software tools create as well as feed on the data. Assuring that the business has the right data and that the data it has is accurate is of paramount importance. If the business doesn’t have the right data and quick/easy access to analyze that data then it cannot possibly make informed decisions on how to move forward.
Give some thought to what data your business absolutely depends on and what sorts of insights you could gain from that data if the right analysis tools were available. Are there questions about the state of the business or the organization you work in that you’d like to be able to easily answer but can’t because the data you need is not available? The world of business intelligence is growing by leaps and bounds these days, its quite possible that what you need is not that far out of your reach.
Your corporate data is also one of the only truly irreplaceable assets the business has. It must be protected from theft as well as from accidental destruction. When businesses talk about disaster recovery it is not an inability to access the software and/or processes that drives the urgency around getting systems back online, it is the inability to get to the critical decision-making data. Careful thought must be put into understanding how to protect this critical resource without simultaneously restricting access to it to the point of making it useless.
In this document we’ve walked through the 5 primary components of any technical organization and just barely scratched the surface in terms of what those components mean and how they interact. The purpose was to provide a high level view and make it clear how important each of these components is as well as how important it is that a balance of each of components be found. I’ve tried to demonstrate that there is a balance inside each component and that the 5 components themselves must also be balanced, hopefully I have accomplished that goal. Balancing the pieces of a technical organization is a never-ending task that requires a dedicated team that has a clear vision of what they are trying to accomplish and an understanding of how each of these components plays its part.