Вы, должно быть, слышали архетипическую историю неудачного/неудачного проекта:
- Команда неопытных программистов работает 24x7
- Ошибки фиксируются только для введения новых ошибок
- Клиент кричит, что не может даже делать основной материал (сохранение/запрос) и т.д.
- Программисты имели обыкновение иметь спецификацию, чтобы бороться с импровизацией.
- Никакие автоматические модульные тесты не усугубляют ситуацию.
- Архитектурный документ, который выглядел красиво на бумаге, на практике не выполнялся.
- Используемые сторонние компоненты становятся узкими местами, которые в первую очередь не были проверены на соответствие требованиям.
- Веха после пропущенного этапа
- Команда не может придумать дату доставки, так как никто не согласен с тем, что на самом деле нужно делать квантовую работу.
- Отсутствует техническое руководство/или ковбойский кодер, который может принять технические проблемы.
Теперь, если бы вас привели в качестве № 10, какими будут ваши первые шаги?
Обновление: Прежде всего: Спасибо вам всем за то, что вы запихнули. Ну... меня привозили как № 10. Я был оригинальным Архитектором, ставящим на якорь решение, когда мы сделали предложение клиенту. Тогда, к сожалению, я не мог взять на себя ответственность за доставку, поскольку меня назначили где-то в другом месте.:)
Скажем, это веб-приложение существующего настольного приложения. Сейчас меня привлекают как 10. Бежать, к сожалению, не вариант. Я уверен, что это все равно может быть отменено, следуя гибким передовым практикам и просто хочет привлечь сообщество к идеям.
Более широкий вопрос, возможно, заключается в следующем: если команда разработчиков не имеет спецификаций, а только (базовый) код для запущенного приложения, оригинальное решение призвано искать код и извлекать бизнес-правила "на лету". Теперь неопытные программисты неохотно смотрят на код VB 6.0 и хотят документы! Итак, как вы сражаетесь с этим, если хотите установить Agile-процессы?