« April 2006 | Main | July 2006 »

May 23, 2006

New Collaboration Tools

With the impending release of Office12 (or Office 2007 or whatever Microsoft ends up deciding to call it,) there have been some demos, screenshots, etc. of the new Office functionality released that look interesting for helping to move the benefits of face-to-face, site-based communication out to non-site based workers.

Surprisingly, the Office application getting the greatest overhaul this version seems to be Word, which is a large change from Office 2003 (in which Word was practically unchanged from the previous version, while Outlook got the deluxe treatment.)  The UI is substantially changed, and in my opinion for the better.  Styles are more accessible (though not accessible enough); it's too bad that styles, one of Word's most powerful features, are so drastically underused since they're not presented in a very understandable way and thus people end up with "style pollution" in any documents that get shared among multiple people.

Outlook has gotten some improvements, though.  They've enabled side-by-side viewing and editing of multiple calendars (as well as the options of either viewing them entirely separately, or merging an arbitrary number of them onto one color-coded view,) which should be useful for anyone who needs to track more than one schedule (either other people's schedules, or their own for different jobs or projects.)  The task list and inbox are finally integrated (flagging a message for followup adds a task to complete,) making it a more functional organizational tool.  A "to-do" bar integrates appointments, tasks, and emails into one "Franklin planner" type view.  I wonder how much of this is a reaction to the new Google calendar -- looking at all of this, I can't help but think "now what would be really useful is putting all of this stuff on a web-site so that non-location-dependent workers could get at a full planner interface without carrying one around."  Google's new calendar, of course, is precisely that; I haven't looked at it enough to know how it is on organization and integration, but its actual calendaring/scheduling features look very nice.  Also, Outlook12 supports RSS feeds in the same way as mailboxes, newsgroups, or public folders -- it's not very compelling as an overall RSS aggregation strategy for Microsoft, but it does move Outlook closer to being "one-stop shopping" for daily information flows.

They've also put InfoPath into Outlook -- in other words, you can make a form with defined fields, email it to a bunch of people, and get back the tabulated responses to your survey instead of a bunch of emails.   And Project is integrated, too; a project manager can create a project, delegate tasks to various people in the enterprise, and have those tasks show up on their Outlook Tasks list.  There will be some sort of two-way feedback mechanism in this, though I haven't been able to try this out (most of Microsoft's groupware features require an Exchange or SharePoint server to work; great for the enterprise, not great for a blogger trying to check out beta software.)  Imagine being able to give project status updates within your tasks list instead of having to have constant "status update" meetings for every project -- that's the promise of this.  Time spent and tasks completed can be input directly, so the project manager can tell you're doing something without having to have you sit down at a table with him.  (Of course, the project manager should be able to tell by looking at the results of work, but we've all had project managers who don't have development knowledge.  Besides, project managers have managers, too -- and sometimes they won't take "I know my team, I can tell they're progressing according to schedule" for an answer.  They want numerical results, tasks completed, hours per day.  If nothing else, Outlook to Project integration will help feed the numbers machine.)

The big groupware project addition for Office12 is Office SharePoint Server.  SharePoint has been integrated into Office as a full member of the productivity suite.  It allows for resource libraries -- you could create a PowerPoint slide template, for instance, and put it into the library, where other people can make presentations based on it.  If you update the template, it automatically updates presentations based on it.  Workflow management can be defined and documents automatically routed through it.  They finally have real version control (as opposed to current versions of SharePoint, which have the utterly ludicrous feature of optional version control, in which each uploader can choose whether to add a new version or just clobber all old ones) and centrally managed policy.  

For the enterprise, at least (the market segment the Office division really cares about, whatever MS may say), it looks like they've actually produced a version of Office worth upgrading to.  It has its downsides (the radically new UI is less efficient for power users, and will require a total retraining of employees, retooling of training courses, rewriting of Office books, etc.), but the new features actually can improve productivity and project tracking in a way that a thousand Gantt charts full of wild-ass guesses can't touch.

