SpecialistOff.NET / Вопросы / Статьи / Фрагменты кода / Резюме / Метки / Помощь / Файлы

Назад

Что делать, если проект не рабочий?


Метки: управление проектом

Причины

План действий

Для этого понадобится карандаш и бумага

1. Цели

Цель определяет итог, но не определяет способы его достижения. Определите список достигаемых проектом целей. Что в будет в итоге? Собственно зачем мы все здесь собрались?

2. Задачи

Действия, направленные на достижения поставленных целей. Определите список решаемых в процессе задач. Что нужно делать, чтоб добраться до цели?

3. Требования

Свойства, которыми обладает конечный результат. Бизнес-требования, технические требования, пользовательские требования. Обязательно проработайте оценку важности требований.

4. Роли

Определяем список задействованных прямо или косвенно ролей: людей, групп, прав, обязанностей, ответственности.

5. Компоненты и компоновка

Список составных частей исследуемого объекта. Возможно это абстрактные модули и схемы сборки и взаимодействия.

6. Минимально жизнеспособный продукт

Не путать с прототипом. Примеры минимально жизнеспособных продуктов: лом, кувалда. Это продукт с минимальным набором функций, но достаточный для решения основных поставленных задач и достижения главных целей.

7. Инструменты

Если для проекта собрана команда, но при этом нужна как минимум ещё одна команда, которая будет обслуживать платформу, то явно что-то идёт не так.

Не берите инструмент только потому, что его реклама везде, но вы с ним ещё не работали. Если есть специалист по этому инструменту, то попросите его собрать тестовый стенд. Оцените затраченное время, сложность сборки стенда и сложность работы с инструментом.

8. Детали реализации

Основные сущности, архитектура, пользовательские интефейсы, документирование кода, документирование продукта.

Неоправданное применение паттеров проектирования (если у тебя в руках молоток, то все предметы вокруг начинают напоминать гвозди). Слепое следование методологиям может привести к непредсказуемым результатам, хоть и предполагает изначальную управляемость и предсказуемость (да, парадокс, смиритесь, вспомните сколько компаний и процессов загублено через agile, scrum и т.п.).

Неоправданное применение паттеров проектирования (если у тебя в руках молоток, то все предметы вокруг начинают напоминать гвозди).

Неоправданное применение абстракций. Примеры из жизни:

Слишком большая проработка функциональности: для изображений попытка создать полноценный графический редактор, для звука создать секвенсор. Ещё нет минимально жизнеспособного продукта, зато есть навороченный редактор. Круто! Молодцы! Но зачем? Потратили время, деньги, силы.