Читаем Человеческий фактор в программировании полностью

Я думаю, что у руководителей есть варианты получше — по крайней мере, я надеюсь, что это так. Такой свободный подход, возможно, объясняет ненадежность и плохую работу продуктов, поставляемых многими крупными компаниями-разработчиками. Этот подход также проявляется в пользовательских интерфейсах большинства программ, которые страдают прогрессирующим функционизмом и начинены мешаниной из несогласованных между собой кнопок и переключателей, добавляемых чуть ли не каждым членом компании разработчиков.

По мере того как размер и сложность программных продуктов возрастают, для руководителей проектов становится все более важно знать, как можно с умом задействовать изолированных разработчиков. Даже в проектах, в которых доминирующей моделью является работа в команде, лучший руководитель найдет способы учесть потребности одиночек. Обеспечить для них полную изоляцию бывает трудно, но, с другой стороны, не обязательно заставлять их посещать каждое собрание и каждый критический разбор программ.

Одиночки могут делать хорошую работу и могут делать плохую. Именно руководитель должен найти способ использования одиночек таким образом, чтобы они могли делать хорошую работу. Отчасти секрет заключается в том, как работа разбита и распределена между членами команды. Тем сотрудникам, которые лучше работают в уединении, следует поручать задачи, которые в той или иной мере могут быть автономными, то есть те части системы, которые можно определить как черные ящики с простыми интерфейсами и четкими внешними спецификациями. Таким разработчикам нужно давать задачи по созданию компонентов, которые не сильно связаны с другими частями системы и не требуют тесной координации или постоянного общения с другими разработчиками.

Другой частью секрета является тщательный контроль и наблюдение. Уменьшение взаимозависимости между индивидуалистами и остальной частью команды разработчиков не означает, что индивидуалистов нужно игнорировать. На самом деле, когда часть системы разрабатывается отдельно, еще более важно следить за остальными интерфейсами и взаимосвязями. Руководители часто понимают это, когда имеют дело со сторонними исполнителями или удаленными сотрудниками, работающими до-ма. Однако они склонны забывать эту истину, когда имеют дело с индивидуалистом, который сидит в соседней комнате.

Когда работа выполняется в открытых группах, повышенная видимость помогает сократить ошибки и повысить качество (см. главы 26 и 33). Поэтому работа, выполненная в некоторой степени изолированности от остальной группы, требует большего внимания к соответствию внешним спецификациям и более пристального наблюдения за качеством продукта. Если приемочные испытания показывают, что код работает, то этого недостаточно; для обеспечения качества следует также изучить его с точки зрения соответствия стандартам ясности и надежности.

Индивидуалисты и методы

Самостоятельная работа не подразумевает работу без дисциплины или без хорошей методологии, а работа в группе не гарантирует получение результата. Работа в группе гарантирует только то, что в нее будет вовлечено большее количество людей. Однако с точки зрения руководителя использование системной методологии в разработке приобретает большее значение, когда разработчики трудятся отдельно друг от друга. И здесь для обеспечения качества особенно полезны регрессивные испытания и критический разбор внедрения программы. Настоящее качество не может быть достигнуто после факта разработки — его нужно продумывать и встраивать в процесс с самого начала. Системные и формальные методы разработки программного обеспечения являются проверенными способами обеспечения качества. Работа даже самого независимого кодирующего ковбоя может быть улучшена и, конечно, может стать более надежной, если в процессе применяется системная методология.

Для того чтобы заставить кодирующих ковбоев применять системные методы разработки, руководству, возможно, придется искать компромисс в отношении того, какой именно метод будет выбран. Если независимые исполнители будут применять собственные уникальные методы, то это лучше, чем не использовать никаких.

Модели проектирования могут не только ускорить разработку и улучшить качество, но и способствовать трассируемости. Это достигается с помощью частичного протоколирования мыслительного процесса разработчика, то есть с помощью ведения журнала контроля, в котором отражаются источники проблем и их решения. Необходимость соответствующих проектных документов (таких как схемы потоков данных, блок-схемы, структурные схемы потоков и т. п.) должна быть отражена в спецификациях для подсистем, которые предполагается разрабатывать независимо.

Перейти на страницу:

Похожие книги

«1С. Управление небольшой фирмой 8.2». Управленческий учет в малом бизнесе
«1С. Управление небольшой фирмой 8.2». Управленческий учет в малом бизнесе

Описана новейшая версия программы «1С: Управление небольшой фирмой 8.2», которая сочетает в себе многофункциональность, простоту в освоении и достоинства современного интерфейса программ фирмы «1С». В этой конфигурации есть все необходимое для автоматизации оперативного и управленческого учета на предприятии малого бизнеса. В то же время программа не перегружена средствами учета, что очень важно для формирования оптимального соотношения между стоимостью и функциональностью.Изложение материала в книге построено с использованием большого количества примеров, часть из которых разобраны очень подробно. Надеемся, что эта книга станет надежным путеводителем для тех пользователей, которые только начинают знакомство с программой, а более опытные пользователи также найдут для себя важную и полезную информацию.Издание подготовлено при содействии компании «1С: Франчайзинг. БИЗНЕС-КЛУБ» – официального партнера фирмы «1С».

Николай Викторович Селищев

Маркетинг, PR
111 способов повысить продажи без увеличения затрат
111 способов повысить продажи без увеличения затрат

В любом бизнесе всегда можно сделать что-то еще для увеличения продаж, ведь ни одна компания не использует все возможные и подходящие ее специфике методы маркетинга. Например, средний магазин «Walmart» (крупнейшая сеть дисконт-супермаркетов в мире) использует порядка 500 способов (ошибки в нолях нет) привлечения клиентов и увеличения продаж. А чем вы хуже? «Под ногами» лежит больше денег, чем бизнес зарабатывает в данный момент. Нужно только наклониться, чтобы их поднять. Продажи компании можно легко увеличить относительно простыми и малозатратными или вовсе бесплатными способами. Именно такие способы приводятся в этой книге. Читайте и внедряйте новые для вас методы, иначе это сделают ваши конкуренты, а вы будете в роли догоняющих!

Айнур Сафин

Маркетинг, PR / Маркетинг, PR, реклама / Финансы и бизнес