Кто платит за эту модель развития
Я работал с несколькими небольшими компаниями-разработчиками, и одна вещь, которую они, похоже, объединяют (и из того, что я слышу на виноградной лозе, кажется, что она распространена в небольших компаниях по разработке программного обеспечения), заключается в том, что у них есть бизнес-модель разработки программного обеспечения, которая по существу означает что если кто-то не платит за разработку программного обеспечения, то это не будет сделано.
Проблема в том, что это означает, что:
- Хорошие функции, которые улучшат программное обеспечение (и потенциально увеличат объем продаж), не будут разработаны
- Недостаточно времени для рефакторинга и сопровождения кода, если вы не можете вписать его в то, за что платит клиент, что не сделано.
Мой опыт и то, что я читаю, показывают, что это приводит к плохому программному обеспечению.
Как мне объяснить это руководству таким образом, чтобы деловые люди понимали?
Мы должны тратить время на разработку программного обеспечения так, чтобы ни один клиент не заплатил за него, но принесло бы долгосрочные выгоды для бизнеса.
3 ответа
Принятие решения о том, какие функции на самом деле повысят доход, зачастую является бессмысленным делом, хотя фактические клиенты не способствуют развитию. С другой стороны, клиенты часто не имеют ни малейшего представления о том, что они действительно хотят, пока не станет слишком поздно, и горы бесполезности затягиваются, потому что нет времени, чтобы должным образом расширять архитектуру.
TCO - это то, что люди понимают, когда объясняются в крошечных словечках. Я часто возвращался и запускал посмертные работы с функциями, которые были плохо реализованы, смотрел на отток в репо, чтобы определить горячие точки, и использовал системы отслеживания расписаний / фиксаций / выпусков репо, чтобы высветить, где можно сделать что-то лучше, как с технической точки зрения. и управленческие точки зрения.
Я нашел постепенный подход к тому, чтобы рассказать людям выше моей зарплаты, что нужно сделать и почему, как правило, это лучший подход. Дополнение ваших оценок, позволяющее проводить ретроспективное тестирование, мелкомасштабный рефакторинг и т. Д., Редко добавляет много к итоговой стоимости, но приносит дивиденды как в краткосрочной, так и в долгосрочной перспективе.
Иногда скрытность - единственный способ на самом деле сделать это: в конце концов, это жизнь разработчиков, которая облегчает работу. Хитрость заключается в том, чтобы амортизировать стоимость таким образом, чтобы, если вы не можете никого убедить, что это обязательно, вы все равно можете это сделать.
Я думаю, что вам нужно сделать анализ затрат / выгод.
Эти люди только когда-либо видят ценность чего-либо, если есть благоприятный результат.
Так что, если вы можете выразить (особенность) с точки зрения продаж или сбережений, то я думаю, что вы выиграли.
Экономия может быть в виде (будущего) времени разработки, если хотите
Если вы инвестируете в создание системы, которая создает эффективность или какое-то предполагаемое конкурентное преимущество - другими словами, вы создаете ценность для компании - тогда ваша компания сможет пожинать плоды в долгосрочной перспективе. OTOH, если все ваши цели внешне обусловлены, вам в конечном итоге будут платить за вашу работу, но ваша компания никогда не будет ничего стоить. Тем не менее, это будет стоить денег или, по крайней мере, времени, чтобы построить это значение, поскольку вам придется выделять ресурсы для работы, которая не оказывает непосредственного влияния на вашу прибыль в краткосрочной перспективе.
Один из способов преодолеть этот пробел - это построить его когда-нибудь на заказ, создать его снова на заказ немного иначе, а в третий раз - рефакторинг в вашу библиотеку кода для повторного использования. Это будет стоить денег, так как усилия по рефакторингу не оплачиваются напрямую, но, безусловно, работают над чем-то, что представляет ценность для вашей компании, поэтому их легче продавать, чем основополагающие вещи (мне нужно потратить шесть месяцев на создание библиотеки кода, прежде чем можно начать работу с клиентом...).