Привет. Сегодня порассуждаю на тему пользы или вреда аналитики в мире ИТ.
Аналитика призвана чтобы визуализировать некий процесс. На основе выводов принимаются решения об изменениях в процессе разработки ПО для повышения его эффективности.
Представим, что нам нужно разработать приложение для обмена сообщения с другими людьми. Путь от идеи до готового продукта иногда тернист. Давайте разложим его на шаги и посмотрим, что можно проанализировать.
Административный процесс:
1 Анализ требований заказчика
2 Горизонтальная Декомпозиция требований заказчика
3 Оценка стоимости полученного объема работы
4 Согласование с заказчиком
Это входящий процесс который формирует необходимые данные для процесса разработки ПО. На основании его делаются прогнозы по времени и стоимости процесса разработки. В этот процесс вовлечены следующий участники
1 Руководитель проекта
2 Аналитик
3* Специалист по продажам
Руководитель проекта контактирует с заказчиком и является его представителем внутри компании учитывая интересы своей компании. :-) Он также участвует в процессе разработки по. Аналитик анализирует требования заказчика и формирует список работ для участников процесса разработки ПО.
Каждый из пунктов делается последовательно и блокируется предыдущим заданием. От того как быстро пройдет это процесс зависит прибыль компании. Так как при наличии достаточного пула ресурсов мы сможем загрузить производственный цех под завязку :-) и придется расширятся и выходить на новые рынки :-)
Что тут может пойти не так ? Снимаем метрики в виде аналитического отчета о времени каждого процесса. Видим что процесс буксует и никак не может сдвинуться с места. какие мысли ?
Можно уволить все и нанять новых специалистов ? Неее это не наш путь. Слишком уж прямолинейно. Давайте разберемся в чем тут дело ! Пойдем к руководителю проекта и спросим
Я - Петя в чем дело ?
Петя - Заказчик нехороший человек и не хочет со мной разговаривать! Мне он не нравится.... Да и вообще это не моя работа, пусть Вася с этим разбирается ведь это он нашел этого заказчика.
Я - Вася в чем дело ?
Вася - Не парьтесь ребят, я все улажу мне просто нужно еще неделю чтобы с ним договориться....
Я - ОК.
Ну как стало ясней что не так ? Мне да а вам ? Успеет Вася договориться с заказчиком за неделю ? 50/50 причем нет понимания стадии под процесса договора с заказчиком.
Мой вывод что процесс требует рефакторинга. Почему ? Дело в том, что нет четких инструкций для каждого из участников процесса. Каждый пытается защититься и перекинуть свою работу соседу. Ничего вам не напоминает ? Мне да. Лебедь, Рак и Щука.
Производственный процесс:
1 Вертикальная Декомпозиция
2 Производство
3 Тестирование
4 Доставка продукта заказчику
5 Ретроспектива
После завершения процесса формирования исходных данных начинается процесс производства. Процесс разработки ПО проходит по разному. Это зависит от выбранной методологии
Снова снимаем метрику. Видим, что сроки не исполняются. Идем разбираться.
Угадайте к кому первому пойдем ? Правильно к нашему руководителю проектом!
Я - Петя ну в чем опять дело ? почему вы отстаете от сроков ?
Петя - Разработчики плохие. Они ленивые и медлительные. Постоянно болтают на кухне или играют в приставку.... И вообще это не мое дело пусть с ними их менеджеры спрашивают.
Я - Петя немедленно наведи порядок!
Я - Дима почему твои люди не делают работу в срок ?
Дима - Да это все ПХП девелоперы. Они слишком долго делают свою часть а я не могу без их части завершить свою работу.....
Я - Стас Почему ты не делаешь свою работу ?
Стас - Да вы охренели ? Я уже как неделю пытаюсь от аналитика добиться ответа и его не согласовали с заказчиком !!!!
Я - o_0
Я - Петя какого хрена происходит ?
Петя - Да я вообще не в курсе мне никто об этом не сказал....
Я ТАК ВСЕ СТОП ЗАВТРА ВЫ ВСЕ БУДЕТЕ МНЕ ПИСАТЬ ЧТО ВЫ ДЕЛАЕТЕ С УКАЗАНИЕМ ВРЕМЕНИ. Вводим аналитику она нам поможет справиться с проблемой....
Очень интересно да. Скажите это в обще можно назвать бизнес процессом ? А решение ввести аналитику ?
Нет однозначно нет.
1 Просто измерив нечто произвольное мы получим результаты которыми можно будет потом топить печь или перерабатывать без сожаления... Результаты таких команд всегда будут низкими. Более того в ИТ мире когда тебя сажают на трекер в условиях неопределенности и отсутствия должностной инструкции и списка работ. Выглядит как попытка тебя слить или заставить сделать не твою работу. По факту тебя просят еще поработать чтобы потом кто то тыкнул в тебя пальцем и сказал о ты не эффективен.... Анализировать не структурированный и проработанный бизнес процесс глупо. Иногда эта команда может выстреливать это зависит наверное больше от циклов луны или погодных обстоятельств. Как видно выше это творчески-коллективный процесс который живет по своим правилам.
Мои выводы следующие.
1 В рабочем процессе нет места эмоциям и личностным отношениям мы все делаем работу и от нашей слаженной работы зависит наше будущее.
2 Шаблоны действий для выполнения задач процесса. У сотрудника должны быть эффективные инструменты для выполнения своей работы здесь связь прямая. Более того заставлять работника отмечать в журнале каждый шаг указывая точно потраченное время глупо. Это опять попытка быть прямолинейным и переложить ответственность в не подконтрольную область надеясь что оно само как то там решиться..... Логично что это будет автоматизировано и станет невидимой для исполнителя. Ни что и ни кто не должны отвлекать от процесса. Состояние потока исполнителя гарантируется спокойной атмосферой вокруг. Даже в такой не предсказуемой задаче как согласование с заказчиком есть раунды и можно планировать их заранее ....
3 Для большей эффективности требуется технологичный стек для производства и поддержки продуктов смешанными командами. Если все единообразно то время на вход в проект минимально.
4 Использовать JavaScript как основной язык в большинстве проектов. Специалист JavaScript сможет одновременно разрабатывать веб приложение сервер приложений так как они написаны на одном языке.
5 Большинство проектов с мобильными приложения могут обходиться лишь сборкой существующего веб приложения в мобильную версию
6 Переиспользовать наработки из проекта в проект
Вот тут уже аналитика будет больше как помощник в оптимизации и развитии процессов. Всем спасибо до скорой встречи.