• Культуры программных проектов: часть 4

    Posted on December 28th, 2009 Александр Орлов 4 comments

    (все выложенные на текущий момент части – здесь)

    Заводская Культура

    Что-то сдерживало СамоСервис. Что-то не давало компании корректировать бизнес процессы и приложения со скоростью, которую держали конкуренты. Каждый день СамоСервис всё больше отставал.

    Они пробовали мотивационные речи; они пробовали угрозы; они пытались вливать деньги в проблемные участки; но ни один из подходов не оказался достаточно успешным. Тогда я решил порасспрашивать вокруг. Я говорил с менеджерами, я говорил с тимлидами, и говорил с рядовыми сотрудниками. В результате я обнаружил, что СамоСервис является наиболее типичным представителем Заводской Культуры, что и сдерживало бизнес.

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

    Доводы, обосновывающие Заводскую Культуру, звучат убедительно, но в этом-то и кроется проблема. Они были действительно убедительными во времена медленно развивавшегося мира бизнеса 60-70-х годов, когда Заводская Культура находилась на пике популярности в индустрии программных приложений. В те времена компьютеры в основном предназначались для технарей, занимавшихся решением алгоритмических задач в закрытых кабинетах. Бизнес процессы менялись редко. Требования к приложениям были стабильны. Кроме того, в те времена значимость программ была не так существенна.

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

    На удивление, много компаний, включая СамоСервис, всё ещё разрабатывают приложения так, будто бизнес процессы не имеют особого значения: используют методики разработки, которые были созданы для решения проблем, с которыми бизнес сталкивался в 60-70х годах.

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

    Дизайнерская Культура

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

    Удивительно, как много можно узнать о внутренних делах компании, немного порывшись вокруг. А потому я скоро узнал, что многие из конкурентов СамоСервиса отвернулись от Заводской Культуры и стали культивировать Дизайнерскую Культуру.

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

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

    Но это всё же не объясняло, почему один из конкурентов СамоСервиса опережал всех прямо-таки огромными скачками. Эта компания явно делала что-то иначе, и я решил выяснить, что же это такое.

    Сервисная Культура

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

    Отличительной чертой было то, что они отошли от Заводской и Дизайнерской Культур и объединились вокруг Сервисной Культуры.

    Как мы видели, Заводская Культура предполагает, что требования могут быть задокументированы до последнего болтика заранее, а изменения в требованиях нежелательны. С другой стороны, Дизайнерская Культура предполагает и готовится к будущим изменениям бизнес процессов. Это существенное улучшение, но что если вы столкнётесь с изменениями, к которым не были готовы?

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

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

    Почему же это имеет такое большое значение?

    Заводская и Дизайнерская Культуры фокусируются на успехе нашего бизнеса. А Сервисная Культура во главу угла ставит успех клиента. Она понимает, что наш заказчик находится в непрерывной конкуренции на своём собственном рынке. Чтобы выжить и процветать, им приходится реагировать на возможности в любое время, что означает адаптирование их собственных процессов необходимым способом. Сместив наш фокус на поддержку этих меняющихся процессов мы становимся для клиента вложением, а не расходом.

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

    Продолжение следует …

     

    4 responses to “Культуры программных проектов: часть 4”

    1. Три культуры делают акцент на трех разных вещах: 1) производственная – на СТОИМОСТИ, 2) дизайнерская – на КАЧЕСТВЕ, и 3) сервисная – на ЦЕННОСТИ для клиента.

      Я бы сказал, что на разных рынках и в разных ситуациях лучше подходят разные культуры, даже внутри одной индустрии Software Development.

      И далеко не всегда Сервисная культура – панацея, иногда лучше=дешевле.

    2. Зацепило:
      1. “Сервисная Культура во главу угла ставит успех клиента”
      2. “мы становимся для клиента вложением, а не расходом.”

      Да, есть ещё момент: по частям, через блог книга очень очень хорошо “заходит”. Постепенно, вдумчиво получается читать. Спасибо, Саша.

    3. Артём, я с Вами согласен. Думаю, что книга больше ориентирована на пропаганду Agile методик, поклонником коих является автор. Если сравните его представление Сервисной культуры со Scrum, то будет фактически один в один.
      Я работал с использованием RUP вполне успешно в нескольких компаниях, где не нужно было ежедневное деливери – вполне хватало 2-3 раза в год.

      to glu: лавры выкладывания частями достались Саше :) В советские времена так читались многие книги в журнале Книжное Обозрение. Теперь же существуют подписки типа subscribe.ru, где уже выложена одна книга в моём переводе.
      А пункт 2 из зацепившего реально важный. Многие айтишники с трудом доказывают бухгалтерам, что они капиталовложение, а не расходный материал. Мне это тоже приглянулось.

    4. лавры выкладывания частями достались Саше :)

      Тут я только поддержал идею Альберта (alikmust) выкладывать книгу частями, да. Короткие части читаются и ложатся в голову гораздо лучше. Я сам люблю короткие, толковые статьи.

    Leave a reply

    You must be logged in to post a comment.