Как заставить менеджера понимать Agile?

12

У меня проблема со старшим директором, который не понимает итеративную разработку (тем более Agile). Он настаивает на том, чтобы наша спецификация разработки программного обеспечения (SDS) была завершена до написания какой-либо строки кода. Завершить, для него, означает, что все функциональные детали есть. Кроме того, будучи бывшим программистом Cobol, он хочет видеть «модули» и блок-схемы. Это веб-приложение на Java для вслух!

Во всяком случае, я пытаюсь найти простое место, чтобы мягко указать ему, чтобы показать, что SDS не должен быть завершен на 100%, прежде чем мы начнем кодирование (и при этом оно не может быть завершено). Какие-либо предложения?

Благодарность!

Стивен А. Лоу
источник
Что означает SDS? Пробовал гуглить, но получаю много помех.
Макс
2
SDS - это «Спецификация разработки программного обеспечения». Он также использует эту фразу ранее в посте.
Томас Оуэнс
2
Блок - схема? Шутки в сторону?? Бегать! Беги и не оглядывайся!
nikie
2
Ничего плохого в потоковой диаграмме, иллюстрирующей работу алгоритма, гораздо проще читать, чем псевдокод.
Бьярке Фрейнд-Хансен,

Ответы:

20

Как консультант, я понимаю одно простое правило консалтинга:

  • Вы не можете помочь людям, которые не хотят, чтобы им помогли.

Вы не можете заставить кого-либо делать то, что он не хочет делать, кроме как силой власти, которой у вас нет.

Как тренер я представляю Agile с тремя правилами:

  1. Невозможно собрать все требования в начале проекта.

  2. Независимо от требований вы делаете собирайте гарантированно изменения.

  3. Всегда будет больше, чем время и деньги.

и одна цель:

  • Доставляйте что-то ценное каждую неделю.

Это все, что вам нужно, чтобы начать.

Убедить вашего менеджера это другое дело.

Рейн Хенрикс
источник
11

Вы не можете «заставить» менеджера понимать Agile иначе, чем вы можете заставить разработчика понять это. Вы должны представить ему аргументы (книги Кента Бека - хорошее начало), и пусть он решит сам.

Кроме того, вы можете попросить его разрешить вам провести эксперимент. Возьмите небольшой проект и запустите его с помощью итеративной разработки и следите за временем, бюджетом, проблемами качества и удовлетворенностью команды. Сравните это с предыдущими проектами (или выпусками) и посмотрите, было ли это лучше, хуже или нейтральнее.

Кристофер Биббс
источник
Подход «эксперимент» - это то, что моя группа делает сейчас с одним из наших новых произведений. Кажется, до сих пор работает - 3 итерации, все за пределами нашей группы счастливы; разработчики тем более.
Дэйв
5

Ты не

Прежде всего, почему старший директор вообще участвует в выборе методологии разработки программного обеспечения? Это решение намного ниже его зарплаты, отдает микроуправлением и говорит о недоверии.

Во-вторых, зачем ему вообще это понимать? Если спецификации программного обеспечения зафиксированы в камне, то будет ровно одна итерация. Если это не так, то будет несколько итераций. Это не его решение .

Если он считает, что это его решение, то он подрывает авторитет ИТ-менеджера, менеджера проекта, ИТ-архитектора, руководителей группы и команды разработчиков. Поэтому он должен сам написать программу @ # $% ing или STFU и позволить профессионалам выполнять свою работу, не обремененную мозгами динозавров.

Я не шучу. Если он не может доверять вам в выполнении вашей работы, он должен сделать это сам, а вы должны убегать с криком .

Стивен А. Лоу
источник
4

«Создание программного обеспечения - это все равно что снимать фильм, вам нужно планировать заранее, но во время съемок вам нужно делать повторные снимки, повторно посещать старые сцены и редактировать конечный продукт, чтобы обеспечить хороший результат»

Опять же, он менеджер, поэтому, по его словам:

«Нам необходимо использовать нашу синергетическую гибкость для создания своевременного решения с полным спектром услуг»

Homde
источник
3
+1 за «Нам нужно использовать нашу синергетическую гибкость для создания своевременного решения с полным спектром услуг»
CaffGeek
Люди действительно больше знакомы с созданием фильмов, чем с разработкой программного обеспечения? Или ты негодовал над «старшим директором»?
Алекс Фейнман
2

Применяется старая поговорка: вы можете взять лошадь с водой, но вы не можете заставить ее пить.

Как уже отмечали другие, для старшего директора действительно важна ценность для бизнеса. Вы можете попытаться быстро оценить, сколько времени вы собираетесь потратить на составление его блок-схем и диаграмм модулей и написание «полной» SDS (нелепая концепция, но дайте ему то, что он хочет). Если я что-то знаю об этих вещах (и когда я начал писать программное обеспечение, это было так, как это было сделано), то ваша оценка легко составит несколько человеко-недель, если не больше для значительного проекта. Выразите эту цифру в деньгах.

Затем покажите ему, сколько функциональности вы могли бы доставить одновременно. Поговорите с несколькими людьми в бизнесе о том, сколько времени им сэкономит, чтобы базовое веб-приложение выполняло те вещи, которые вы могли бы доставить в то же время. Затем умножьте эту экономию на то, как часто они используют эту функцию, скажем, через 3 года. Выразите это в деньгах.

Вероятно, есть и другие преимущества для бизнеса, которые могут быть выражены в деньгах. Мой фаворит всегда - профилактика "дурака". Если ваше программное обеспечение может помочь минимизировать бедствия или вообще избежать их, найдите недавнюю катастрофу и выразите ее в денежном выражении. Затем скажите своему боссу: если бы у нас было это прямо сейчас, мы бы сэкономили эти деньги.

И если уловка с деньгами не работает, то, возможно, следует подойти к нему и сказать ему, чтобы он прекратил микроуправление своей командой. Хотя, по моему опыту, это скорее уволит вас, чем что-либо еще.

wolfgangsz
источник
2

Простым местом может быть Манифест для гибкой разработки программного обеспечения .

Информация, которую вы найдете в этом месте, об основных принципах гибкой разработки программного обеспечения, определенных группой известных специалистов.

То есть

  • Индивидуумы и взаимодействия над процессами и инструментами
  • Рабочее программное обеспечение над всеобъемлющей документацией
  • Сотрудничество с заказчиком в процессе переговоров
  • Реагировать на изменения после плана

Но, пожалуйста, посмотрите на страницу подробно, чтобы получить полное намерение.

FrVaBe
источник
1
и, возможно, что еще более важно, чтобы понять суть: halfarsedagilemanifesto.org
gbjbaanb
1

Я бы предложил попытаться показать ему, что, выполняя «Быстрое прототипирование» (то есть начинающий кодировать первые несколько итераций), вы можете быстрее и точнее реализовать свой SDS (что означает меньшую переработку позже) и начать приносить пользу бизнесу раньше. Действительно, наиболее вероятная ценность для бизнеса - это все, что имеет значение для этого директора, и он решил, что лучший способ добиться этого - это последовательный процесс. Вы должны показать ему в его терминах, почему ваш подход лучше.

nicolaskruchten
источник
5
Менеджер: «Мы уже закончили? Отлично! Давайте просто использовать прототип»
Homde
@mko: Если целью этого упражнения является убедить менеджера не настаивать на таких подробных спецификациях, то такой ответ будет явной победой. Хотя, похоже, что в этом сценарии шансов на это практически нет.
Ааронаут
-1

Это может быть полезно - http://www.youtube.com/watch?v=4u5N00ApR_k

В этом фильме «Я хочу запустить гибкий проект» мы следуем опыту одного такого смелого руководителя проекта, Люка, поскольку у него много разных встреч по всему предприятию, работающих над созданием и реализацией своего гибкого проекта.

Прасанджит Моханти
источник