Как малые и средние компании по заказной разработке ПО живут без системных аналитиков?
Плохо, но они этого не понимают. Распределяют их должностные обязанности между прочими сотрудниками без доплаты. Часть, связанную со сбором первичных данных берёт на себя менеджер проектов с воплем-лозунгом «Не умею, но сделаю»; часть, связанную с проектированием берут на себя разноуровневые разработчики, принимая в том числе те решения, которые потом отольются во много часов переделки уже готового кода и наполненной базы данных. Часть задач просто пропадает и не делается никем потому, что о них не знают или считают неважными, до тех пор, пока их не придётся спешно делать или заметать под ковёр.
Если вы никогда не сталкивались с задачей по корректной распилке ФИО одним полем на Фамилию, Имя (Имена), Отчество в международной БД на полтора миллиона записей, в том числе с кубинскими гражданами с двойной фамилией и семисоставным именем, вам повезло. Мне тоже повезло, я наблюдал за этим со стороны. Зато я писал ТЗ по уже готовой системе, чтобы юристам было проще защитить компанию от иска.
Почему они живут без системных аналитиков?
Если не касаться разработки простейших сайтов, а смотреть что-то сложнее и интереснее, то по той же причине, по которой некоторые из них ещё и от менеджера проектов отказываются, пуская в общение с клиентом и управление проектом дизайнеров, разработчиков и тестировщиков напрямую. Нет, не по договору time&material и не в эджайл-подходе. А с чётко прописанной в договоре итоговой суммой работ, в которую надо уложить нигде не зафиксированную функциональность.
Причина эта — базовая некомпетентность руководства компании и некомпетентность их заказчиков (которые, если говорить откровенно, часто имеют все юридические возможности снять последнюю шкуру с такого разработчика, если правильно подойдут к вопросу. Но правильно подходить там тоже некому).
Такие компании-разработчики копируют известную им структуру веб-студий, занятых в потоковом производстве однотипных и довольно простых, часто шаблонных сайтов. Или они и сами вовсе эти же самые веб-студии. Для которых, по понятным причинам, гораздо важнее грамотный интернет-маркетолог, чем системный аналитик.
И когда такая студия получает заказ на разработку узкоспециализированной CRM (например), она выкручивается как может.
И ту часть предметной области, технических и нормативно-правовых ограничений, которую не проанализировал менеджер проектов (у которого в активной фазе разработки ещё от двух до семнадцати параллельных проектов) не анализирует никто. И получается в системе для зарубежного заказчика, например, поле «Пол» с типом boolean (что нарушает законодательство его страны, но выяснится это сильно позже), а вместо довольно простого конструктора документов будут шаблоны в невообразимом числе.
Системный аналитик (как часть проектного офиса) увеличивает затраты на проектирование системы и снижает стоимость владения системой, но малые веб-студии конкурируют демпингом на разработку однотипных сайтов. И разработчики прочих систем будут действовать так же.
И все они показывают пальцем на успешные примеры
Про «ошибку выжившего» никто не вспоминает. И все успешные студии такого плана вполне успешно эксплуатируют компетенции менеджера проектов и разработчиков, решая на их уровне, без дополнительной оплаты за дополнительную работу, проблемы в определении предметной области, проектировании и документировании системы.
Поэтому, например, мне известны как минимум три студии, закрывшиеся после увольнения таких ключевых сотрудников — взятые им на смену не могли или (что вполне справедливо) не хотели брать на себя эти обязанности; решали задачи так, как они были поставлены, а не так, как их надо было решать; доводили дело до судебных разбирательств и банкротства.
Будут ли они продолжать?
Конечно будут. Демпинг за счёт сокращения расходов в проектировании — это простая и понятная конкурентная стратегия, а системный аналитик в дополнение к менеджеру проектов удваивает расходы на проектирование. И заказчики будут к ним приходить, основываясь, например, на удачном опыте разработки группы лендингов или может быть даже интернет-магазина на базе 1С-Битрикс, управление сайтом.
И иногда эти проекты будут завершаться успешно потому, что в проекте было кому выполнить работу за системного аналитика.
Азартные игры такого рода в предпринимательстве встречается чаще, чем мне хотелось бы.
Что грустно потому, что все эти мелкие веб-студии и конторы по разработке ПО под заказ портят множество специалистов, превращая их из разработчиков решений в разработчиков костылей, которые компенсируют другие костыли, которые вставлены, чтобы компенсировать врождённые уродства неверно спроектированных систем.
И нет, системный аналитик не гарантирует отсутствие таких патологий в проекте.
Но, собрав материал и требования, спроектировав решение для исполнения этих требований, сделав свою работу он, во всяком случае, развеет существенную часть неизвестности. И некоторые ошибки просто не будут совершены, другие будут выявлены в ходе сверки решения с клиентом и командой разработки, третьи — ну хотя бы на этапе проверки системы самим системным аналитиком.