I never worked in Google. I will give the links to the information sources later but before you rush to explore them keep in mind that I prepared the digest so you may save the time reading here.
Moreover, for your convenience below is the video so you may listen as well.
To begin with the Google experience is not always applicable. It assumes that company itself determines the deadline of the projects. Even Google cannot do it always. So here is just the outline of the most common method that they use.
Staring from here I just give the facts. I will postpone the comments for the future posts.
- There is *no* schedule and *no* deadline in Google projects. However after a useful project is finished the participants are well rewarded. On the other hand if the progress is slow or the project is not considered as important there are less or no rewards.
- Any programmer can start her/his own project. There is no chaos because there are few volunteers to change the guaranteed bonuses now for the uncertain future reward. However if the new projects is successful and useful “the winner takes it all”. I mean, the sufficient reward is guaranteed in the case of success.
- You may change the project you work any time. Just ask and tomorrow you will work in the project of your choice. However the teams are stable enough because the project was interesting to the participants from the start (either by itself or by the money it brings).
- The information of the Google projects is available for all Google programmers. The information of all the new projects is regularly emailed to Google programmers.
- Every week the Google developers receive the reminder of the weekly report. They make report in the free form just answering the reminder email. There is a search engine for this reports and every developer has access to them. I mean that Google programmers can track any project regardless whether they are officially connected to this project.
- The beginners in Google (may be not only beginners) has weekly peer-review. The peer is not necessary works on the same project and certainly peer is not the project manager. I believe that there are no project managers in Google in traditional sense, but naturally there are people who control the projects. However they do it indirectly, by the rewarding. On the other hand the peer is for sure is more experienced programmer than the beginner so there are no situations when your code is reviewed by the person who actually cannot help or give the good advice. Also peers develop software themselves at least 70% of their time.
- All the project team members (usually three two five persons) work in the same room. There is the place for the “pair programming”, but nobody force to do it. The developers themselves decide whether they need the pair programming, it happen naturally and usually takes not more than 5% of the time.
- Every project has the work queue sorted by the priorities.
- The things like the work queue, version control, documenting, automatic building, testing are formalized and strictly observed.
- Developers are strongly encouraged to spend 20% of their official working time working on whatever they want, as long as it’s not their main project.
- All conditions for the developers to work productively are provided. It is calm; there are special rooms for the meetings. There are no officials meetings in the morning or evenings when people work most efficiently. There is the free breakfast for the early comers, the free dinner for the late workers and free lunch and snacks for all.
- As you know the Google motto is “Don’t be evil “. It seems that Google applies it for the project management also.
Well, you know the result.
References
0 Response to “Project Management in Google”