In the beginning:
Write code, debug, track problems, interact with the customer, run database, run system
One person, no waiting
All jobs: sysadmin, QA, developer
Many open-source projects
Now: it takes a village
More players: management, sales, QA, customer service reps,
Specialization: better at specific jobs, lose the big picture
The importance of the big picture
Simplified: DBA, developer, application, database
Real world: budget, nature of project, politics, technology, ...
The problems with small groups and large groups
Learning from the Unix philosophy
Do one thing and do it well
Many eyes make all bugs shallow
Not just bugs, but everything
The more people who understand the application the better
The better each person understands it, the happier everyone is
The more they understand it, the better
Should the QA person be able to see the schema? Why not!
Developer is seldom right - too removed from the customer
Also: familarity with product, tech culture, used to using the tools