Live data from Hacker News

Lessons learned from a cancelled project

opensoul.org

11–17 of 17 posts

Re: Lessons learned from a cancelled project

#11
post #9
post #8

Earlier quoted context omitted.

You are right. For better or worse, we have not had traditional PMs at GitHub. Often that is a role played by what we call a PRP (primarily responsible person). That person is often an engineer or designer.

> Often that is a role played by what we call a PRP (primarily responsible person). So Github doesn't have managers, it just has Primary Responsible People, who sound an awful like they do the same thing? Just don't call them "managers", because you don't have those. Cute. Every successful startup eventually discovers that the O(n^2) communication overhead of a perfectly flat org doesn't scale, and needs to adapt to…

The biggest difference is that our "PRPs" don't see management as their primary responsibility. They're still an engineer or designer first.

> Every successful startup eventually discovers that the O(n^2) communication overhead of a perfectly flat org doesn't scale, and needs to adapt to deal with that. The question is whether to develop coordination specialists implicitly or explicitly.

Yep. This is certainly something we feel the pain of and are wrestling with right now.

> Developing doublespeak to protect an idealistic worldview from its incompatibility with reality does seem pathological.

By definition, we don't have anyone that plays the role of "manager" right now (again, for better or worse). I wouldn't call that doublespeak.

Re: Lessons learned from a cancelled project

#12
post #8
post #7

I'm simplifying it (probably too much), but those lessons seem to be some of the things our PM brings to the team. Was this team all engineers/QA?

You are right. For better or worse, we have not had traditional PMs at GitHub. Often that is a role played by what we call a PRP (primarily responsible person). That person is often an engineer or designer.

Personally, I very much like the organic approach to PM'ing products you guys are pioneering, even if this particular project didn't go anywhere. I want to move away from a software culture where Important People hand down mandates to the developer masses. If the PM function can be accomplished organically, e.g., by one or two people who have opinions about where the project should go along with the ability to inspire others in that direction, and this works, it seems to me like such an arrangement would be far preferable.

Re: Lessons learned from a cancelled project

#13
> We eventually gained each others trust, and our visions started to coalesce, but only after spinning our wheels for 6 months.

> Everyone on the team suffered from burnout.

> 11 months later, our team decided to cancel the project.

My guess is that the lack of a singular clear vision caused everyone to become disenfranchised / burnt-out in the first six months, and it took another 5 months for people to realize the project wasn't going anywhere.

I think the story underlines the importance of having product leadership - it's all well and good to have a flat organization when the product is already defined and the only thing left is adding features / fixing bugs (as is the case with the github platform), but if you are starting from scratch you can't expect a product grow to grow organically from the combined whims of individual contributors.

> The best software comes from a team where everyone shares a vision, cares deeply about the result, and are motivated to make it happen.

Definitely!

> That level of caring and motivation can only come from people that had a role in crafting the vision and own a piece of it.

Yes, but Design by Committee is a cliché for a reason.

Re: Lessons learned from a cancelled project

#14
I am waiting for some compelling work of literature to come out of this start up culture, something with elements of 'Lord of the Flies' but more like 'Grapes of Wrath'.

If I was in start-up-central I might have to consider writing that grand 'n' cautionary allegorical tale, entirely fictional yet entirely true, with the plot elements given here and elsewhere. Long term the right book could stand the test of time and be around a long time after the Twitters/AirBnBs/Facebooks have long gone.

Re: Lessons learned from a cancelled project

#15
Having 6 people on a project like that sounds like why it failed. If you're not going to have a manager, one or two people seems like the correct team size. maybe 2.5 (bringing in outside design help for small parts of a mostly-infrastructure product, or someone to do docs, or integrating with an external system.)

Re: Lessons learned from a cancelled project

#17
I actually have some projects on hold, all of them seem to capture interest of prospects. But this is the one that is not on hold and why.

- Prospect is a client with 100 employees

- I know the right hand of the CEO (his function is called Special Operations)

- They have an intern that will do data-entry for the next month

- There was a partner meeting on 28 april to discuss the application, but it's been delayed (Busy people over there), but all together + the webapp was deployed 3 days before and the intern didn't had any time to manually input data. So it's for the best

- My expenses could all get payed (currently doing it for free, in my own time), they should be my first big client.

- They will have a deep integration with it (importing newsletters, ...)

- I can sell the application to others.

All in all, what have i learned (and it has been adviced multiple times, just experienced them in real life)

- Get early feedback, when i first discussed the web application, i said that i had an idea that would address his problem, i explained it and i asked him of he could wait another month so, that i would have a early prototype with a minimum of features. I did and he could visuallize the solution and he loved it. 12 people in the company want to contact me (early testers), but i only want to talk through my friend (he is the consultant in this case). He is kinda doing the promotion for me in the company, now i think about it

- Build fast, fail fast. A problem isn't bad, it's how you solve it. I use a github repository to address issues. Get to know the people who have a technical experience employed at your client. Get them to understand that not everything will go smoothly, but you will be on top of it, if there are problems.

- If you're developping a webapp for other people also, you can solve the problems like they want it to. Or you make a general solution and explain them why. You can always find some corner cases where their proposed solution wouldn't work or where there could be dificulties. Explain it to them! Don't be afraid to put something on hold and prioritize your features. You only have x hours a day :)

Post reply on HN