It'll be interesting to see, in the coming months or years, how much of this functionality Google absorbs into their Calendar and Mail applications.  Most of Office's really good collaboration features depend on an enterprise environment (i.e. site-based & behind a firewall) that can host an Exchange or SharePoint server.  Google has the advantage that it is the server, so it can offer these features as part of its base offerings, rather than charging an extra few thousand dollars for serverware.  Of course, its disadvantage (lack of control; corportations don't like having their private information -- which usually means all their information -- on servers they don't own) may prevent real enterprise adoption, but I could see it being used by small companies.

Or maybe that's their real plan... package their collaboration software as an application service provider.  Pay to get mycompany.google.com as a server controlled by your company, and offering all the Google mail and calendar products.  The "Google Office" concept has been mostly dismissed, as Google is in no position to offer direct competitors to products like Word and Excel.  But what if those aren't the office products they intend to compete with?  It fits in well with the whole "Web 2.0" concept to have Google try to be the office suite for the distributed office. 

May 08, 2006

Corporate Confidential

I've just finished reading the moderately-controversial book Corporate Confidential by Cynthia Shapiro.  Shapiro, a former HR manager in various companies, purports to give away "50 secrets your company doesn't want you to know, and what to do about them."  A lot of people didn't like the book on account of it being overly cynical, portraying a workplace filled with politics, backstabbing, and hidden agendas where work performance doesn't really matter.

Honestly, there wasn't much of anything in the book I found surprising.  Her primary insight is that people respond to incentives, and thus management is less selected than evolved.  Managers are people who are good at being promoted to management -- in other words, what should be rewarded and what actually is are sometimes different, and the system is self-reinforcing.  Management tends to promote people who they see as being like them -- they know their recipe for success and look for others in the same mold.

As a result, appearance matters more than reality in the workplace.  This plays out in a wide variety of ways:

  • Dress and personal appearance still matter.  Most IT folk work in "casual" workplaces where there is no official dress code.  However, we younger workers forget that when the previous generation came up with the idea of "casual dress" at work, they meant khakis and polo shirts, not unthinkable clothing like jeans and T-shirts with pithy sayings on them.   It doesn't matter that the policy says there's no dress code, there is.  I work in a "casual" workplace, make only modest concessions to businesswear (i.e. wearing polo or button-down shirts rather than T-shirts, and forgoing jeans), and have been complimented by older managers on my "professional appearance" at least three times in the last year.  Managers only promote people who look "manager-y" to them, and they have very distinct attitudes on what this is.  Of course, it can be taken too far (someone in a suit and tie at Microsoft would just look flat out weird), but Shapiro's advice is to dress like people at the level you want to be at, not the level you are at.
  • Projecting optimism and a positive outlook are vital.  Employees are evaluated based on this more than any other single factor -- they project an aura of sucess.  Cynicism and pessimism -- which are very popular in the IT workplace -- project an aura of failure.  If you expect things to fail, they will; no one ever achieved victory by conceding defeat.  Managers also know that cynicism is contagious -- cynical employees "infect" others with the same attitude.  Appearances are so important that Shapiro suggests visibly disassociating yourself from the more cynical elements in an office, to avoid guilt by association or a perception that you've been "infected."
  • No matter what your job description is, your job is to make your boss's life easier and to make him or her look good.  If you don't do those things, you'll never be promoted, because your boss acts as a gatekeeper -- without his endorsement, other managers will be unwilling to promote you.  Your manager's opinion of you becomes your reputation among other managers who don't work directly with you.  Thus, an adversarial relationship with your manager, even when he really deserves it, does not benefit you. 
  • What the company says it values and what it really values may be different.  They may have a "work-life balance" campaign with posters around the office, but look around -- do all the managers work long hours?  If so, the company doesn't really value this at all, because it promoted the people who don't show that value.  If the managers go home at 5:00 and use all their vacation time, then the company really does value that.  Likewise, they may say they value a cooperative style, but if the managers are all really competitive, then they don't.  And no company values openness and honesty to the point of liking or even tolerating complaints or negativity, no matter how much they champion it.  If you don't "toe the party line" and demonstrate the company's actual values, they'll never promote you.
  • Many workplaces are divided into "camps" -- management and employees have a largely opposed relationship.  If this is the case, and you want to get promoted, management has to see you as "one of us," and not "one of them."  However, cultivating this perception may make office friendships impossible.

