Марри Кантор: Управление программными проектамиE.A.2010
I. Успешный продуктКритерииПригодный
Отказоустойчивый
Восстанавливаемый
Надёжный
РасширяемыйI. Успешный продуктНе попадайте в ловушку бездефектностиЕсли поиск дефекта займёт 40 часов тестирования двадцатью программистами, вы можете оставить это занятие и выпускать продукт.Вы должны оценивать, какой уровень качества «по карману» для той или иной разработки.
II. Риски при разработке ПОКакие риски бываютРиск неправильного планирования
Риск превышения стоимости
Риск потерь качестваIII. Экономическая модель разработки ПОКак определить необходимые усилия Усилие = (коллектив) * (средства) * (сложность)процессКоллективСложностьПоказатель тем больше, чем больше проблем в коллективе: неопытность сотрудников, нововведения требующиеся от разработчиков ....Количественные показатели (количество строк кода, объёмы документации и т.п.)СредстваПроцессПоказатель тем меньше, чем больше эффективность, приобретённая или вследствие автоматизации процесса.Этот показатель равен количеству необходимых взаимодействий между разработчиками.
III. Экономическая модель разработки ПО... и как уменьшить величину тудозатратУсилие = (коллектив) * (средства) * (сложность)процесс< Коллектив< СложностьНаём и обучение,ограничение нововведенийУменьшение сложности< Средства< ПроцессАвтоматизация повседневных задачУменьшение количества взаимодействий между участниками
IV. Уменьшение трудозатрат1. Упрощение усилийРазбейте большие задачи на несколько меньших
Применение объектно-ориентированной технологии
Применение пошаговой разработки
Не создавайте последовательность действий
Помните о правиле 80/20IV. Уменьшение трудозатрат2. Уменьшение величины усилийОграничение функциональности продукта
Достижение функциональности при меньшем количестве кодаПовторное использование кода
Повторное использование архитектуры
Избегайте создания лишних материаловIV. Уменьшение трудозатрат3. Повышение эффективности работыВложение средств в создание архитектуры
Направление усилий коллектива на создание архитектуры подсистемСоздание надлежащего продукта
Использование и соблюдение стандарта UMLIV. Уменьшение трудозатрат4. Автоматизация стандартных задачИнструментальная среда(редакторы кода, средства автоматизации тестирования, компоновщики,системы контроля версий)
Автоматизация взаимодействий(создание документации, привычка документировать код)IV. Уменьшение трудозатрат5. Круговое проектирование«В любой момент времени продукт должен быть сконструировант так, как он спроектирован, и спроектирован так, как он сконструирован»Другими словами, продукт и документация по проектированию должны быть полностью совместимы.
IV. Уменьшение трудозатрат6. Сверхурочная работа?.. это путь, по которому не нужно идти:возрастает сложность
уменьшается эффективность
не остаётся резервов на решение неожиданно возникающих проблем

Марри Кантор, Управление программными проектами