

Inside GitHub's Super-Lean Management Strategy - ollydbg
http://www.fastcolabs.com/3020181/open-company/inside-githubs-super-lean-management-strategy-and-how-it-drives-innovation.html

======
crazygringo
This is great for creating _new_ products, for innovation.

But I've never understood, who then does the grunt work? Who slogs through
producing the documentation, and keeping it up-to-date? Once a new
product/feature is launched, who sticks around for the bugfixes, support,
etc., since presumably everyone will be more excited to allocate themselves to
the next new big thing?

In every company, there's a lot of totally boring, unattractive stuff that
needs to get done nevertheless. With open allocation, who does that?

~~~
mojuba
More often than not, boring work that nobody wants to do at your company is an
indication that something went wrong in the process of design & development of
your product.

For example, from my experience as an end user, if a product or service relies
heavily on documentation, "knowledge bases", forums etc. then it's pretty much
fucked up already. Work of any kind at a company behind such a product would
be boring: from management and engineering to QA and technical writing.

Github is obviously not among this kind of companies. And I wonder what would
be considered "boring job" at GitHub then.

~~~
dasil003
You're conflating good product design with good company processes, but those
are completely separate concerns. Of course a good product shouldn't require
documentation because the whole point as a consumer product company is you are
bending time and space to make something that people want to pay for. However
in order to accomplish that there will most likely be some shit that needs
shoveling along the way. Who does the bookkeeping at Github for instance?

~~~
mojuba
My hypothesis is speculative. I think what we call "shit work" is in fact
something that is less creative and as such is likely to be subject to
automation/algorithmization.

In other words, with the right tools, platforms and algorithms you have less
shit work to do.

A few things that can be considered "external bureaucracy", such as
accounting, patents, legal stuff etc, that are kind of beyond your control, so
they should simply be outsourced. For bookkeeping, hire a company. There will
be some amount of interaction with them of course, but that itself shouldn't
require full time involvement. I did that for one of my companies, worked OK
for us.

------
siliconc0w
At a certain point a myth got started that management was a valid profession
in itself and it was perfectly fine for a non-technical person to make
technical decisions. And for most businesses today, growth and innovation is
going to come from better use of technology.

"Non-technical" (I love that word) professional managers are thus incapable of
either coming up with innovative ideas or recognizing the opportunities when
they do come up because they simply don't understand them well enough. For the
same reason, they're unlikely to make well informed choices between
priorities. Even ex-technical people that moved into management still make bad
decisions because they often don't really keep up with new technology and the
changing technology landscape. They might go to conferences and surf slashdot
but they aren't in a position to actually apply that knowledge so it ends up
being practically useless. If they're asked how to approach a problem they
often just use the approach they would have went with 10 years ago before they
became managers because that is what they truly know and understand (because,
unsurprisingly, you have to do something to understand it).

~~~
vonpidda
You seem to be making the wrong assumption that innovation is technology..? On
the other hand you talk about growth and innovation coming from better use of
technology. Innovation is a behavioral outcome, it's about behavior and its
implications. The problem so far is that decisions of behavioral nature is
taken by managers for one reason or the other not qualified to do so...

------
shalmanese
Github is fortunate in being one of the few companies that their customers are
the same type of people as their employees. This allows them to get a lot of
what traditional management is needed for "for free" and allows radical
freedom in their management structure.

I'd hesitate to try to apply their example to other companies unless you're in
a similar situation.

~~~
crbnw00ts
Another example which backs up your hypothesis is Valve; a gaming company
filled with people who love games, and thus they are their own customers. They
too have a "no management" management approach.

------
sologoub
The current resource allocation models mostly stem from non-software
industries, especially in financial planning and budgeting. As the result, the
fit is not always perfect.

Working in software for a little over 10 years, I'd say of projects that
should not have been undertaking by companies I worked for or should not have
been undertaking by core developers, 90% would have had a lot of trouble
attracting people within such model. Generally speaking, software engineers
within companies know their own capabilities better than management,
especially non-tech management, and can differentiate between a good and a bad
fit for a given approach.

On the other hand, I have yet to run into a group of engineers that would not
want to attack a valid customer problem, whether it's "sexy" or not. The
"shit" work some people mentioned, really isn't if it is what is needed to
make a difference for a customer. Engineers generally take a lot of pride in
their work, so if there is a defect, they want to fix it.

Seems like such a model could be a much more efficient allocation of resources
in the long run, but would hurt some egos in the process.

~~~
lifeisstillgood
Agreed - but I have thought for a few years that management as a career and a
well remunerated one is coming to a close - one of the main drivers for me to
get "back" to coding

~~~
sologoub
Well, facilitators and enablers will be in demand regardless of what
methodology you subscribe to. For the last 8 years I've been a product manager
(& director). This is one of those jobs that if you do a mediocre job, at best
you'll be a nuisance, at worst an impedance. If you do a stellar job, your
team's productivity will skyrocket and so will the returns on the investment.

PMs, like many other enablers/facilitators, are there to weed-out noise and
make sure the team is always in the know on the relevant context and insights.
When things go badly, strong PMs provide cover for the engineers to work
through the storm and continuously synthesize all forms of feedback to ensure
engineers have proper situational awareness and facts to make sound decisions,
but not thrash in response to whatever strife might be out there.

There are other "managerial" type professions that have a place and make
things better. All good managers know how to resolve conflict and make sure
the team knows about any land mines, but also knows when to get out of the way
and let people work. Individual development is also the job of the manager.

~~~
lifeisstillgood
I'm not disagreeing - except that manager-as-facilitator is an appropriate
role only for skilled and usually gelled teams. Manager-as-coach are also
often needed, but weirdly most of it seems to be manager-as-supervisor-meddler
- it's something to do with a short term view - put people together, do no
training, hope they work together.

