В поисках краеугольного камня — КиберПедия 

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

В поисках краеугольного камня

2021-06-02 16
В поисках краеугольного камня 0.00 из 5.00 0 оценок
Заказать работу

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

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

Знать, где резать

Когда компания становится ведомой клиентами, это четкий признак того, что ее руководители, ответственные за разработку продукта, верят в миф о непредсказуемом рынке. На самом деле им неизвестно, полезна ли данная опция или нет, можно ли обойтись без нее или нет. Они просто-напросто передают контроль над ситуацией потребителям – ну а почему бы и нет? Ведь у них самих нет четкого мнения на этот счет. Когда клиент говорит что-то вроде: «А добавьте-ка к функционалу разводной гаечный ключ для левшей», руководитель разработки думает, что клиенту, должно быть, известно нечто неведомое другим. Руководителю кажется, что эта опция – именно то, что каким-то магическим образом способно обеспечить продукту головокружительный успех.

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

Позволить людям, не имеющим отношения к проектированию, выбирать, какие опции урезать, – это все равно что позволить кому бы то ни было обрезать провода в самолете. Какой из проводов резать, выбирается наугад либо производится исходя из не относящихся к делу признаков – таких как, например, цвет изоляции провода или расстояние до пассажирского кресла. Но так можно задеть важные провода. Одно дело – случайно лишить освещения кресло под номером 22А и совсем другое – обрезать провода, обеспечивающие питание двигателя. Если же уреза́ть опции будут проектировщики, то они подойдут к этой задаче так же, как будет обреза́ть провода создатель самолета: он не тронет те из них, что необходимы для нормального полета, а в первую очередь обесточит оборудование, жизненно важной необходимости в котором нет.

Производство фильмов

Процесс производства фильма обходится столь же непомерно дорого, как и разработка программного обеспечения. Киноиндустрия в Голливуде существует намного дольше, чем индустрия разработки ПО в Кремниевой долине, так что нам есть чему поучиться у создателей кинолент. По-настоящему затратная часть – это непосредственно съемка фильма. Камеры, сцены, технические специалисты, актеры – все это требует многих тысяч долларов за каждый съемочный день. Опытные создатели фильмов держат эту фазу производства под строгим контролем, заранее составляя четкие подробные планы. Закладывая денежные средства и время на подготовку детальных раскадровок и графиков съемок, они экономят гораздо больше времени и денег во время самого съемочного процесса.

Создание фильма обычно включает в себя три основные фазы: предпроизводство (препродакшн), производство и постпроизводство (постпродакшн). В фазе предпроизводства продюсеры фильма отвечают за подготовку и доработку сценария, разработку сцен и костюмов, кастинг актеров и съемочного персонала, привлечение денежных средств. Фаза производства – это блеск софитов, гул кинокамер, крики режиссеров, раздающих указания, и накал страстей, которые разыгрывают актеры. В фазе постпроизводства происходит монтаж киноленты, запись саундтрека и подготовка маркетинговой кампании. Эти три фазы достаточно близко соотносятся со стадиями разработки программного обеспечения.

Руководители, отвечающие за разработку программ, на стадии предпроизводства осуществляют проектирование продукта, нанимают на проект программистов и привлекают инвестиции. Стадия производства здесь – это «блеск» мониторов, «гул» компиляторов, крики руководителей, раздающих указания, и накал страстей программистов, генерирующих код. На стадии постпроизводства выполняется отладка кода, подготовка документации и разработка маркетинговой кампании.

 

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

С усложнением фильмов в техническом плане (а что будет, если скрестить компьютер и фильм?) все больше и больше операций из фазы производства не могут осуществляться без полного детального планирования. Если по ходу съемок актер в главной роли должен сразиться на лазерных мечах с пришельцем, который будет создан с помощью компьютерной программы, такая драка должна быть воображаемой и сниматься на фоне синего экрана, а потому каждое действие актера – от мельчайших движений до направления взгляда – нужно тщательно продумать.

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

Современное программное обеспечение не менее сложно в разработке, чем фильмы, однако в большинстве процессов проектирования этот факт попросту игнорируют. Большинство из тех команд разработчиков, что мне довелось встретить, тратило на планирование и проектирование от силы несколько дней или недель (и это максимум), затем приблизительно от 6 до 18 месяцев отводилось на программирование и далее всего около двух-трех месяцев на отладку, тестирование и подготовку документации программы. Подозреваю, что нам нужно многому учиться у производителей кинофильмов. Затрачивай мы больше времени на фазу «предпроизводство – проектирование», мы сэкономили бы огромное количество времени программистов, которое стоит весьма дорого.

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

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

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

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

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

Большая сделка

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

Желая обладать подобной властью, сообщество проектировщиков тоже должно взять на себя как минимум два обязательства. Первое – проектировщикам нужно иметь свой кровный интерес в этой игре. Им следует перестать оставаться на боковой линии, лишь давая программистам советы и безвольно предоставляя им полную ответственность за успех готового продукта. Только лишь обладать правильным ходом мыслей оказывается недостаточно. Нужно добиваться, чтобы указанные верные идеи реализовывались на практике, а такая возможность будет, только если проектировщики взаимодействия намеренно поставят себя под удар. Программисты делают это каждый раз, когда пишут очередную строку кода. Второе обязательство для проектировщиков – документировать свои предложения по проектированию.


Поделиться с друзьями:

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.017 с.