Замкнутый треугольник – время, деньги, качество

814 1

Утром деньги – вечером стулья.

Вечером деньги – утром стулья. (с)

Бессмертные классики

С детства мы знаем, что бывают слесари и токари 1-го, 2-го и 3-го разряда. Многие знают, что врачи бывают 1-ой и 2-ой категории, но лучше всего лечиться у заведующего отделением. Однако когда речь заходит о таких эфемерных вещах, как разработчики веб-сайтов и программных продуктов, мы на них смотрим свысока.

На кнопки нажимать умеет – значит, программист. Чему там учиться? Для всех задач уже давно придумали специальные программы, а соседский мальчишка-первокурсник вчера показывал, как он сделал свой первый веб-сайт в «Ворде».

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

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

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

– Окей, окей, я понял! – скажете вы. – Я готов собрать небольшую команду, но дайте мне слово, что они мне сделают проект за неделю.

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

Сторонники теории Дарвина говорят, что обезьяны начали трудиться, когда одна из них взяла в руки палку. И подавляющее большинство заказчиков  подсознательно не выносят вида спокойного, молчаливого и сосредоточенно работающего (думающего) программиста. Они берут в руки «палку», и говорят: Чем ты тут занят? Давай быстрее!

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

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

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

– Понятно, — скажете вы снова. – Спешить не буду. Но вот у меня есть Техническое Задание на 200 страниц. Могу я хотя бы быть уверенным, что они сделают все как здесь написано?

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

Говорят, что советский автомобиль «Москвич-401» назывался так, потому что предыдущие 400 модификаций не смогли даже выехать за ворота завода. У вас нет возможности сделать столько попыток, вам нужно сделать «Мерседес» с первого раза, причем с небольшой командой и в сжатые сроки.

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

Подписывая контракт на разработку по внушительной пачке листов ТЗ, вы едва ли не заключаете контракт с дьяволом. Уже через 10% времени разработки у вас возникнут мысли о том, как можно улучшить ранее спроектированные вещи. Через 25% вы начнете вносить в него идеи конкурентов, а через 50% захотите выкинуть ТЗ в мусорное ведро и начать наконец-то работать «по-настоящему».

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

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

Ресурсы: бюджет проекта, количество и степень квалификации разработчиков, технические средства и оборудование.

Время: разумное проектирование, разработка проекта, периоды тестовой эксплуатации, регулярность обновления.

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

Законы природы таковы, что в любом проекте вам будут подконтрольны только два компонента из трех перечисленных. А производным от этих трех компонентов является качество проекта. Имея большой объем работы и фиксированный бюджет, вы будете вечно испытывать нехватку штата. Располагая деньгами, но будучи ограниченными в сроках, вы не сможете реализовать весь запланированный функционал. А поставив перед собой «космические» цели и привлекая большие инвестиции, вы приведете проект к успеху слишком поздно и опоздаете на рынок.

Как же быть, чтобы достичь успеха? А вот здесь следует вспомнить о третьем участнике любого серьезного проекта – менеджере. Участь менеджера нелегка: ему приходится ежедневно искать баланс между требованиями заказчика, ожиданиями инвесторов, вечным недостатком ресурсов, задачами разработчиков и обычной рутиной чисто технических проблем.

Но только квалифицированный проджект-менеджер способен по-настоящему управлять проектом: «поднажать» в нужных местах, притормозить вас (заказчика) в чересчур поспешных решениях, подобрать и сплотить команду, уберечь проект от архитектурных ошибок и будущих затрат на поддержку/переработку.

Внутри проектного треугольника «ресурсы-время-объем» заложен успех любого проекта. Управляйте им разумно и здраво, и ваш проект достигнет небывалых высот.

Релевантная статья: Как открыть интернет магазин

1 комментарий

сначала новые
по рейтингу сначала новые по хронологии
1

Почти кэп, но удивительно ясно и четко все написал)

Ключевое тут - разумное проектирование.

Добавить комментарий

Такой e-mail уже зарегистрирован. Воспользуйтесь формой входа или введите другой.

Вы ввели некорректные логин или пароль

Извините, для комментирования необходимо войти.