~~~
sologoub
"put people together, do no training, hope they work together" that's usually
a sign of an inexperienced manager.

That said, I do agree that much of what I said assumes you are dealing with
adults that actually want to be there. If you have a demoralized team that
doesn't want to work together, there is a whole other managerial skill set
that is needed trying and bring them together. Unfortunately, often times
things are too far gone to salvage all team members, especially in such market
as we have today in tech - just raise a hand and recruiters beat down your
door.

~~~
lifeisstillgood
BTW have you heard of / had experience with programmer anarchy approaches
championed by Fred George?

And I suspect we are in violent agreement. which leads me to wonder what is
going wrong

There are a lot of people getting paid in the IT industry, about half of whom
write code. They range in skills across the double hump of software ability.
And they are apparently all over stretched or on silly short timescales
brought on by a poor initial estimate.

To go from just surviving to a team that guides itself takes a lot of
training, social norming and individual coaching. None of which will happen
with these foolish estimates driven projects.

So I am not sure I see a way forward.

------
robbfitzsimmons
I think the key quote for me is about how effective Githubbers are as
communicators. Which isn't at all common in our industry.

 _I think about it is as being highly networked. [...] you look at the
strength of connections between people, the communication channels, and how
information travels amongst them, and then you can draw a diagram._

What seems like a higher-than-average percentage of Githubbers are
particularly effective communicators publicly, even outside the management
team. (Zach Holman in particular comes to mind.)

------
kayoone
Github is a very special case because they have a relatively simple product
and very tech savy audience. I currently work on a very large b2b web
platform/application where customers are typically 40+ and still using
Internet Explorer. Its also so massively complex that you just cant do it
without extensive planning and talking about every last detail of the
implementation with all people involved. I wanted to avoid it, but not talking
things through in detail usually results in misunderstandings and more work
down the line.

Its great that github can do it like this and i envy them for it, but its not
a one-size-fits-all solution to project management

------
briandoll
GitHubber here. There's some great questions in this thread already. I'm AFK
this weekend, but if you've got more questions about our structure, or how we
use GitHub.com to work like this, ask away and I'll try to answer them in a
blog post next week.

~~~
nolite
Does github use Jekyll for it's blog? And what chat/video conference software
is used, Skype?

~~~
markdotto
Fellow GitHubber here :).

No, we don't use Jekyll for our blog. It's part of the GitHub.com codebase I
believe.

For chat, all standard stuff really :). We use Campfire for group chat (dozens
of rooms), Gtalk/AIM/etc for individual chats, and Skype or FaceTime for video
chats.

------
alayne
I'd be more supportive of GitHub if they open sourced some of their
infrastructure code.

------
alexdevkar
This approach seems almost magical. There are a couple areas that I'd like to
hear more about.

\- How detailed is the strategy coming down from the top? "... [W]hat you work
on is up to you, within the bounds of what’s important to the company." What
is the process of oversight to determine if each project is "important to the
company"? Are there often conflicts in this area?

\- How does employee evaluation work? Does each member of a project submit
evaluations for the others?

------
arkem
"There’s Google’s now-defunct concept of 20% time"

I wish people would stop saying this, 20% time is not defunct at Google.

~~~
barry-cotter
Be more specific. One presumes you are a Googler. If so, when was the last
time you did a 20% project, how much dedicated, blocked off time did it have,
and how did it effect your relationship with your manager?

Stuff like 20% time being defunct becomes common knowledge through multiple
independent repetitions, like Amazon being a shit place to work, Google not
doing customer service or Zynga, well, Zynga.

~~~
arkem
I recently left Google (about a month ago) but in my roughly 18 months at
Google I was always working on 3 or 4 projects of my own choosing outside of
my 'day job'. They each took up between 5-15% of my time so I'm happy lumping
them all together and saying that they were my 20% time.

One of my non-day job focus areas was security education, I ran several
classes/events to try and teach people about writing secure software. A public
example I can give is the Hardcode Secure Coding competition which I was one
of the organizers and judges. See
[http://googleonlinesecurity.blogspot.com.au/2013/05/the-
resu...](http://googleonlinesecurity.blogspot.com.au/2013/05/the-results-are-
in-hardcode-secure.html) (I'm one of the guys in the desk photo).

Another example of my 20% projects was a dashboard that compared the number of
security reports that had been reported against various parts of Google. It
compared them with a lighthearted metaphor and was displayed in a relatively
high traffic area in the hopes that it would draw the interest of people who
did not track security issues day to day.

A final example is that I worked a little bit on Glass, but only as an
interested outsider. I helped out with some security reviews of internally
developed Glassware on a volunteer basis as well as wrote my own Glassware to
help test the platform.

Blocked off time varied, Hardcode required a lot of blocked off time
(including a trip to Singapore). My other projects generally needed a couple
of hours at a time. In an average week I'd work two half days on my side
projects (not every project every week).

My managers were both very supportive (and all round great guys), it helped
that I could explain the potential benefits of all my projects and that they
were not completely unrelated to my day job (performing security assessments
and code reviews of non-Google code/systems). There are probably limits to
what my managers would endorse, but I never got anywhere near those limits.

------
petercooper
Where did you pick up the link with .html appended on the end? It resolves
back to without it and all the internal links lack it.

~~~
swanson
This post was on the front page last night/this morning and dropped off, this
was to avoid the duplicate check methinks

------
glasz
ot: i really love all these tech sites that just don't stop loading crap while
you're already reading the article. then it just scrolls to the top, bothers
you with popups and shit.

extremely off-putting. many times i just quit. really great for retaining
readers.

