2004/07/04

Office Space

How important is the physical workspace to knowledge workers generally,and software developers specifically?  Everybody agrees it'simportant.  Talk to ten people, though, and you'll get nine differentopinions about what aspects are important and how muchthey impact effectiveness.  But there are some classic studies thatshed some light on the subject; looking around recently, they haven'tbeen refuted.  At the same time, a lot of people in the softwareindustry don't seem to have heard of them.

Take the amount and kind of workspace provided to each knowledgeworker.  You can quantify this (number of square feet,open/cubicle/office options).  What effects should you expect from,say, changing the number of square feet per person from 80 to 64?  Whatwould this do to your current project's effort and schedule?

There's no plug-in formula for this, but based on the available data,I'd guesstimate that the effort would expand by up to 30%.  Why?

"Programmer Performance and the Effects of the Workplace"describes the Coding War Games, a competition in which hundreds ofdevelopers from dozens of companies compete on identical projects. (Also described in Peopleware: Productive Projects and Teams.) Thedata is from the 1980's, but hasn't been replicated since as far as Ican tell. The developers were ranked according to how quickly theycompleted the projects, into top 25%, middle 50%, and bottom 25%.  Thecompetition work was done in their normal office environments.
  • The top 25% had an average of 78 square feet of dedicated office space.
  • The bottom 25% had an average of 46 square feet of dedicated office space.
  • The top 25% finished 2.6 times faster, on average, than the bottom 25%, with a lower defect rate.
  • They ruled out the idea that top performers tended to be rewarded with larger offices.
Now, whether larger workspaces improve productivity, or whether moreproductive people tend to gravitate to companies with largerworkspaces, doesn't really matter to me as a manager.  Either way, theanswer is the same: Moving from 46 square feet per person to 78 squarefeet per person can reduce the time to complete a project by a factorof up to 2.6x.  That's big.  (Of course there were other differencesbetween the environment of the top 25% and the bottom 25%, but they arelargely related to issues like noise, interruptions, and privacy.  Itseems reasonable to assume these are correlated with people density.)

It itself, this doesn't give us an answer for the question we startedout with (changing from 80 square feet to 64 square feet per person,and bumping up the people density commensurately).  As a firstapproximation, let's assume a linear relationship between dedicatedarea per person and productivity ratios.  64 is just over halfwaybetween 46 and 78, so it seems reasonable to use half of the 2.6factor, or 1.3, as a guesstimate.  So using this number, a project thatwas going to take two weeks in the old environment would take 1.3 timesas long, or around two and a half weeks, in the new environment.  (Inthe long term, of course.)

To put this into perspective, it appears that increasing an organization's CMM level by one generally results in an 11% increase in productivity, and that the ratio of effort between worst and best real-world processes appears to be no more than 1.43.

You can't follow the numbers blindly here.  This probably depends a loton the kind of work you actually do, and I can think of dozens ofcaveats.  My gut feeling is that the penalty is likely to be more like10% than 30%, assuming you're really holding everything else (noise,interruptions, etc.) as constant as possible.  I suspect that theorganizations which are squeezing people into ice cube sized cubiclesare likely to be destroying productivity in other ways as well.  But,these numbers do provide some guidance as to what to expect in terms ofcosts and consequences of changing the workplace environment.

Links and references:


2004/07/01

Community, social networks, and technology at Supernova 2004

Some afterthoughtsfrom the Supernova conference, specifically about social networks andcommunity.  Though it's difficult to separate the different topics. 

A quick meta-note here: Supernova is itself a social network of peopleand ideas, specifically about technology -- more akin to a scientificconference than an industry conference.  And, it's making a lot of useof various social tools: http://www.socialtext.net/supernova/,http://supernova.typepad.com/moblog/.

