IT: дорога в ад

Mar 25, 2009 03:39


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

Мне кажется, что основная причина проблем индустрии ПО находится немного в другом месте. 
А именно - в ж... в ж... елании сделать еще и вот это. И вот это. А вот, если так, то - ваще.
Программировать просто. [Уворачивается от камней].
Написать пару строк кода легче и дешевле, чем завернуть гайку на сборочном производстве. [Убегает].

... [Отдышавшись]. Итак. Я как-то задумался: мне очень нужна система управления проектами. Хорошо. Но почему у меня ее нет? А потому у меня ее нет, что все решения, которые я видел, мне не нравятся. Не удобны. Неоправданно сложны. Или дороги. Или просто не понятно кем, для кого, и чем сделаны.

Лирическое отступление.
Не поверите: у Наполеона не было Системы Управления Проектами. Ну, лох. Ни МС Проджекта, ни даже Аутлука. Он не мог видеть календари своих генералов, не мог назначать встречи через интуитивно понятный интерфейс, получать подтверждение назначенных задач, резервировать переговорные - ничего не мог. За что и поплатился, собственно.
Я не желаю повторения его участи, я ищу софт, который мне поможет. Чего я хочу? Я очень хочу навести порядок в этой мешанине: проекты, сотрудники, задачи, сроки, отчеты, заказчики. И всего перечисленного - много.

"Что вам нужно, кроме чуда?"
"Оружие. Много оружия."
(с) Программист Нео
Ладно. Предположим мне нужно создать интернет-магазин. Для простоты будем считать, что прототипирование в задачу не входит. Вероятно уже есть готовый протестированный прототип, так что с логикой и юзабилити не паримся. Хорошо. Тогда мне нужны: дизайнер, верстальщик, разработчик, специалист по Аксапте, из которой мы берем ассортимент, и куда транслируем заказы, кто-то, кто разбирается в платежных системах, а также  журналист и переводчик. А еще есть заказчик, которому нужны планы, сроки и обоснование бюджета. И руководитель, которому нужны отчеты. 
Что ж. Разбиваем проект на более-менее атомарные задачи и распределяем их по сотрудникам.
Т.е. чего хочется-то? Хочется выбрать проект, создать задачу, указать ответственного сотрудника, даты и... и все, собственно. И так несколько раз. А потом ходить между всеми участниками процесса, общаться и настойчиво преследовать единственную цель - сдать проект в обозначенные сроки.

...А где-то, в некотором отдалении от этой суеты, умный хороший программист говорит: "Ага! Ему нужна система управления проектами!" Этот умный и хороший программист, на самом деле, прекрасно знает своих пользователей (Платт не прав), и он хочет предоставить пользователю умную хорошую программу. Что должна делать эта программа? Правильно. Позволять назначить выбранному сотруднику задачу по выбранному проекту.

Ок. Программист создает 3 таблицы: Задачи, Проекты, Сотрудники. При добавлении записи в таблицу Задачи, вводим ее название, затем выбираем проект, к которому она относится (ссылаемся на одну из записей в справочнике проектов) и ответственного (ссылаемся на одну из записей в справочнике сотрудников). Ну, и даты, конечно. Все, задача решена.

Но хмур программист.
Почему хмур? Да потому что ерунда все это. Не достаточно вот так вот просто поставить задачу: "дизайн витрины". Мы же не роботы, в конце концов. Не на батарейках работаем. Необходимы пояснения - какой именно дизайн (хотя бы пару слов, хотя бы что-то человеческое, уточняющее). Ладно. Добавляем в таблицу Задачи текстовое поле description.

И все равно не то. Прошлый век какой-то. А если этот сотрудник вообще пропал, заболел? А если он занят, и даже не видел новой задачи? Или видел, но не понял. Или саботирует. Да мало ли. Никакой обратной связи. Надо, чтобы сотрудник явно просигнализировал, что задача им принята к производству. Т.е. - добавляем в интерфейсе сотрудника кнопку "принять". А руководитель как узнает? А у него, на его рабочем месте что-нибудь должно замигать: все в порядке сотрудник такой-то задачу принял, сделает. А еще лучше, если это свое согласие сотрудник сопроводит неким сообщением (а зачем тогда все эти сетевые технологии придумывались - для коммуникаций, чтобы люди больше общались друг с другом). Например, "Хорошо, я все сделаю, только не забудь, чтобы мне вовремя фотографии товаров предоставили."
Вот она польза от софта - про фотографа-то мы забыли!
Тут одним полем не отделаешься, добавляем таблицу Messages, в которой будем хранить историю взаимодействий по проекту. 
Глаза умного программиста разгораются. Ведь можем же, когда захотим! Сейчас будет вам Система управления проектами - ух!

Далее. Зачем нам прокрустово ложе убогой системы? У руководителя много проектов, он не может, да и не должен вникать во все  частности. А дизайнер - он тут, на передовой. И он понимает, что упущена еще одна важная задача - обработка фотографий продуктов. А ведь это займет пару дней. Звонить руководителю, объяснять, просить включить в план? Дурдом какой-то. Зачем? Лучше и эффективнее просто дать сотруднику возможность самому добавлять себе задачи. Отлично - даем.
Но - стоп. Это же может сдвинуть планы, и вообще - анархия какая-то. Надо, необходимо, чтобы руководитель был поставлен в известность. Боле того - утвердил задачу, скорректировал планы. Пусть у него опять что-то там замигает в его интерфейсе и он уже примет решение, учтет изменяющиеся обстоятельства. Тем более, что у нас уже предусмотрен инструментарий для коммуникаций.
От печали на челе программиста и тени не осталось: как все славно-то выходит. Круть!

Далее. Много задач? Группируем. Добавляем древовидную структуру. Двадцать первый век на дворе - даем возможность перетаскивать задачи в браузере мышкой, перегружаем по Аяксу.

И - понеслась. Синхронизация с Аутлуком, календари, диаграммы Ганта, графики загруженности, резервирование переговорных...

Программисты - они как дети. Только очень умные и образованные.
Он счастлив. Он измучен, но доволен. Он сидит, откинувшись на спинке кресла, глаза прикрыты, пальцы рефлекторно скрючены. Он сделал это! Да все просто на задницы попадают, и зальются слезами восторга, когда осознают что он им приготовил.

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

...Вы слышите по утрам за окнами шум и пыхтение?
Это программисты спешат на работу. У них много идей.

технологии, pm, интернет

Previous post Next post
Up