Overall, the book tells you that you need to manage your perception in the workplace, and that political skills like making your boss look good, appearing professional, being positive, being a "cheerleader" for the company and demonstrating love and loyalty for it (regardless of if you actually have any) are much more important than how well you do your job.  Of course, you have to do your job at a base level of competency -- all the perception-management in the world won't do you any good if you really, really suck at your job -- but excellence in your actual responsibilities will probably not yield as great a reward as excellence in politics.

After reading the book... well, I didn't really find it cynical, just true.  Microsoft has actually hired Shapiro as a consultant, and I can see why, as her book describes their management culture very well.  Whether they hired her to find out how to change this culture remains to be seen.

Alternative working arrangements, where you're not in daily contact with your manager and coworkers, go a long way toward alleviating these concerns.  The only office that really has no dress code is the one in your house.   You also have a great deal more control over your perception -- you don't directly fraternize with coworkers, and most communication is written (email), so it's easier to "fake" positivity if you need to do so.  (Personally, I'm preposterously optimistic, so this is not a problem for me.  I'd look on the bright side of a train wreck.)  And finally, since less of you is seen save for the actual output of your work efforts, you're less able to be judged by things other than the actual output of your work efforts.

In a way, Shapiro describes exactly what I hate about the office environment -- the subordination of productivity to largely irrelevant matters.  On the other hand, much of what she says applies regardless of work environment -- you can still look unprofessional in an email (hint: "u" and "ur" are not words), and your attitude and outlook shine through in things beyond just in-person communication.  Remembering that your job is to make your boss's life easier and improve his standing and appearance is useful no matter what your actual office environment is.

May 01, 2006

The Plague of Visibility

Vital to career success in the modern office environment is the concept of "Visibility."  This is the idea that, in order to get ahead, you have to ensure that your work is visible to managers and others who will be responsible for your career success.  In some places this is transparent (indeed, at one job I held employees were actually advised during their performance reviews about things that will maximize their visibility), whereas at others it's obscure, but it's always there.

On the surface, this doesn't seem like a bad thing.  After all, what's wrong with making people aware of the work you're doing?  If you work hard and accomplish a lot, shouldn't your managers know about it and reward you for it?  Besides, how can you be rewarded for things they don't know?

However, visibility can actually turn out to be quite a big problem in a software development organization, impacting both productivity and morale to a great degree.  And there are two fundamental reasons:

1.)  You may have heard the phrase "It is amazing what you can accomplish if you don't care who gets the credit."  This is by and large true.  So is its inverse.
2.)  The usefulness of a task and its visibility are not necessarily related.  In fact, it is often true that fake work is more visible than real work.

These are both a serious problem because people respond to incentives.  The attempt by various employees to achieve objectives in a maximally visible fashion means that they care very much who gets the credit.  From a purely self-interested perspective, it is important for you to get the credit for a task being completed well, no matter who does the most important work.  The initial result of this is that it encourages dishonesty and backstabbing -- people will emphasize their own role in a project while downplaying others.  After all, decreasing others' visibility increases your own.  But the worse impact this has is that it is better, in a purely self-interested sense, for a project to not be completed than for it to be completed without your visible effort.  After all, you can only work on so many things at a time.  If you don't have time to work on project B because you're busy with project A, you can do whatever you need to to delay project B until it can command your attention.  In addition, it strongly encourages fiefdom-building: ensure that you are responsible for everything whether you should be or not.  Managers try to get every project under the sun placed in their organization, not because of any logical synergy but so they can take the credit for the project when it's finally completed.  Often this results in overburdened organizations, unrealistic schedules, and delayed projects that could have been already completed by another team.

Fiefdoms are poisonous to any large organization.  When managers actively encourage their organizations not to cooperate with others, and to hoard tasks and responsibilities on their team, cross-group collaboration becomes largely impossible.  The product suffers as a result -- valuable integration opportunities are lost, and investigating bugs that cross team boundaries becomes very difficult.  A fiefdom environment cultivates the idea that another team's priorities are not your priorities at all; incentive to help others within the organization drops to zero.  Often this happens without the managers realizing what they've created -- they wonder why the members of their team are so slow to help out other teams without being directly ordered to, not realizing that it's their own priorities that have this result.

