Comments 29
По данным IBM Systems Magazine, 54% неудач IT-проектов связаны с управлением и лишь 3% имеют отношение к техническим проблемам.
Эти бы слова, да в уши начальству :)
Ну и по остальным пунткам тоже плюс. :)
П.С.
Эта статья — тот редкий случай, когда я с ней согласен, а не язвлю с тупости. :)
На Хабре был пост о ней https://habrahabr.ru/company/piter/blog/265389/
Книга старая, но всячески рекомендую к прочетнию тем, кто руководит программистами.
Отдельная благодарность за ссылку на статью в IBM Systems Magazine.
К сожалению, даже в ней не написано, почему проваливаются оставшиеся 43% проектов.
Есть интересный пример из жизни, очень бы хотелось комментариев:
В режиме стартапа, без четких требований и описаний API был реализован на коленке некий проект, включающий серверный код, клиентское веб-приложение да еще и мобильное приложение с отдельной функциональностью. Все это интегрировано с неким коммерческим веб-сервисом (который тоже в режиме стартапа). Делалось все на энтузиазме небольшой команды. В итоге всё взлетело и стало работать, но код во всех трёх блоках был конечно ужасен. План был таков, что после релиза MVP и пилотирования будут понятны пожелания клиентов из которых можно будет понять планы развития и спроектировать подходящую архитектуру.
После двух месяцев пилотирования оказалось, что бэкэнд, написанный на PHP в самом ужасном стиле в общем-то прекрасно работает и не требует доработок. Тем не менее, мнения участников команды разделились — одни утверждают что именно бэкенд нужно переписать с нуля качественно, т.к. в будущем он может создать проблемы (и это правда). Другие считают, что т.к. в перспективе задач для бэкенда нет, его лучше оставить как есть, сосредоточив ресурсы на фронте и мобильном приложении, к которым уже набрался приличный стек пожеланий клиентов.
Если коротенько — важно иметь фундамент. Бек — это фундамент для мобильно-ориентированного сервиса. Без фундамента вы в любом случае, рано или поздно, но придете к его модификации, и вот тогда плохо будет всем. И серверным разрабам, и мобильным. И компании в целом, естественно.
то вам нужен бекенд, который будет легко расширять и сопровождать.
В том и проблема, что на текущем этапе нет задач, требующих доработок бэкенда. Соответственно можно только догадываться о направлении его расширения. А значит тратить ресурсы на гипотезы, а не на факты.
Если есть нехватка ресурсов — я бы поправил критичные проблемы на фронте (если таковые имеются, т.е. не пожелания, а именно проблемы, мешающие использованию приложения, самые-самые яркие жалобы клиентов)
Да, но у потенциальных клиентов есть конкретные пожелания по функциональности фронта и мобильного приложения. Без их реализации они не станут клиентами. А без клиентов cashflow проекта просто не позволит переключиться из режима разработки на энтузиазме в режим нормального экономически выгодного производства.
Но в целом тут уже вопрос к вам как к руководителю. Нужно расставить приоритеты, выяснить, какие задачи по мобилкам тянут приложение вниз (если таковые имеются), и какую часть имеющихся ресурсов вы готовы направить в фундамент, а какую — в удовлетворение клиентов. Полностью довольными клиенты не будут никогда, всегда есть некий неплохой процент тех, что что-то предлагает или хочет изменить, это нормально. Важно лишь выделить оттуда действительно стоящие вещи.
Грамотные специалисты по бекенду
А их нет у нас. Есть только начинающие, постепенно растущие.
стоит поискать более квалифицированного специалиста
На энтузиазме? Платить пока нечем. Пробовать искать за долю — значит двигать все доли в команде. Очень непростая задача, есть реальный риск развалить команду.
Полностью довольными клиенты не будут никогда, всегда есть некий неплохой процент тех, что что-то предлагает или хочет изменить, это нормально. Важно лишь выделить оттуда действительно стоящие вещи.
Тут как раз всё очень просто. Есть структурированный список "хотелок", есть количество желающих клиентов по каждому пункту, отсюда легко определить приоритеты.
> https://vk.com/video3981242_168222671?t=47m20s
Задачи всегда есть. Да хоть нагрузочное тестирование, рефакторинг на скорость, на отдачу веб-страниц, логирование, алерты о дауне серваков и тд.
В том и проблема, что на текущем этапе нет задач, требующих доработок бэкенда
Это всё стОит ресурсов, есть ли экономический смысл на текущем этапе?
Спрашиваете что делать — удовлетворить клиента или проработать архитектуру. Когда вам предложили доработать архитектуру, вы ответили что у вас сейчас нет ресурса и может не хватить мотивации людей. Вывод думаю очевидный напрашивается.
Прочитав ветку, думаю что нужно монетизировать и работать с клиентами чтобы было чем платить работникам.
После чего можно говорить о бэкенде.
Надо собрать все комментарии разработчиков про бэкенд, систематизировать и сохранить где-нибудь — иначе, когда дело все же дойдет до переписывания бэкенда, никто уже не будет помнить зачем его переписывать-то собрались.
Также имеет смысл заранее продумать архитектуру нового бэкенда, и оценить трудозатраты, результат положить в ту же папочку что и комментарии разработчиков. Такая ситуация, когда уже есть рабочий прототип с набитыми на нем шишками и пока что неограниченное время на проектирование, идеальна для waterfall-разработки, и этим надо воспользоваться.
Непосредственно код нового бэкенда сразу писать не нужно пока старый хорошо работает.
по-русски это всегда «8 верных способов загубить разработку»
по английски это всегда «Eight Proven Ways to Make Your Project a Success»
однако, думаю, что создатели военных самолетов бы приняли бы идею MVP в контексте невернувшихся машин за величайшее оскорбление, потому что они действительно делали максимум того, что им было доступно
«Пятничный формат»: Как погасить пламя или 8 верных способов загубить разработку