Resources

Problemboss presents a collection of articles and other management-related resources.

Bad Boss Archetypes

I've worked up a list of mismanagement behavior patterns - common personalities and/or misbehaviors found in the workplace.

The pages that follow will present the behavior pattern (the 'archetype' if you will) followed by a fantasy response from the mismanager's staff.

Please revisit this page from time to time - we will be expanding the list as time goes on. Feel free to comment - we'd love to hear what you think!

Credit Hog

When someone does something – anything – right, he's there to take the credit. The more public and spectacular the success, the more vocal he is.

To hear him tell it, you'd never suspect he actually has a department of people doing the work.

Your fantasy responses:

Ask detailed questions he can't answer while he's taking credit… Outshout him… "Hey, wasn't that my project?!"

Why:

  • He might think that his taking credit is really a reflection of the department taking credit
  • If he's used to being a technical heavy-hitter, the fact that he doesn't have much in the way of personal project-related achievements while in a management role may be extremely uncomfortable.
  • He might be very insecure, and this is a way of ensuring that his own management realizes that he's contributing by way of his department
  • He may just be using the department to make himself look good, get that next promotion, and move on.

Tips for Dealing:

  • When you achieve anything major, announce it yourself. Either do it in a meeting – if you can manage it without your boss cutting in – or announce it via email to all the right people. You can do this under the guise of supporting your project team (whatever you do, don't take the credit for yourself if it's a team effort – give credit to the team in that case or else you're being a Credit Hog yourself) or as a status, or even as a celebration (whoo hoo! It's finished!).
  • Keep backup data – status reports, etc. – and be sure to include your accomplishments in every status report. Keep them in a handy place so that when review time comes around, you can provide the list in your self-review. (If you company doesn't solicit self-reviews, do one anyone on your own initiative.)
  • When he makes these announcements, follow them up with a resounding 'yes! What a great project team' and enumerate the contributors. If it was an individual effort, you can use the opportunity to thank anyone who *may* have helped you along.
  • If your department operates more as a group of individuals than as a team in the kind of work you perform, form a cartel and pat each other on the back instead of blowing your own horn.

Move the Mouse to the Left…Now!

The classic micro manager.

This guy wants to know what you're doing every minute of the day (and thinks you could do much better if only he could direct every move).

In extreme cases, he actually tells you what to do on at least an hourly basis. He wants to review every report and every significant email you send before anyone else sees it. It's hard to get anything done with him looking over your shoulder.

Your fantasy responses:

  • "Obviously, you should just do this all yourself."
  • "I could have done this twice in the time it took you to tell me how to do it."
  • "Do you want me to work or just report status?"

Why:

  • He may not really understand what his department is doing and desperately wants to be able to talk about it intelligently.
  • He may have had situations in the past where he didn't pay enough attention to what was going on in his department and got burned for it.
  • Someone in the department may have gotten him in trouble by not letting him know what was going on (this happens more than we'd all like to think, and micromanagement is sometimes a boomerang reaction to the situation)
  • His boss may be a micromanager and be demanding all the details of what's going on in the department.
  • He may be a genuine control freak.

Tips for Dealing:

  • Your best bet is to be proactive with information. On your checklist for getting anything of significance done, just put an action item send it to him for review. Chances are good that if you're proactive and consistent he'll calm down and back off a little bit. 
  • Give him a regular (probably weekly) status report. This is less work than it sounds – all you need is a format and the first report. After that, you just make updates every week and send it out – 10 minutes tops. Try to get away with just status from the last week and no future plans (less for him to try to control). If that doesn't work, go from less to more in steps, waiting until asked. Start with 'future plans' and no timeframes. From there you can go to 30 day/over 30 day, and if he's still not satisfied you can go to 30/60/90. You will probably need to put estimated due dates for in-process items, though, or he's just going to come back and ask for them. If his boss is the one causing the micromanagement you're giving your own boss enough information to take forward.
  • Sometime he just wants to feel like he has input into the process, so give him that opportunity. With luck after a few weeks of settling in he won't give excess and detailed feedback (but will give you some help where you need it).
  • Nod politely at his suggestions and incorporate them when they make sense. Everyone wants to feel like their suggestions count.
  • As a last ditch effort, inundate him with information until he cries uncle.

Ms. Oblivious

This is the manager who doesn't remember what her folks are doing between one meeting and the next.

She never notices that you need help, and is equally hopeless at noticing that you've done great work. She never sees that one person who doesn't pull his weight, or the other who are making up for it. She's unable to talk about your work to her manager because she doesn't seem to remember it at all. Dying your hair purple won't even make her blink.

Your fantasy response: "Yoohoo! Anybody in there?"

The Waffler

This is the manager who can't stick with a decision to save her life. You know, the one who has you change the graph 5 times before deciding…and then changes it back ten minutes before the big presentation.

Sometimes she can't even remember what decision she made, and she always expects you to nod your head and happily make the change, and to back her up in meetings when you're in shock over the about-face.

Your fantasy response:

Shake her and say "MAKE UP YOUR MIND!" (Ever see Airplane?)

Why:

  • She feels like she doesn't have full information, so she keeps digging. Every new piece of information changes her viewpoint.
  • She's made a few bad decisions in the past and been punished for them, and it makes her very nervous about making any decisions now.
  • She can see many points of view and goes with whichever one seems best at any given moment.
  • Her manager is on her case all the time about decisions.
  • She might not even be aware that she changes her mind as often as she does, or that it upsets the natural order.
  • She's just a very indecisive person. She probably hasn't painted her house in many years because she can't decide on a color. She drives a 12 year old car because there are too many choices for a new one. In other words, this is how she lives.
  • She's not very smart, and/or she likes to make your life miserable.

Tips for Dealing:

  • Try to articulate the goals for any decision. This will help keep her focused, and give you a baseline to which to retreat and start again.
  • Let her know what any about-face is costing – in time, dollars, whatever it takes.
  • When possible, record in a public place (email, wiki, etc.) any significant decisions and the reason for the decision.
  • Beat her to the punch – if you know she's going to ask for a presentation three different ways, just do it that way to begin with. It's more work if she doesn't ask for the changes, but if she runs true to form you'll save yourself a lot of last-minute hassle.
  • Speak up – when she backpedals, verbally confirm that the decision had been this, and is now is that, and note the reason.

Dealing with workplace sociopaths and psychopaths

Psychopath. Sociopath.

The terms strike fear in the hearts and minds of normal, conscientious, caring people. The media use these terms when describing vicious murderers or torturers. But what do the words really mean? Are all who can be labeled 'psychopath' or 'sociopath' prone to violence and physical abuse? Or are there other, more subtle, yet just as serious ways that these personality types manifest themselves in our daily lives?

Learning to identify and deal with psychopaths and sociopaths in the workplace is an important skill, even though they may represent only a small part of the population.

Identifying Sociopaths

Identifying sociopathic behavior is not as easy as it seems. Many of the factors used to identify the sociopath are present in less extreme (and 'normal') behavior patterns. One can conclude that one is probably dealing with a sociopath only when a combination of factors is present.

Four Questions

Recent studies show that certain behavioral elements have a strong predictive value for antisocial personality disorder, which may be a predictor for future problems:

In a recent study (Comp. Psych. 48, 529), Dr. Heather Gelhorn and her colleagues from the University of Colorado have determined the four questions that identify sociopaths with a good degree of accuracy (sensitivity and specificity). Additionally, there are some other questions that also help. The best part is that these questions are easy to ask so you don’t have to have a Ph.D. or an M.D. to ask them.
Link

Here are the four questions:

  1. Have you ever hit someone so hard that you injured them, or they had to see a doctor? OR: Physically hurt another person in any other way on purpose?

  2. Have you ever used a weapon, like a stick, knife or gun in a fight? (Editor's note: The last two questions don't take into account self-defense situations - context is important, isn't it? Hmm...)
  3. Have you ever had a time in your life when you lied a lot, not counting any times you lied to keep from being hurt? OR: Used a false or made-up name or alias? OR: Scammed or conned someone for money, to avoid responsibility or just for fun? OR: Forged someone else’s signature—like on a legal document or on a check?
  4. Have you ever robbed or mugged someone, or snatched a purse?

Two additional questions were also found to be good indicators:

  1. Have you had a time when you bullied or pushed people around or tried to make them afraid of you? OR: Harassed, threatened or blackmailed someone?
  2. Have you ever stolen anything from someone or someplace when no one was around? OR: Shoplifted?

Why do Sociopaths Behave That Way?

...sociopathy is a disorder where people use coercion, either physical or non-physical, to overpower other people. Why do sociopaths do this? As Dr. Steve said this week, because they like to. This power behavior gives them pleasure. To them, having power is like having an orgasm. The reason physical violence is especially pleasurable for some is that observing someone else crying or wincing over what they did makes them feel especially powerful. Those sociopaths who are better at observing and understanding people just lie to hurt. They don’t have to see physical pain before they can get that gratification.
Link

Sociopathy Wherever You May Find It

Here are some ways that sociopathy and psychopathy can manifest themselves in the workplace.

The Sociopathic/Psychopathic Corporation

Some have likened the corporation to a sociopath or psychopath - because a corporation has no conscience beyond that of the people in it, even though it has a legal status and rights on its own -- it has some of the status of a "person" in the eyes of the law, but no conscience of its own.

The Sociopathic/Psychopathic Manager

It seems that sociopaths and psychopaths are perfectly suited to advance through the ranks of a dysfunctional organization - because, according to theory, they possess all the right attributes: superficial charm, a willingness to advance at the expense of others, lack of appropriate guilt or remorse, manipulative tendencies, self-centered world view, etc.

These tendencies, in a healthy, balanced organization, should be quickly detected and weeded out.

The Sociopathic/Psychopathic Co-Worker

What about the co-worker who exhibits these personality traits, but for some reason hasn't risen through the ranks? Perhaps he or she is perfectly content to stay at low levels within the organization, perhaps due to reduced scrutiny in a role that is perceived as less crucial to an organization's smooth functioning and overall health.

A dysfunctional co-worker can still do a great deal of damage. Just because someone is not a leader or manager doesn't mean that their bad behavior won't cause deep and lasting damage -- and it doesn't reduce the organization's responsibility to detect and correct this kind of behavior.

Employee Bill of Rights

I once worked for an interesting video game software company - the employee handbook contained an "Employee Bill of Rights". The most interesting item was freedom of speech - a manager telling an employee "you can't say that" was subject to dismissal, according to the handbook.

Now, I don't know if this clause was ever enforced, but I found this to be a refreshing change from the usual politically-correct employee handbooks telling the employee what they can and cannot say, and outlining all manner of obligations the employee has towards the company. (I later found out from a company old-timer that this clause was rumored to be a result of the company founder's own abuses towards underlings!)

This was in 1992. Needless to say, shortly thereafter, as the company grew from its smaller beginnings into the behemoth that it is today, the corporate mentality took control, the previous handbook was discontinued, and the replacement handbook was just another run-of-the-mill corporate handbook full of rules that employees were expected to abide by - things you can't say, protected classes of people (as in sexual and racial harassment), etc. - but nary a peep about the employees' broad rights to be treated with dignity and respect by the company.

So, I'd like to propose a revival of the notion of an employee's bill of rights - that a progressive company should and must enumerate the employees' protections against abuses of power on the part of company management.

Here's a starter list:

  1. An employee is to be treated with respect and dignity by company management.
  2. An employee is to know where he or she stands at any given time. Waiting until review time to tell an employee about longstanding problems is incredibly bad management.
  3. An employee is entitled to a reasonable amount of preparation for an upcoming candidate interview. This includes time to read the candidate's resume, devise a list of questions, and time to put current tasks away before the interview. Dropping the candidate's resume on an interviewer's lap 15 minutes before the interview is a big turn-off and not conducive to good hiring outcomes.
  4. A salaried employee should never be pressured by management to work long hours to complete a project when the tardiness is not due to the employee's poor performance.
  5. More to come...

Suggestions?

Leave a comment below!

Growing and Managing Technical People

What

People are the most important success factor in any size technical company. Even start-ups need solid management to support their people and solid tools to support their managers. It’s important to build in some amount management structure and focus to ensure that the company retains its valuable employees. Although the information in this paper is specific to technical employees – and most specific to software development and other software professionals - the concepts are applicable to all employees regardless of skill set or background. Good management is critical in any company.

Why

In a software development company, workers are the only real assets. The loss of any key engineer is a blow to the company. In a small company – and especially a start-up - every worker is a key worker.

Retaining employees requires excellent management, even in the post-dotcom era. Stellar engineers will often follow trusted managers from company to company. Of course there’s no way to put a management treatise into a short subject paper, but the basics are consistent and straightforward. Each person must be treated and evaluated fairly and consistently. Identifying and correcting performance problems is essential to the morale of all employees – no one wants to be picking up after others when there’s already more than enough work to go around. Professional development, including career path and education, must be addressed for each employee. Finally, from a practical perspective a solid base must be created in order to avoid any legal problems.

How

Define job levels and pay grades

The first step in developing good management practices is to hire and pay consistently. In order to do this well, the company will need job titles and/or levels, and descriptions for each level. The description should describe the expectations of the job at the specific level – assignment types, skills and skill levels, education, and experience. There should be a pay range for each level to (public or not) to ensure that employees of similar skills are paid at a comparable level. (No matter what management thinks or directs, employees almost always discuss pay levels and stock options with peers.)

Communication

Regular communication with each employee is crucial. Employees have differing communication needs – some will need weekly meetings with their manager or team lead, others like drive-bys, still others just prefer to find and talk to their manager when they feel the need. The key is to determine each person’s preference and try to accommodate it. Some people will simply want to use the manager as a sounding board; others will want regular performance feedback and direction. Still others want to know that things are going well. If managers in the company are too busy to keep up this kind of communication with each direct report, work should probably be re-allocated. In any case, reviews should be held no less frequently than yearly, and nothing in a performance review should ever be a surprise. People need to know when they’re performing well and when they need improvement, and should always receive sufficient opportunity to make improvements after receiving feedback.

Professional Development

All employees want (and deserve) professional development. Unfortunately for managers, professional development means different things for different people and a formal development program is often not practical for a small or rapidly growing company. There are, however, some fairly easy things that each manager can do to ensure that employees feel their development needs are recognized, even if the needs cannot be met immediately. It’s important for the manager to determine the needs of each employee and to be able to offer advice on how to proceed with development. For some employees, development simply means promotion to the next level. These people will need to be coached to perform at the next job level (one of the places the job descriptions are very useful) in order to be promoted. For others, development means expanding certain skills to a greater depth – more expertise in a particular technology, for example. Once these needs are understood the manager can use job assignments, technical mentoring, and outside classes to help the employee gain the expertise. For some employees, development means expanding to a greater breadth – gaining new skills in new (but associated) functional areas. Again, job assignment, mentoring, and classes can help the employee obtain this breadth. Finally, some employees will want to develop skills to move into another job area entirely. This is a much slower process and needs to align with company goals and needs, but should involve identifying the skills necessary to move to the job area and providing assignments and classes to help gain those skills. For all of these development needs, the manager and employee should come up with some sort of plan. Such a plan is not a contract with the company, just a loose direction to help keep moving in the right direction. Review the plan and needs regularly – quarterly is good – because people and circumstances change.

Career Progression

To prepare the company for growth as well as to aid in employee development, it’s very useful to establish a career progression for each technical function. For example, development engineering typically has either 4 or 5 levels, from junior to very senior and ending at architect. Using job descriptions, it’s fairly simple to plot out the skills progression from level to level. This helps employees to determine what’s needed to reach the next level (and to decide whether the next level is something for which they’d like to aim – often job responsibilities include more staff/administrative skills and activities at higher levels, and not everyone is interested in the change). It also helps management determine whether more employees are needed at different job levels and whether current employees will be able to fill the needs.

Reviews and Assessments

Each employee should receive a written assessment at least yearly. Usually, these assessments are tied to pay raises, stock grants, and promotions. The job descriptions should be the basis for the reviews so that all employees are confident that they are being assessed against the same baseline as their peers. Unless performance is unsatisfactory, reviews should focus on positive gains as well as areas for growth. The reviews should be given to the employee verbally as well as in written form, and each person should have the chance to respond to their own review. Self-reviews can be extremely useful as well – people are usually much harder on themselves than managers will be, and the self-review is an excellent vehicle for discussion. The bottom line, though, is that nothing in a review should be a surprise. As noted earlier, regular communication is key.

Any serious performance problems should be addressed when they occur and should be documented in writing (email is fine) after discussion with the employee. Serious performance problems should be followed up on at least weekly until they are resolved, or further action needs to be taken. A performance plan policy will help ensure that this happens in a consistent manner. Delaying discussions with the employee will cause morale problems both for the employee with the performance problem and with the employee’s peers; it is very important to deal with the problems as quickly as possible.

Rewards and Recognition

Rewards and recognition are an important part of employee morale. Here again, everyone is different in their needs and preferences for rewards and recognition. Some people thoroughly enjoy being recognized in a group setting, in front of their peers. For others this type of recognition is excruciatingly embarrassing. Be sure to understand each person’s preference before recognizing them in public. For others stock and monetary rewards are motivating factors rather than recognition before their peers. In any case, look for reasons to reward employees. Everyone thinks of public praise and monetary awards when considering recognition; however, there is a host of other ways to reward good work. The accomplishment doesn’t need to be huge to gain a pat on the back. Think about parking places, spa trips, coffee house gift certificates, and other small rewards for accomplishments. For engineers, a reward involving toys is often worth far more than the cost of the toy (either electronic gadgetry or actual toys). Sometimes an unexpected afternoon off is worth more than any amount of money. Be creative, and match the rewards to the person and to the effort involved.

Growing Software Processes

What

All companies must use some variety of process to run their businesses. In early-stage start-ups, processes are usually lightweight and are often ad-hoc – which means that, while flexible, they are not repeatable. For a business to run efficiently, processes should be at least minimally defined. A balance is needed between the flexibility required to maneuver and the predictability required to produce a product on schedule, at cost, and at the right level of quality.

Why

Poor or incorrect process definition will eventually sacrifice quality, flexibility, growth, and employee morale. To operate efficiently, a software development organization must identify the key processes and institute these processes at the right level, providing enough definition without too much weight or rigidity and ensuring that the processes can grow and develop with the business.

Lack of Consideration and Definition

Key processes must first be identified. If the identified processes are not clearly defined they are not repeatable. (Clear definition does not mean rigidity or complexity, just a clear understanding of the steps and boundaries.) Even if a given process appears to work and to be well-understood in very early stages of the company, new people and continued growth will quickly dilute this understanding to the point that no one really knows exactly how the process should work. If key processes are not defined and broadly understood, at some point these processes will probably require retooling — an expensive proposition during rapid and/or sustained growth.

Process Too Flexible or Lightweight

If a process is too loosely defined it will be open to interpretation by each person involved. The key is to provide structure at the points where this type of interpretation will cause errors and confusion, while allowing more flexibility in the areas that will enable the company to maneuver easily as conditions change. Solid definition at critical points in the key processes will ensure a common understanding, traceable actions, and the predictability needed to produce a quality product on schedule. Such definition will also make it easy to grow and change the process as the company changes — the key areas will already be understood, and the less critical areas can be further defined as necessary.

Process Too Structured or Heavyweight

If key processes are defined in too much detail too early in the company's history, the company will find course changes and corrections very difficult. Teams will get bogged down in unnecessary detail, and the most creative members of the team — those especially critical to start-ups — will become frustrated quickly. Additionally, extremely detailed processes can be very difficult to change as the company changes.

It is important to note that some processes must have structured definition. Processes ensuring quality for some types of software (financial or health, for example) must be very well-defined, understood, and followed in order to ensure a very low rate of errors in the field and/or to ensure compliance in certain industries. These same processes would require considerably more flexibility for other types of software, especially those with quick release cycles and adoption rates.

How

  1. Articulate the corporate culture — processes must conform to and support the culture. For example, if many engineers work offsite regularly, requiring in-person walkthroughs of all code would make either the culture of offsite work or the process of walkthroughs difficult to maintain.
  2. Define the product lines and other corporate drivers for the foreseeable future.
  3. Determine the key business processes. For software development companies, these typically include the development methodology (waterfall, spiral, agile, XP, etc.), configuration management, architecture and design, code, build, review and unit test, quality engineering/quality assurance/quality control, release, and maintenance.
  4. For each key process:
    • Gauge the level of structure required based on the corporate culture, product lines, and other corporate drivers.
    • Define the basic process flow — the basic, generic steps required to complete the process.
    • Determine the critical points of the process flow. These are the activities that must be performed in the same way consistently by everyone involved in the process.
    • Clearly define the required actions for each critical step in the process, preferably working with a team consisting of representatives from each group involved in the process.
    • Working with the same team, define the required outcomes of each non-critical step in the process. This allows flexibility in methodology while ensuring that the goals of the process and its components are well-understood by the team.
    • Chart a growth path for the process based on the projected evolution of the company. At a minimum, determine checkpoints for re-examining the process to determine whether adjustments are needed.
  5. Document each key process in an easily accessible format and location.
    • Don't over-document, or the documentation will be out of date almost as soon as it is written
    • Depend heavily on pictures — charts are available in many different tools. Add text where it is critical for understanding, but do this with the knowledge that most engineers will probably not read the text, especially under schedule constraints. Start-ups are volatile environments; any process documentation requiring substantial time to read and understand will largely be ignored. Provide clear, step-by-step instructions wherever possible.
    • The best place to post process documentation is on the company intranet. Everyone can access the intranet easily even over VPN, and it's an easy medium to update.
    • Consider use of a Wiki for people to post hints on how they've implemented the more flexible process areas in different situations. This often evolves to the next stage of the process through common use, with very little upheaval.
  6. Review each key process regularly, updating as necessary. Because the environment is changing, the key processes will require regular adjustment. A good time for process review is immediately after a product release, especially during the project post-mortem. With a cross-functional team, note what worked well with each process and what requires adjustment, then determine the appropriate adjustments. Be sure to update the documentation with the changes, and communicate the changes broadly across the company.

Project Management for Non-Project Managers

What

Every software company needs to be able to tell where they are in a development cycle. Understanding progress and being able to make decisions quickly and accurately are key to bringing a product to market in the right timeframe at the right level of quality. For small projects or small teams, it is often possible to accomplish this type of tracking without a professional project manager and with very simple tools.

Why

For each project (and amongst projects) the company needs to understand, set, and communicate priorities of products, features, cost, quality, and schedule. Without this understanding, no foundation exists upon which to make decisions – the only alternative is ad-hoc decision-making, which generally does not take into account any but the most immediate factors and alternatives.

Progress on a given project must be understood and communicated in order to understand when decisions and trade-offs must be made. Typically, decisions and trade-offs based on project status need to be made quickly as well as accurately; project status needs to be well and easily understood to make these decisions and trade-offs effectively. There should be no surprises – slips should happen only with warning.

Finally, it’s vitally important to understand when a shift in resources – people, equipment, etc. – needs to be made in order to keep a project on track. Without adequate project status, it can be extremely difficult to recognize this need in time to respond quickly and effectively.

How

For relatively straightforward projects with minimal interdependencies, it is not necessary to acquire the services of a project manager, to use Microsoft Project, or to implement many of the other complexities of professional project management. The keys are planning, communication, and follow-through.

Planning

Communication

Follow-Through

Staffing Technical Functions in Software Development

What

Staffing is the most time-consuming and critical function of any company, and is especially crucial for start-ups and small companies. Staffing of technical functions in software development companies requires careful planning encompassing skill sets, ratios between functions, transferable skills and other fit factors, and speed of hiring.

Why

Every person is critical in a small company. The cost of a bad hire is high; hiring errors must be found and corrected very quickly to avoid lasting damage to the company. The most effective solution, of course, is avoidance - the ability to consistently hire the right person at the right time.

Hiring the wrong person wastes significant time and money on the hiring process and resulting exit activities alone. Technical errors made by a person with the wrong skill set and not discovered until significantly late in the development cycle (or even after release) can be costly. Hiring a person who is overall a bad fit with the company - its culture and its people as well as its technical needs - can cause serious morale problems across the company, both during the person's tenure and following departure. Considerable management time, always in short supply in a small company, must be spent to correct hiring errors, either by counseling the person to productivity or by managing him out of the company.

The wrong mix or proportion of people amongst technical functions can keep the business from operating at peak efficiency. This mix is important to ensure flexibility and to meet schedule and quality goals.

How

One of the first (and most often skipped) steps to successful staffing is to define the desired ratios between technical functions. This will allow determination of the need for expansion in each area. For example, establish the ratio of development engineers to quality engineers (start-ups often use 4:1 for this); the ratio between support engineers to development engineers; and the ratio between technical writers and development engineers. Next, create a general staffing plan including hire order and timing with respect to funding, release schedules, and ramp-up of development. Following are some general guidelines for consideration:

  1. The key architect is frequently the first hire. In a start-up environment, this person should also be able to code effectively until critical mass of engineers is reached.
  2. At least one, probably several, more key developers will be needed.
  3. Engineers are rarely good UI designers, particularly layout and flow, and correcting UI errors after the initial release can be very costly; however it's rarely cost-effective to hire a UI designer early in the staffing cycle. For a UI-intense application, consider using a UI consultant in early stages.
  4. Hire quality engineers no later than hiring of the last developer for the predetermined ratio. (It is generally a good idea to hire the first quality engineer when the first developer is hired, then work into the desired ratio.) If you're unsure whether a quality engineer is needed, consider starting immediately with a contractor. Because software quality engineering is very different from development engineering, development engineers rarely have the skill set and orientation to test effectively.
  5. The first Support engineer is typically hired prior to the first product launch unless subsequent schedules take support by implementers into consideration (note that having development engineers work directly with customers other than developers can be problematic). Support engineers can often double as educators and sometimes as professional support - for small, early-stage start-ups, try to get someone who can wear several hats. Take into account number of support shifts. If the Support function is a planned outsource, at least one internal support engineer will still be needed as a liaison and center of competence.
  6. Don't have engineers write documentation. Use a professional contract technical writer until enough work exists for a full-time writer. Don't try to use marketing writers as tech writers or vice-versa - it's a different skill set. Look for tech writers to go contract to hire, and who understand online as well as hardcopy documentation. Many tech writers are good UI designers as well.
  7. Monitor the amount of time engineers are spend filling I/T and configuration management (CM) functions. I/T functions can often be outsourced effectively; CM functions generally cannot. CM requires a certain orientation and attention to detail - if a development engineer is handling CM on a part-time basis because she has no other choice, she is unlikely to pay the attention to detail required long-term. One good way around this is to make much of the CM simple and automated - the same talented development engineer who doesn't have the patience to be a full-time build engineer might be an excellent choice to automate many of the CM functions.

It's a good idea to determine acquisition and interviewing strategies before beginning the hiring process. There are many options, some of them expensive, and it's good to take stock of your requirements before contracting for services. Some considerations for the hiring process:

The sociopathic organization, and how to retain or regain your creativity



(Cartoon courtesy of gapingvoid.com)

This is one of my favorite resources from a few years back. Hugh MacLeod of gapingvoid.com offers his insights into some of the ways the modern organization fails to accommodate the human needs of the people in them. And he talks about ways to retain or regain your creativity and humanity.

Quirky, entertaining, and worth a read - and a re-read every once in a while, IMO.



(Cartoon courtesy of gapingvoid.com)

Top Ten Signs Of A Dysfunctional Workplace

There's no such thing as a perfect company - any enterprise consisting of more than one person is going to have issues (and to be sure, there are single-person enterprises that have major issues).

Frequently, the larger the organization, the more likely one or more of the following is going to be true. Note that there is a difference between an event or incident and an actual pattern. Incidents can sometimes be explained (everyone has bad days); patterns are worth noting.

Here, then, are the top ten patterns that could convince you to pack your bags:

  1. Managers berate underlings publicly (and loudly). Airing dirty laundry in front of peers. People try to 'win' arguments by raising the volume rather than put forth reasoned arguments.
  2. Managers don't delegate; lack of trust.
  3. Meetings: Never or rarely have meetings (inadequate communications) -OR- too many meetings (no time to get things done).
  4. Lack of preparation. Everything (or nearly everything) is an emergency.
  5. Managers don't commit anything to writing - no clear documentation trail (ever notice some managers prefer to "drop by" or "call to tell you" rather than compose email or provide documentation...?)
  6. Company or managers promise non-existent products or product features to customers without consulting the people who have to deliver the goods.
  7. Three weeks before first customer ship date and your manager is adding features because of a recent project or sales lead.
  8. Lack of timely and direct feedback. You find out about perceived problems only at review time, months (or more) after they occurred. The rest of the time, it's all peaches and cream.
  9. Your manager acts nervous or uncomfortable whenever he (or she) sees you talking to someone outside your department.
  10. An air of unreality permeates the organization.
  11. Multiple boss syndrome: you're given directives (sometime conflicting) by more than one superior. And/or, people who report to you are also getting orders from your boss, a peer of your boss, the janitor, etc.
  12. Webmasters and editors who can't count...

Talk Back!

Do you have any other symptoms you think ought to be included in this (or a future) list? Drop us a comment and we'll 'take it under advisement'.

What happens to the truth as bad news moves up through the company hierarchy?

Why does it seem that information gets a fresh coat of varnish as it passes up through the company ranks?

I know I've seen this happen too many times to count. The front-line grunts know that things are bad, that there's no way that the project will be done according to the current schedule (or worse). The conscientious and courageous ones let their managers know, in frank, honest terms, that there are major problems.

But reality seems to have a hard time leaking past certain levels of management. Are their managers liars? Are they inherently dishonest? I think not. I think this is due to human nature: the desire to avoid embarrassment, to avoid seeming negative, to avoid being viewed as "Chicken Little".

Bruce Webster, in an excellent post titled The Wetware Crisis: the Thermocline of Truth, argues for the existence of a natural, predictable barrier to honest communication between those nearest the problem and those most distant: the thermocline of truth. (A thermocline is a sharp thermal gradient between the cold water near the bottom of a body of water, and the warmer water at the top.)

He describes the factors that contribute to the existence of the truth gradient, and how it moves upwards depending on how bad things really are and the inability to continue hiding the truth from those above: if reality is about to assert itself (for example, something is supposed to be shipped next week, and there is no way it can possibly happen) the truth now moves up the chain, where before, hope and wishful thinking prevailed.

Webster's article is thought-provoking and worth a read. Now go read it!