У меня проблема со старшим директором, который не понимает итеративную разработку (тем более Agile). Он настаивает на том, чтобы наша спецификация разработки программного обеспечения (SDS) была завершена до написания какой-либо строки кода. Завершить, для него, означает, что все функциональные детали есть. Кроме того, будучи бывшим программистом Cobol, он хочет видеть «модули» и блок-схемы. Это веб-приложение на Java для вслух!
Во всяком случае, я пытаюсь найти простое место, чтобы мягко указать ему, чтобы показать, что SDS не должен быть завершен на 100%, прежде чем мы начнем кодирование (и при этом оно не может быть завершено). Какие-либо предложения?
Благодарность!
design
agile
specifications
Стивен А. Лоу
источник
источник
Ответы:
Как консультант, я понимаю одно простое правило консалтинга:
Вы не можете заставить кого-либо делать то, что он не хочет делать, кроме как силой власти, которой у вас нет.
Как тренер я представляю Agile с тремя правилами:
Невозможно собрать все требования в начале проекта.
Независимо от требований вы делаете собирайте гарантированно изменения.
Всегда будет больше, чем время и деньги.
и одна цель:
Это все, что вам нужно, чтобы начать.
Убедить вашего менеджера это другое дело.
источник
Вы не можете «заставить» менеджера понимать Agile иначе, чем вы можете заставить разработчика понять это. Вы должны представить ему аргументы (книги Кента Бека - хорошее начало), и пусть он решит сам.
Кроме того, вы можете попросить его разрешить вам провести эксперимент. Возьмите небольшой проект и запустите его с помощью итеративной разработки и следите за временем, бюджетом, проблемами качества и удовлетворенностью команды. Сравните это с предыдущими проектами (или выпусками) и посмотрите, было ли это лучше, хуже или нейтральнее.
источник
Ты не
Прежде всего, почему старший директор вообще участвует в выборе методологии разработки программного обеспечения? Это решение намного ниже его зарплаты, отдает микроуправлением и говорит о недоверии.
Во-вторых, зачем ему вообще это понимать? Если спецификации программного обеспечения зафиксированы в камне, то будет ровно одна итерация. Если это не так, то будет несколько итераций. Это не его решение .
Если он считает, что это его решение, то он подрывает авторитет ИТ-менеджера, менеджера проекта, ИТ-архитектора, руководителей группы и команды разработчиков. Поэтому он должен сам написать программу @ # $% ing или STFU и позволить профессионалам выполнять свою работу, не обремененную мозгами динозавров.
Я не шучу. Если он не может доверять вам в выполнении вашей работы, он должен сделать это сам, а вы должны убегать с криком .
источник
«Создание программного обеспечения - это все равно что снимать фильм, вам нужно планировать заранее, но во время съемок вам нужно делать повторные снимки, повторно посещать старые сцены и редактировать конечный продукт, чтобы обеспечить хороший результат»
Опять же, он менеджер, поэтому, по его словам:
«Нам необходимо использовать нашу синергетическую гибкость для создания своевременного решения с полным спектром услуг»
источник
Применяется старая поговорка: вы можете взять лошадь с водой, но вы не можете заставить ее пить.
Как уже отмечали другие, для старшего директора действительно важна ценность для бизнеса. Вы можете попытаться быстро оценить, сколько времени вы собираетесь потратить на составление его блок-схем и диаграмм модулей и написание «полной» SDS (нелепая концепция, но дайте ему то, что он хочет). Если я что-то знаю об этих вещах (и когда я начал писать программное обеспечение, это было так, как это было сделано), то ваша оценка легко составит несколько человеко-недель, если не больше для значительного проекта. Выразите эту цифру в деньгах.
Затем покажите ему, сколько функциональности вы могли бы доставить одновременно. Поговорите с несколькими людьми в бизнесе о том, сколько времени им сэкономит, чтобы базовое веб-приложение выполняло те вещи, которые вы могли бы доставить в то же время. Затем умножьте эту экономию на то, как часто они используют эту функцию, скажем, через 3 года. Выразите это в деньгах.
Вероятно, есть и другие преимущества для бизнеса, которые могут быть выражены в деньгах. Мой фаворит всегда - профилактика "дурака". Если ваше программное обеспечение может помочь минимизировать бедствия или вообще избежать их, найдите недавнюю катастрофу и выразите ее в денежном выражении. Затем скажите своему боссу: если бы у нас было это прямо сейчас, мы бы сэкономили эти деньги.
И если уловка с деньгами не работает, то, возможно, следует подойти к нему и сказать ему, чтобы он прекратил микроуправление своей командой. Хотя, по моему опыту, это скорее уволит вас, чем что-либо еще.
источник
Простым местом может быть Манифест для гибкой разработки программного обеспечения .
Информация, которую вы найдете в этом месте, об основных принципах гибкой разработки программного обеспечения, определенных группой известных специалистов.
То есть
Но, пожалуйста, посмотрите на страницу подробно, чтобы получить полное намерение.
источник
Я бы предложил попытаться показать ему, что, выполняя «Быстрое прототипирование» (то есть начинающий кодировать первые несколько итераций), вы можете быстрее и точнее реализовать свой SDS (что означает меньшую переработку позже) и начать приносить пользу бизнесу раньше. Действительно, наиболее вероятная ценность для бизнеса - это все, что имеет значение для этого директора, и он решил, что лучший способ добиться этого - это последовательный процесс. Вы должны показать ему в его терминах, почему ваш подход лучше.
источник
Это может быть полезно - http://www.youtube.com/watch?v=4u5N00ApR_k
источник