Thus, an environment in which everyone cares about visibiltiy creates an incentive to build fiefdoms and interact in a competitive fashion.  In addition, it creates an incentive to prioritize tasks based on their visibility, not their priority to the organization.

The most visible work is not always the most useful.  Indeed, a person's most useful work in a development environment is generally their day-to-day tasks -- writing code on features they own, finding or fixing bugs, maintaining the build system or IT environment, etc.  Maintaining the status quo is often a person's primary responsibility.  Of course, maintaining the status quo is entirely invisible; visibility requires being an agent for change.  Change, good or bad, is noticed.  Now, it's definitely preferable to be visible for good changes rather than bad ones, but there's some truth to the idea that all press is good press (unless it's really bad.)

Prioritizing based on visibility leads to make-work.  People invent their own projects and tasks that impact multiple groups and then pursue them because they know that impact will be noticed.  If this leads to neglecting their day-to-day tasks, so be it; no one notices those anyway.  The most vital work then coasts by with minimum attention (just enough to avoid appearing less productive than other employees), while the real work goes into "special projects."

This may seem mostly theoretical -- atfer all, most people are basically good.  They do not intentionally look for ways to abuse the system, to exploit their employer to get as much as possible out of them for as little effort, no matter what dishonesty or abusive behavior that requires.   Good employees do not want to engage in this sort of behavior -- we went into development and high-tech fields because we genuinely like the technology, and we want to see it work properly and succeed.  Surely we're not all out there neglecting the product and the organization in order to show off, are we?

Well, some people are.  People respond to incentives.  The degree varies -- the good people are harder to corrupt than the bad ones.  But if you reward bad behavior, and punish good behavior, you must expect to get some degree of bad behavior.  What's more, in the evaluation and performance review cycle is the worst place to do this, because it results in the worst people rising to the top.  Organizational hierarchies operate under Darwinian principles -- those with the best survival characteristics (visibility) will survive and advance.  The problem is that these people are the ones least likely to break the cycle -- they're the ones who profit from a culture emphasizing visibility over substance, why would they want to alter it?  I think most people who have been in an office environment for a few years have seen someone who moves up not by skill or ability in their field but by skill in politics.

Those of us who aren't manipulated by such incentives, on the other hand, face another problem -- morale suffers.  We're stuck with a choice of "do what you know is best, and be punished for it, or do what you recognize as worthless make-work, and reap the rewards."  Either choice leads to dissatisfaction -- either the feeling of injustice from not being rewarded for the contribution you know you've made, or the feeling of futility from spending time and effort on minutiae.  And where does this dissatisfaction emerge?  In the best employees, the ones an organization as a whole most wants to retain.  I feel like I'm wasting my time, but the politicians are satisfied.

So how does an organization fight the culture of visibility?  A few ways come to mind:

1.)  For God's sake, don't outright encourage it.  I don't think organizations that do this realize the ultimate conclusions that their policies lead to, or the incentives they're creating.  On the other hand, are the organizations consciously encouraging it... or are managers, recognizing the implications of the culture, just trying to warn their employees of the sort of system-gaming required to get ahead?

2.)   Use objective measures when possible.  In the development world this often isn't possible, since metrics like tests run or lines of code written are often meaningless absent some context.  However, some objective measures can be used -- such as on-time deliveries, deadlines met, budgets met or exceeded.  Any measure is better than "did the other managers like you."

3.)  Managers need to actually understand what their employees do.  This cuts down on fake work.  If your manager does not really know what you do, it becomes quite irrelevant how well you do it so long as you can spin it well.  While managers specialized in managing makes sense in most industries, it does not make sense in IT and development -- managers need to have actually done the sort of work their employees do.  This is a strong plus to promoting from within -- something that organizations seem increasingly reluctant to do, preferring to hire someone from without with "management experience" than take a chance on a bright internal.  It is extremely easy to pull the wool over the eyes of a development manager who doesn't do any development.

4.)  Keep people who don't understand what the employee does out of the performance review process.  Having other managers give their input may sound like a good idea -- after all, what better way to reward cross-group collaboration? -- but those people are even easier to fool.