Мифический человеко-месяц, или Как создаются программные системы - [9]
Дилемма представляется жестокой. Для эффективности и концептуальной целостности предпочтительнее, чтобы проектирование и создание системы осуществили несколько светлых голов. Однако для больших систем желательно поставить под ружье значительный контингент, чтобы продукт мог увидеть свет вовремя. Как можно примирить эти два желания?
Предложение Миллза
Предложение Харлана Миллза дает свежее и творческое решение[2,3]. Миллз предложил, чтобы на каждом участке работы была команда разработчиков, организованная наподобие бригады хирургов, а не мясников. Имеется в виду, что не каждый участник группы будет врезаться в задачу, но резать будет один, а остальные оказывать ему всевозможную поддержку, повышая его производительность и плодотворность.
При некотором размышлении ясно, что эта идея приведет к желаемому, если ее удастся осуществить. Лишь несколько голов занято проектированием и разработкой, и в то же время много работников находится на подхвате. Будет ли такая организация работать? Кто играет роль анестезиологов и операционных сестер в группе программистов, а как осуществляется разделение труда? Чтобы нарисовать картину работы такой команды с включением всех мыслимых видов поддержки, я позволю себе вольное обращение к метафорам.
Хирург. Миллз называет его главным программистом. Он лично определяет технические условия на функциональность и эксплуатационные характеристики программы, проектирует ее, пишет код, отлаживает его и составляет документацию. Он пишет на языке структурного программирования, таком как PL/I, и имеет прямой доступ к компьютерной системе, на которой не только производится отладка, но и сохраняются различные версии его программ с возможностью легкой модификации файлов, а также осуществляет редактирование документации. Он должен обладать большим талантом, стажем работы свыше десяти лет и существенными знаниями в системных и прикладных областях, будто прикладная математика, обработка деловых данных или что-либо иное.
Второй пилот. Это второе «я» хирурга, может выполнять любую его работу, но менее опытен. Его главная задача — участвовать в проектировании, где он должен думать, обсуждать и оценивать. Хирург испытывает на нем свои идеи, но не связан его предложениями. Часто второй пилот представляет свою бригаду при обсуждении с другими группами функций и интерфейса. Он хорошо знает весь код программы. Он исследует возможности альтернативных стратегий программирования. Он, очевидно, подстраховывает на случай какой-либо беды с хирургом. Он может даже заниматься написанием кода, но не несет ответственности за какую-либо его часть.
Администратор. Хирург — начальник, и ему принадлежит последнее слово в отношении персонала, прибавок к жалованью, помещений и т.п., но на эти дела он должен тратить как можно меньше времени. Поэтому ему необходим профессиональный администратор, заботой которого будут деньги, люди, помещения, машины, и который будет контактировать с административным механизмом организации в целом. Бейкер считает, что на полный рабочий день администратор должен привлекаться лишь в случае, когда отношения с заказчиком определяют существенные юридические, контрактные, отчетные или финансовые требования к проекту. В остальных случаях один администратор может обслуживать две команды.
Редактор. Обязанность разработки документации лежит на хирурге. Чтобы она была максимально понятна, он должен писать ее сам. Это относится к описаниям, предназначенных как для внешнего, так и для внутреннего использования. Задача редактора — взять созданный хирургом черновик или запись под диктовку, критически переработать, снабдить ссылками и библиографией, проработать несколько версий и обеспечить публикацию.
Два секретаря. Администратору и редактору нужны секретари. Секретарь администратора обрабатывает переписку, связанную с проектом, а также документы, не относящиеся к продукту.
Делопроизводитель. Он отвечает за регистрацию всех технических данных бригады в библиотеке программного продукта. Он имеет секретарскую подготовку и несет ответственность за все файлы, предназначенные как для машины, так и для чтения.
Все данные для ввода в компьютер поступают делопроизводителю, который регистрирует их или вводит при необходимости с клавиатуры. Листинги вывода также поступают к нему для регистрации и хранения. Результаты самых свежих прогонов всех моделей заносятся в журнал результатов, а предыдущие хранятся в хронологическом порядке в архиве.
Жизненно важным для концепции Миллза является превращение программирования «из личного искусства в общественную деятельность» путем предоставления результатов всех прогонов всем членам команды и определения всех программ и данных, как общей собственности команды, а не чьей-то личной.
Особые обязанности, возлагаемые на делопроизводителя, освобождают активных программистов от рутинных работ, систематизируют и обеспечивают надлежащее выполнение тех рутинных операций, которыми часто пренебрегают, и приближают главное, для чего работает команда — ее программный продукт. Ясно, что предложенная концепция предполагает прогон пакетных заданий. Если используются интерактивные терминалы, в особенности без возможности печати, функции делопроизводителя не сокращаются, но претерпевают изменения. В этом случае он ведет учет всех изменений, вносимых в общий экземпляр программы из личных копий, осуществляет прогон всех пакетных заданий и со своего терминала осуществляет контроль целостности и работоспособности увеличивающегося в размерах продукта.
Джеральд Вайнберг, исходя из своего более чем 50-летнего опыта работы консультантом, делится своими выводами, как запустить и успешно вести свой собственный консалтинговый бизнес. Благодаря использованию юмористичных Правил, Законов и Принципов — таких как Закон малинового варенья, Принцип картофельных чипсов, Правило Руди о брюкве — автор показывает, как, оставаясь самим собой, находить клиентов, завоевывать доверие и устанавливать правильную цену на свои услуги, о которой потом не придется жалеть. Если вы консультант, когда-либо пользовались услугами консультанта или хотите быть одним из них, эта книга будет вам полезна.
Как и Тома Пикетти, который жестко критиковал капитализм, но при этом положительно его оценивал, бывший главный финансовый директор Группы Всемирного банка Бертран Бадре показывает деструктивную роль финансов в глобальном экономическом кризисе 2007–2008 гг. и предлагает смелый рецепт – использовать их во благо. Бадре объясняет, как с помощью финансов решить многие важнейшие проблемы мира – климатические изменения, бедность, восстановление инфраструктуры и многое другое. Он пишет: «Если использовать их с умом, человеколюбием, находчивостью и изобретательностью, финансы способны на великие свершения».
Хотите попросить повышение? Или сообщить подчиненному, что вас не устраивает качество его работы? Благодаря этой книге вы станете настоящим экспертом в разговоре на сложные темы: научитесь подбирать нужные слова, удачный тон и правильное время для бесед. Всего за одну неделю вы подготовитесь к разговору, мысль о котором вселяла в вас панику многие месяцы.
Если вам необходимо принять жизненно важное решение, вы нашли эту книгу в нужный момент! Когда предстоит сделать судьбоносный выбор – вступить ли в брак, переехать в другую страну, сменить работу или завести ребенка (подставьте ваш вариант) – списки «за» и «против» окажутся бесполезными и только еще больше введут в заблуждение. Верное решение находится внутри вас самих, и отыскать его поможет метод Эмили Фриман, известной писательницы и коуча. Пройдя несколько простых шагов, вы научитесь лучше понимать себя и осознаете, что вам действительно нужно и чего вы хотите по-настоящему.
В этой книге отражен результат 15-летнего исследования стратегического лидерства Hewlett Packard. Реальный опыт успешного применения принципов антихрупкости на практике, которые позволили компании выстоять против кризисов XX и XXI века.
В этой книге Пол Смит, директор по коммуникациям и потребительским исследованиям в Procter & Gamble и популярный спикер, рассказывает, как наиболее эффективно использовать силу историй. Автор уверен: каждый может стать блестящим рассказчиком. Пол Смит предлагает сотню готовых историй на все случаи жизни, которые помогут вам привлекать внимание, вдохновлять и мотивировать. Книга предназначена для всех, кто хочет воодушевлять и убеждать любую аудиторию. На русском языке публикуется впервые.