StasBaybak писал(а):
SII писал(а):
И опять всё сводится к тому, что в коллективном проекте должно быть жёсткое руководство, единообразные правила оформления кода, единообразное и обязательное полное документирование и т.д.
Жесткое руководство - это не значит, что кого-то будут бить палкой или заставлять что-то делать.
Конечно не означает. Каждый человек сам себе хозяин. Но всё же оно должно быть жёстким.
Имея руководящий опыт, могу сказать следующее:
- Жёсткое руководство подразумевает обязательный свод правил, которым неукоснительно должен следовать каждый сотрудник. Либо ты их принимаешь, понимаешь и следуешь, либо свободен искать другой проект. В случаях, не оговоренных правилами, решение принимается руководителем(ями) проекта на основании открытого обсуждения.
- Проект может быть коллективным только при условии его хорошей разделяемости на
независимые части. IDT, GDT, FAT32 - это пример сильно зависимых частей, их нельзя разделить между сотрудниками. Поэтому стартап должен быть разработан одним человеком или в крайнем случае двумя-тремя полными единомышленниками, которые постоянно имеют возможность быть рядом, например сотрудники одного отдела или одногрупники в ВУЗе. Пример хорошей разделяемости: один пишет нотепад, другой майн-свипер. Или (когда система уже работает на других ФС и есть выработанные правила работы с файлами) один пишет драйвер Minix, другой пишет драйвер ReiserFS.
- Жёсткое руководство тем не менее подразумевает свободу действий сотрудника в рамках его части проекта. Пока че-к не сделал драйвер Minix, не следует его дёргать по каждому байту.