Письмо в редакцию
возникающих в процессе разработки и внедрения ПО в России
Юрий Кулешов
Замечания по терминологии: “мы” - совокупность лиц, осуществляющих разработку (разработчики), “они” - заказчики и не принимающие участия в разработке сотрудники организации-заказчика.
1. Низкая квалификация заказчиков. Большинство из них в прошлом - “приближенные технического прогресса”: DOS-герои, завлабы или руководители средней руки в госструктурах. Главная трудность при работе с ними заключается в том, что, стараясь не показать своей беспомощности в вопросе выбора технологии, они начинают отчаянно блефовать (“Биг Мак? А, ну конечно, это же новейший "Макинтош"!”), вместо того чтобы сформулировать свои требования и предоставить выбор технологии фирме-разработчику. Что и говорить, каждого CIO надо очень долго растить...
2. Низкая востребованность современных технологических решений. Мы не решаемся предлагать клиентам решения на основе DNA или BackOffice. Это приводит к удорожанию окончательного варианта системы из-за необходимости приобретения соответствующего ПО (для разработки будет использоваться версия, распространяемая в рамках MSDN) и неизбежных затрат на администратора системы.
3. Хронический недостаток аналитиков и проектировщиков. В комментариях не нуждается.
4. Постоянное увеличение затрат, связанных с повышением квалификации разработчиков с одновременным удлинением цикла обучения. Увы... На DOS + Turbo Vision требовалось четыре месяца, и потом ты - гуру. Для Win32 + MFC + VB требуется уже не меньше полугода, хотя с помощью этого ПО (в отличие от Turbo Vision!) завершенную систему построить крайне сложно. Так что добавим сюда ActiveX, OLE, DCOM, Microsoft Office, SQL (как язык) и SQL Server (как средство разработки), Windows NT и Windows 95/98 со всеми их особенностями, ASP, DNA, WTS (Hydra)... Да что там говорить! Посмотрим на BackOffice в целом и честно ответим, сколько времени надо на его освоение (даже с точки зрения системного администратора).
5. Неприятности, связанные с ошибочным выбором платформы разработки. Выбрав однажды в качестве основного инструмента Borland C++, можно впоследствии обнаружить, что библиотека OWL для него “сдохла”, компилятор - заброшен, а фирма вообще сменила имя. Не говоря уж о том, что каждая новая версия OWL практически несовместима с предыдущей. Для группы поддержки legacy code неправильный выбор базового инструмента превращается в настоящий кошмар.
6. Недостаток информации об отечественных высокотехнологичных (или просто успешных) разработках. Странно слышать о каком-то невероятном потенциале в то время, как он реализации в России не находит. Замечу, что без обмена информацией (пусть даже не между разработчиками конкурирующих фирм, а хотя бы между фирмой-производителем инструмента и разработчиками) успешный процесс создания продукта “на уровне поставленных задач” маловероятен.
7. Программисты, как всем известно, народ неуправляемый, и, с учетом пункта 3, это привело, думаю, уже не к одной сотне провалов в разработке ПО.
8. Тотальное господство идеи “вычитания стоимости”. Я могу попробовать расшифровать это понятие применительно к ИТ: трата средств на некую деятельность, откровенно вредящую проекту, так как она приводит к его удорожанию. Типичный пример: средства, потраченные на приобретение информационной поддержки от некой фирмы и превращенные-таки в полезную информацию, отдачи не дают, так как всех способных программистов не удержали или разогнали, а болванам читать эту информацию, да еще на английском - абсолютно без пользы.
Или трата средств на покупку супер-гипер-многоцветных крупноформатных лазерных принтеров в фирме с оборотом в 100 тыс. долл. Или прием на работу с весомой зарплатой “специалиста”, не умеющего ничего, но являющегося чьим-то родственником. В общем, деньги нередко изымаются из проекта без всякой отдачи.
9. Всякий раз по получении крупного заказа процесс пополнения знаний приостанавливается. В результате чего по завершении проекта пункт 4 становится снова до жути актуальным.
10. Плохие шансы на покупку хорошей пиццы. There are two things every developer can’t do without. Так вот, первая вещь - это именно пицца. А если серьезно, то для того, чтобы держаться “на острие” (on the cutting-edge), приходится жертвовать и досугом, и друзьями (разве что принять их к себе на работу?). При этом простые “пивные посиделки” превращаются в праздник.