Decentralized Work (Thomas Malone) soundsgood, but I think there are powerful entrenched stakeholders that canwork against or reverse this trend (just because it would be gooddoesn't mean it will happen).  I'm taking a look at The Future of Work right now; one first inchoate thought is how some of the same themes are treated differently in The Innovator's Solution.

The Network is People - a panel with Chrisopher Allen, Esther Dyson, Ray Ozzie, and Mena Trott.  Interesting/new thoughts:
  • Chris Allen on spreadsheets:  Theyare a social tool for convincing people withnumbers and scenarios, just like presentation software is for convincing people withwords and images.  So if you consider a spreadsheet social software, well, what isn't social software?
  • "43% of time is spent on grooming in large monkey troupes."  (But wait, what species of monkeys are we talking about here?  Where are our footnotes?)  So,the implication is that the amount of overhead involved in maintainingtrue social ties in large groups is probably very high.  Tools thatwould actually help with this (as opposed to just growing the size ofyour 'network' to ridiculous proportions) would be a true killer app. 
  • Sizeof network is not necessarily a good metric, just one that's easy tomeasure.  Some people really only want a small group.
Syndication Nation - panel with Tim Bray, Paul Boutin, Scott Rosenberg, Kevin Marks, Dave Sifry. I felt that this panel had a lot of promise but spent a lot of time onbackground and/or ratholing on imponderables (like business models). Kevin and Tim tried to open this up a bit to talk about some of the newpossibilities that automatic syndication offers.  At the moment, it'smostly about news stories and blogs and cat pictures.  Someinteresting/new thoughts:
  • Kevin statedthat # of subscribers to a given feed follows a power law almostexactly, all the way down to 1.  So even having a handful of readers isan accomplishment.  One might also note that this means the vastmajority of subscriptions are in this 'micropublishing' area.
  • New syndication possibilities mentioned: Traffic cameras for your favorite/current route. 
  • The Web is like a vast library; syndicated feeds are about what's happening now (stasis vs. change).  What does this mean?
  • The oneinteresting thing to come out of the how-to-get-paid-for-thisdiscussion: What if you could subscribe to a feed of advertising thatyou want to see?  How much more would advertisers pay forthis?  (Reminds me of a discussion I heard recently about radiostations going back to actually playing more music and lesstalk/commercials: They actually get paid more per commercial-minutebecause advertisers realize their ad won't be buried in a sea of crapthat nobody is listening to.)
More on some of the other topics later. 

2004/06/25

Supernova 2004 midterm update

I'm at the Supernova 2004 conferenceat the moment.  I'm scribbling notes as I go, and plan to go backand cohere the highlights into a post-conference writeup.  Firstimpressions:  Lots of smart and articulate people here, both onthe panels and in the 'audience'.  I wish there were more time foraudience participation, though there is plenty of time for informalinteractions between and after sessions.  The more panel-like sessions are better than the formal presentations.

The Syndication Nation panel had some good points, but itratholed a bit on standard issues and would have benefited from alonger term/wider vision.  How to pay for content is important,but it's a well trodden area.  We could just give it a code name,like a chess opening, and save a lot of discussion time...

I am interested in the Autonomic Computing discussion and relatedtopics, if for no other reason than we really need to be able to focussmart people on something other than how to handle and recover fromsystem issues.  It's addressing the technical complexityproblem.

Next problem: The legal complexity problem (IP vs. IP:Intellectual Property Meets the Internet Protocol) - I think thisproblem is far harder because it's political.  There's no goodsolution in sight for how to deal with the disruptions technology arecausing business models and the structure of IP law.

And, on a minor note, I learned the correct pronunciation of Esther Dyson's first name.



2004/06/20

Atom Proposal: Simple resource posting

On the Atom front, I've just added a proposal to the Wiki: PaceSimpleResourcePosting. The abstract is:

This proposal extends the AtomAPI to allowfor a new creation URI, ResourcePostURI, to be used for simple,efficient uploading of resources referenced by a separate Atom entry.It also extends the Atom format to allow a "src" attribute of thecontent element to point to an external URI as an alternative toproviding the content inline.

This proposal is an alternative toPaceObjectModule, PaceDontSyndicate, and PaceResource. It is almost asubset of and is compatible with PaceNonEntryResources, but differs inthat it presents a very focused approach to the specific problem ofefficiently uploading the parts of a compound document to form a newAtom entry. This proposal does not conflict with WebDAV but does notrequire that a server support WeDAV.

2004/06/05

Atom: Cat picture use case

To motivate discussion about some of the basic needs for the Atom API, I've documented a use case that I want Atom to support: Posting a Cat Picture.This use case is primarily about simple compound text/picture entries,which I think are going to be very common.  It's complicatedenough to be interesting but it's still a basic usage.

The basic idea here is that we really want compound documents thatcontain both text and pictures without users needing to worry about thegrungy details; that (X)HTML already offers a way to organize the toplevel part of this document; and that Atom should at least provide away to create such entries in a simple way.

2004/06/04

Who am I?

Technorati Profile

I'm currently a tech lead/manager at Google, working on Blogger engineering.

I'm formerly a system architect and technical manager for web based products at AOL. I last managed development for Journals and Favorites Plus.  I've helped launch Public & Private Groups, Polls, and Journals for AOL.

History:

Around 1991, before the whole Web thing, I began mycareer at a startup which intended to compete with Intuit's Quickensoftware on the then-new Windows 3.0 platform.  This was greatexperience, especially in terms of what not to do[*]. In 1993 Itook a semi-break from the software industry to go to graduate school at UCSanta Cruz.  About this time Usenet, ftp, and email started to beaugmented by the Web.  I was primarily interested in machinelearning, software engineering, and user interfaces rather thanhypertext, though, so I ended up writing a thesis on the use of UI usabilityanalysis in software engineering.

Subsequently, I worked for a startup that essentially attempted to doFlash before the Web really took hold, along with a few other things. We had plugins for Netscape and IE in '97.  I played a variety of roles-- API designer, technical documentation manager, information designer,project manager, and development manager.  In '98 the company was acquired by CAand Imoved shortly thereafter to the combination of AtWeb/Netscape/AOL. (While I was talking to a startup called AtWeb, they were acquired byNetscape and Netscape was in turn acquired by AOL -- an employmenttrifecta.)

At AtWeb Itransitioned to HTML UIs and web servers, working on web and emaillistserver management software before joining the AOL Communitydevelopment group.  I worked as a principal software engineer andthenengineering manager.  I've managed the engineering team for theAOLJournals product from its inception in 2003 until the present time;I've also managed the Groups@AOL, Polls, Rostering, and IM Botsprojects.

What else have I been doing? I've followed and promoted the C++ standardization process andcontributed a tiny amount to the Boost library effort.  On a sidenote, I've taught courses inobject oriented programming, C++, Java,and template metaprogramming for UCSC Extension, and published two articles in the C++ Users Journal.

I'm interested in software engineering, process and agile methods, Webstandards, language standards, generic programming, informationarchitectures, user interface design, machine learning, evolution, anddisruptive innovation,

First Post

The immediate purpose of this blog is to publish thoughts about web technologies, particularly Atom. Of course that suffers from the recursive blogging-about-bloggingsyndrome, so I'll probably expand it to talk about software in general.

What does the name stand for?  Mostly, it stands for "something not currently indexed by Google".  Hopefully in a little while it will be the only thing you get when you type "Abstractioneer" into Google. Actually it's a contraction of the "Abstract Engineering" which is ameme I'm hoping to propagate.  More on that later.

Suspended by the Baby Boss at Twitter

Well!  I'm now suspended from Twitter for stating that Elon's jet was in London recently.  (It was flying in the air to Qatar at the...