The dream: To develop a project with a small team you can know, and trust in their abilities. Forget the big teams, integrated by mediocre developers. In fact, by spending the double on a very good programmer, 10 times the performance could be expected. We can do this all by ourselves. Ah… The dream…
The reality: Big and complex problems need to be done and big teams are needed to do this.
How? Harlan Mills offers a solution. To make several teams, where only one member of each attacks the problem, and the rest only assist him in achieving maximum productivity. You keep a few number of people in the building design, but a lot of them in the actual construction. Just like a surgical team.
Here are the roles of this approach:
- The surgeon: Define functional and performance specification. Designs, codes, tests the program and writes its documentation.
- The copilot: Is a less-experienced surgeon. He advises the surgeon, and he can listen to him, or not. He knows the code perfectly but isn’t responsible for it.
- The administrator: Even though the surgeon is the boss, he needs someone to be in charge of his administrative (Money, personnel, machines…) decisions. The administrator can serve 2 teams.
- The editor: He writes the external and internal documentation. He reworks the draft of the surgeon.
- Two secretaries: One for the administrator and the other one for the editor.
- The program clerk: He is in charge of the maintenance of the machine and user readable files.
- The toolsmith: File, text and debugging services. Made fast and with quality
- The tester: Design test cases and data.
- The language lawyer: Master of the language selected for development. Can work with 2 or 3 surgeons.
Because the purpose of this team organization such that everyone is represented as just one, the surgeon. At the end, instead of organizing a 200 people team, you just have to deal with 20 surgeons.