Overview
I wrote the following section to provide deeper insight into how I operate as a manager.
Too often I have seen examples of one's professional experience compressed down
to a single self-praising marketing summary like the paragraph below.
A true IT visionary and student of the technology industry. Repeatedly and consistently led organizations with the adoption of new technology and application of new techniques while minimizing risk. Proven ability to conduct accurate needs analysis, solve problems, assess technical capabilities, conduct strategic planning, build and motivate teams, and manage projects. Widely recognized by employees, peers, management, and consultants as an expert authority on technology matters.
The biggest problem with the statement above is validation.
Why is that person considered a visionary? Who can verify the consistency of
leadership with new technology? Where is the proven ability to solve problems
and motivate teams and how was that accomplished? And most importantly, it does
not answer how well that person's management "style" will fit into the
management culture of a given corporation.
What follows below is an honest attempt describing how I operate as a manager
and some of my views toward an assortment of management related topics.
Qualities
Listed below are a few qualities that I believe most accurately represents my
management style.
My preference is to work with experienced, can-do people. I believe smart
people with initiative typically come up to speed quickly and know how to
overcome obstacles. In training situations, I
prefer to create documents to be used as instructional references.
I attempt to use probability based decisions as much as possible. My
Dad used to say "You think you can just throw logic at any problem and it can be
fixed, but that's not always the case." That maybe true, but it probably works
about 95% of the time. Since I typically deal with technical people, the boundary condition or
theoretical position is often presented leading to overly complicating a
design. Sometimes being 100% accurate for 100%
of the possibilities is more effort than the return off that effort. You have to
almost independently access the cost benefit on every decision. Like horseshoes
and hand grenades, close enough many times meets the end goal.
Since I have usually had the privilege of managing highly experienced people,
most of those that do report to me participate quite heavily in self-management. My role than
becomes more of a leader/enabler than a "do exactly as I say" boss. I
prefer to present tasks as larger business requirements and leave the
implementation and design details to the individual. That said, I also meet both formally
and informally with most of the team on a regular basis. I feel it is important
to keep a pulse on what the current status is with projects and help remove
obstacles thereby keeping everyone operating as effectively as possible.
My biggest motivation comes from receiving positive results of my ideas or those
of the team come to fruition. I remember getting a extremely brief email one time from a sales
representative whom I never met that had just got a hold of a new release of a
software product we had just finished.
Subject: The New X.X Release
Message Body: This Rocks! Thanks.
No, Thank you.
Management Thoughts...
Below are some thoughts I have about a variety of management topics.
Communication
It is pretty hard to apply for a job nowadays where you don't see "Excellent Communications" listed in the description. So how does one know if they are poor, good, or excellent communicator? Easy, ask someone to read what you have written and critique it.
I used to think excellent communications (at least the written form) equated to perfect grammatical sentence structure and using a lot of impressive words. On my quest to become a better written communicator, I dusted off some of my college English and grammar books and engaged in hours of self study. I think this helped a little, but for some reason not as much as I had hoped. Plus, it was hard to retain all those rules once I stopped studying. So while perusing my favorite online library - 24x7 books - I found a book with some excellent, yet simple, advice. Basically the message was to stop worrying about grammar, and think more about what it is you are trying to communicate. Huge vocabularies and perfect grammatical sentence structure mean nothing if 75% of your intended audience is missing the point of your message. So I took this to heart and began my own communication journey.
Below are some examples of documents I created from my 5 years spent on a Networking Management product. Yes, the subject matter might be considered a bit dry, but with each I hope to leave the reader with a better understanding of the topic than they had prior to reading the document.
A smaller talented team can provide more bang for the same buck
It's pretty obvious that most managers desire all-star teams but often fall
short of ever building one. Why this occurs can usually be blamed on two numeric
foes: head counts and budgets. Since the budget part never seems to reach
unlimited, and top talent usually means more $$s, the manager is forced to fill
the team based on the allotted budget which often means compromising a bit on
talent. Taking a page from Math 101, if the budget is kept constant, but the
head count is reduced, then the money allotted per headcount increases. This
suggests if the manager could get by with a smaller team, the quality of
each member should be higher than a team comprised of more members paid
collectively the same.
Unfortunately, I've discovered some mangers are more concerned with
creating fiefdoms over corporate value. When confronted with potential loss of
head count and the status consequences of what a smaller number appearing on an
org chart might do to their perceive importance to an organization, most
managers will choose to keep the head count. Large head counts are so vital to
some managers, it is not all that uncommon for teams to be kept artificially
large even when many of the members have virtually nothing to do.
I've never really bought into the "bigger is better" philosophy at least when it
comes to team size. What you might gain in prestige points from your management
peers can rapidly diminish when it comes to actually getting real projects
completed. I have managed teams with as little as 6 highly skilled (and paid) direct reports
and achieved a higher output than with other teams with twice the number of
members.
In the company I presently work for, there
have a title of "Eagle" that applies to a super developer/architect. One
of the listed attributes of an eagle is the ability to accomplish 10 times the
work as the average developer. Well I have worked with eagles on my teams
and I not sure about the 10X value, but 3X probably. The beauty of this
arrangement is that eagles don't even make twice as much as the average
developer. So not only do you get more output for the same money, you cut
your management overhead as well. Not to mention there are some
assignments just to complicated for the average developer to accomplish.
Be a can-do person
Just because it is easier to say "No" than "Yes" or to deflect an assignment
rather than making a commitment to deliver on one, doesn't mean you always
should. No one wants to necessarily be over worked, but typically people will
like working with you better and respect your ideas and opinions more if you
attempt to say yes we can do something or something like it, rather than always
saying no. Common excuses as to why a task can't be performed vary but a few of
my favorites are listed below:
This is not to imply that those conditions never exist, but for some people they make their living off of diverting work. In some cases, I've been involved in the person spending more time defending why they cannot perform the task than it actually would have taken them to complete the request.
Being somewhat aggressive toward deliverables and capable of absorbing some
risk, I attempt to convey a "can-do" attitude. This is not to say, "Yes, we can
do that", is the only utterance I will ever make, but I don't wear Teflon armor
either.
Getting your team firing on all cylinders
Efficiency, productivity - how does one get the most quality output from any
given team?
Well the first area to tackle is team harmony. Teams with a lot of
internal issues typically are not highly productive teams. If there are any
issues between any members of the team they must be addressed sooner than later
and resolved. If it means ultimately moving individuals to another team or out
of the company entirely, then as the Nike slogan says - "Just Do It". Also a team with minimal to no interpersonal conflicts
can spend more time doing actual work not to mention help each other achieve
team goals.
Increasing worker output can be accomplished in a couple of ways: have a
person work longer hours, or optimize the efficiency at which work is performed.
Adding hours is necessary at times, but not the best long-term solution. Just
because a person is physically present more hours doesn't mean they are anymore
productive. In my opinion, the real key to worker productivity is that the
person should "want" to do their tasks as opposed to "having" to do them. It's a
bit of utopian thinking of course to assume it is possible to get everyone on a
team to love their job so much that if given complete freedom to choose how they
would be spending their time, the choice would be doing their current job. But
the more they like it, the higher the output. Ways to aid in increasing worker satisfaction are
listed below:
Job Role
Knowing your role should be
pretty obvious, but in my 20-some years working for technology companies, this
is where I have observed the greatest level of variation. The first issue
is with respect to job title. In a current article which tabulated IT
hiring projections and salaries for 2008, almost half of the sample respondents
claimed their title did not match their duties. Assuming that number is
accurate, then is this because people are actually performing the correct job
function and the title is wrong, or the title is correct and people are not
understanding what is expected of them in that role?
It's hard to know the answer to that question, but I've experience first hand quite a range of "management styles" in my years as a manager. I've taken part in experiments run at a company where management was put in rotation. That is, every couple years an executive manager over one part of development was reassigned to another. During this rotation, my title remained constant. Now I would have expected some level of consistency from the executive role, but there was very little. Each manager had their own style and how they operated ran the spectrum. In one case, there was constant interaction and delegated work assignments. In another case, there was almost none. One showed great leadership, a couple others almost none. Some were focused on strategic direction while others only wanted status on the tactical side. One had a lab setup in his house where he evaluated all the products under his responsibility, others barely understood what the products did. All of these people shared the same title and presumably the same role, so were all of these styles acceptable?
My answer to that is no. No matter what level in the management
hierarchy you fall, at the minimum you should provide leadership and direction
to those that report to you. That's not to say you need to tell people
what to do all the time, but some guidance is a must. I feel you also
should know a little about the products you have responsibility for. Maybe
setting up a lab in your basement is overkill, but at least read the manuals.
Also, if all you are doing is collecting status and reporting up, then you
better be good friends with the CEO or else your days could be numbered. I realize people are individuals and individuals are
unique. Some are very controlling, demanding and high-strung, while others
are less stringent and calm. But I feel it is important to know your role.
If you are unsure of what that is, ask. If you want to know
if you are providing some tangible value in your position, ask your reports.
Development Process
Open up any status meeting involving a large amount of
developers with the topic - "Today we will discuss our new process for developing software" - and
before any explanation can be had, you are likely to get back a collective groan.
Why is this? Because most developers associate process with everything
they don't like about their job. In the decade I've been managing software
teams, never once has a person come up and said - "I really can't wait to
provide you with weekly status and time estimates" or "filling in that bloated
design template and doing that PowerPoint covering my progress was a blast" or "CMM
level III, I can hardly wait until we get to level IV".
Since most developers are not fans of process, why have it? Two reasons: project management types love it; and two, projects involving more than 3 people can actually benefit from a good one. It's been my experience that most of the negativity toward process from the development staff has to do with a formal process that doesn't align with how work actually gets done. And of course the general sentiment that some/much/all of the process adds no value at all. Process in itself is not the end goal for a development organization, product is. That's why it is very important to have the most efficient process in place for achieving the highest quality product produced for the lowest cost.
OK, that's a pretty obvious, employ the most efficient process, but how does one do that exactly? First, document what your process really is. I know this can sometime be scary since executive management may actually believe software projects can be mapped out in Microsoft Project a year in advance and magically meet the delivery date with each developer completing their 10 assignments right on time. But once the shock of knowing - "it doesn't really work this way" - wears off, some meaningful dialog can really take place. Next, find a way to measure progress. And lastly, continually look for optimizations (see CMM does fit in after all).
Presently, the team I'm currently managing is officially using an agile approach to project management. I say officially, because for the past five years, we were operating under the guise of a waterfall methodology, while actually developing using more of a agile process. Under the waterfall process, some of our "release definitions" and "project plans" got approval after our development complete dates. Well, at least it made planning easy. I'm not necessarily pro-agile and anti-waterfall, but it's nice to have everyone involved with projects all grounded in the reality of how product is really developed.