Consider the following scenario:
You’re a typical entry-level employee at your company. You have probably only been at the organization four or five months now and have settled in nicely. You have a boss, your boss has a boss, and you have to collaborate with a bunch of other other departments. There’s some red-tape, process, and so forth; but most of it is pretty inconsistent.
This is a typical reality for most software and web development businesses (and many other businesses as well, but I only speak of what I know first-hand). The organization is hierarchal in nature, dependent on chains of command, meetings, approvals, and so forth before any action is taken. There are contrasting agendas from various project stakeholders, from the client, and even from office politics. The reality is that all of these factors can easily derail a project before it even begins.
The major stumbling block for the typical business is the nature of the corporate hierarchy. Project managers, account managers, business analysts, creative directors; for a web development company this level of management is overkill. Especially if none of these managers were ever developers or web designers. Since they lack the technical knowledge of the field, the project will suffer immediately by their lack of ability to understand challenges and processes. They’ll hold meeting after meeting to “scope” the issues and plan everything — sucking up precious development time in the face of deadlines.
The secondary effect of hierarchal management are all the missed opportunities. Each employee, as a contributing member of your organization, holds a potential idea or solution that could put your business on the edge. However, when there are too many project stakeholders, when the client leads the project, or when office politics begin to dominate; it is quite likely that your business will miss the opportunity to take advantage of those ground-breaking ideas or elegant solutions. In the long run, this could be one of the greatest issues facing traditional business organizational structures.
So how can your business tap that underlying potential?
The first thing to do is to remove excess management. For example, developers don’t need a project manager, they need a leader. Someone with enough technical prowess to guide the development of the project, help out with the tough issues, and to keep things moving forward. Another thing to do is to thin out the number of project stakeholders: a client only wants to talk to one contact in your organization once they are on-board for the project. That person should be a business analyst or account manager and is involved from planning to completion, managing the business needs of the client.
The next thing to do is to allow for as much structured autonomy as possible. Maintain an overall project development cycle, but allow teams to form and take ownership of those projects within their domain. Let the developers develop the solutions to the business problems presented by the business analyst. Let the designers control the creative on the interface layouts from the developers. The more autonomy each team has within a project, the easier it is for your organization as a whole to respond to those ideas and solutions which may keep your business ahead of the game.
Above all else, listen to your employees. Empower them to make decisions. A designer often has the best ideas on how to integrate branding into an interface. A programmer often knows how to best structure a website or what features to focus their time on. Take a bottom-up approach and your business will have a stronger foundation to work on.