Страница 7 из 19
Совместимые программирующие устройства Одна из основных задач, которые ставят перед собой традиционные методологии - обеспечить процесс работ, в котором люди будут представлять собой заменимые блоки. При этом к людям относятся просто как к ресурсам различных типов. У вас есть аналитик, несколько кодировщиков, несколько тестеров, руководитель проекта. Индивидуальность не важна - только роли. Таким образом, при планировании вас не интересует, какой у вас аналитик и какие тестеры - главное, знать, сколько у вас работников, ибо их количество нужно учитывать в плане. И здесь возникает очень важный вопрос: можно ли считать людей, занятых в создании программного обеспечения, заменимыми блоками? Гибкие методологии говорят - нет. Возможно, наиболее ярко об этом пишет Алистэр Коуберн (Alistair Cockburn). В своей работе "Люди как нелинейные и наиболее важные компоненты в создании программного обеспечения" ("Characterizing People as Non-Linear, First-Order Components in Software Development"), он утверждает, что предсказуемому процессу нужны компоненты, которые также будут вести себя предсказуемым образом. Люди же не могут считаться таковыми. Более того, в результате изучения различных проектов Коуберн приходит к выводу, что люди представляют собой наиважнейший фактор в создании программных продуктов. В названии [статьи] я называю людей "компонентами". Именно это принято делать в работах, посвященных проектированию процессов и методологий. Ошибкой в таком подходе является то, что "люди", в отличие от "компонентов" весьма изменчивые и нелинейные, причем каждый человек в случае успеха или неудачи ведет себя уникальным образом. Эти факторы имеют первоочередное значение, ими нельзя пренебрегать. Неспособность создателей процессов и методологий принимать их во внимание приводит, как мы это нередко видим, к разнообразным неожиданностям в реализации проекта. -- [Коуберн] Коуберн наиболее откровенен в своих человекоцентристских взглядах на разработку программного обеспечения, однако подобные мысли являются привычной темой для обсуждения в нашей отрасли. Чаще всего проблема заключается в том, что методология придерживается прямо противоположного мнения относительно влияния человеческого фактора на успешность или неуспешность проекта. Результаты не заставляют себя долго ждать. Если вы считаете своих разработчиков просто совместимыми программирующими устройствами, то не будете искать к ним индивидуальный подход. Это ухудшает моральный климат (и производительность) в компании. Хорошие специалисты будут подыскивать себе другие, лучшие места работы, а у вас останется то, к чему вы так стремились - совместимые программирующие устройства. Поставить людей на первое место - серьезный шаг, для осуществления которого потребуется вся ваша решительность. Отношение к людям как к ресурсам глубоко укоренилось в бизнес-сознании, его истоки берут начало в "Научном управлении" Фредерика Тэйлора (Frederick Taylor). При управлении фабрикой этот подход, возможно, и оправдывает себя. Однако для такой творческой и профессиональной работы, какой я считаю создание программных продуктов, он не годится. (Кстати, современное производство также отходит от модели Тэйлора.) |