Как бороться с программными проектами, которые терпят неудачу?

12

Нередко проекты терпят неудачу.

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

Некоторые определения неудачи:

  • Пропускает крайний срок.
  • Код и функциональность не делают то, что должны.
  • Программное обеспечение становится бесполезным или бесконечным числом фаз, по существу, невозможным для доставки.

Или, может быть, у вас есть свои собственные определения неудачи.

Вы начинаете указывать пальцами? Виноваты ли вы в себе, требованиях, технологиях, управлении, клиенте и т. Д.? Проводите ли вы уроки в команде?

Spong
источник
11
Я склонен плакать, как ребенок. Это не работает для всех, хотя.
ChaosPandion
Определяется ли отказ в этом контексте как хорошая программа (выполняет то, что должно, без ошибок), которая, тем не менее, не соответствует ожиданиям продаж?
tcrosley

Ответы:

8

Вы должны делать уроки, извлеченные для всех проектов, проваленных или успешных. У хорошего проекта есть чему поучиться.

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

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

В моей единственной настоящей неудаче за последние 30 с лишним лет, проект был в требованиях буквально годы, когда мы приехали. Мы получили требования улажены. Один пришел от руководства и сотни от конечных пользователей. Мы написали код, много кода, некоторые из них блестящие. Было тестирование и приемочное тестирование, а также изменения и аргументы, а также запросы на изменения и неоплачиваемая работа и оплачиваемая работа, в последнюю минуту болты, сюрреалистический юмор и эскалация ПО и все такое. В конце концов, это просто остановилось. Причиной сбоя было то, что единственное требование к управлению было неприемлемо для конечных пользователей. И независимо от того, сколько вещей у них получилось, они не могли пройти мимо этого и никогда не приняли бы систему. Но у руководства не было бы другого пути. Так что это было то, и хотя мы получили много денег, это было, в конце концов,

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

Кейт Грегори
источник
3
Я улыбаюсь, перечитывая этот ответ. Под конец все стало скорее смешно, чем грустно - и я провел год, работая над этим, ничего не взимая за это. Один из моих любимых был, когда я вручил пользователю запрос на изменение, чтобы подписать, и она сказала: «Я не подписываю это - вы будете держать меня в этом!» на что я мог только ответить «ну, тогда я не кодирую это».
Кейт Грегори
3

Уходите, сука, от нескольких дней до недели, пока я избегаю делать что-то значимое, затем попытайтесь выяснить, что пошло не так и как не допустить, чтобы это повторилось.

Дэвид Торнли
источник
3

На эту тему есть замечательная книга под названием «Марш смерти»: http://www.amazon.com/Death-March-2nd-Edward-Yourdon/dp/013143635X

Я настоятельно рекомендую вам прочитать это. Вы можете узнать свой проект (ы) во многих описаниях.

Единого ответа нет, так как он сильно зависит от многих сложных компонентов вашей организации, включая политику ...


источник
1

Я обвинил всех, кроме меня .... хаха, шучу. Я пишу документ "Mea Culpa" со всеми вещами, которые "я сделал" неправильно. возможно, не поможет этому проекту, но это хороший способ не повторять одни и те же ошибки

Nisanio
источник