Вы читаете книгу
Время — деньги. Создание команды разработчиков программного обеспечения
Салливан Эд
Выбрать книгу по жанру
Фантастика и фэнтези
- Боевая фантастика
- Героическая фантастика
- Городское фэнтези
- Готический роман
- Детективная фантастика
- Ироническая фантастика
- Ироническое фэнтези
- Историческое фэнтези
- Киберпанк
- Космическая фантастика
- Космоопера
- ЛитРПГ
- Мистика
- Научная фантастика
- Ненаучная фантастика
- Попаданцы
- Постапокалипсис
- Сказочная фантастика
- Социально-философская фантастика
- Стимпанк
- Технофэнтези
- Ужасы и мистика
- Фантастика: прочее
- Фэнтези
- Эпическая фантастика
- Юмористическая фантастика
- Юмористическое фэнтези
- Альтернативная история
Детективы и триллеры
- Боевики
- Дамский детективный роман
- Иронические детективы
- Исторические детективы
- Классические детективы
- Криминальные детективы
- Крутой детектив
- Маньяки
- Медицинский триллер
- Политические детективы
- Полицейские детективы
- Прочие Детективы
- Триллеры
- Шпионские детективы
Проза
- Афоризмы
- Военная проза
- Историческая проза
- Классическая проза
- Контркультура
- Магический реализм
- Новелла
- Повесть
- Проза прочее
- Рассказ
- Роман
- Русская классическая проза
- Семейный роман/Семейная сага
- Сентиментальная проза
- Советская классическая проза
- Современная проза
- Эпистолярная проза
- Эссе, очерк, этюд, набросок
- Феерия
Любовные романы
- Исторические любовные романы
- Короткие любовные романы
- Любовно-фантастические романы
- Остросюжетные любовные романы
- Порно
- Прочие любовные романы
- Слеш
- Современные любовные романы
- Эротика
- Фемслеш
Приключения
- Вестерны
- Исторические приключения
- Морские приключения
- Приключения про индейцев
- Природа и животные
- Прочие приключения
- Путешествия и география
Детские
- Детская образовательная литература
- Детская проза
- Детская фантастика
- Детские остросюжетные
- Детские приключения
- Детские стихи
- Детский фольклор
- Книга-игра
- Прочая детская литература
- Сказки
Поэзия и драматургия
- Басни
- Верлибры
- Визуальная поэзия
- В стихах
- Драматургия
- Лирика
- Палиндромы
- Песенная поэзия
- Поэзия
- Экспериментальная поэзия
- Эпическая поэзия
Старинная литература
- Античная литература
- Древневосточная литература
- Древнерусская литература
- Европейская старинная литература
- Мифы. Легенды. Эпос
- Прочая старинная литература
Научно-образовательная
- Альтернативная медицина
- Астрономия и космос
- Биология
- Биофизика
- Биохимия
- Ботаника
- Ветеринария
- Военная история
- Геология и география
- Государство и право
- Детская психология
- Зоология
- Иностранные языки
- История
- Культурология
- Литературоведение
- Математика
- Медицина
- Обществознание
- Органическая химия
- Педагогика
- Политика
- Прочая научная литература
- Психология
- Психотерапия и консультирование
- Религиоведение
- Рефераты
- Секс и семейная психология
- Технические науки
- Учебники
- Физика
- Физическая химия
- Философия
- Химия
- Шпаргалки
- Экология
- Юриспруденция
- Языкознание
- Аналитическая химия
Компьютеры и интернет
- Базы данных
- Интернет
- Компьютерное «железо»
- ОС и сети
- Программирование
- Программное обеспечение
- Прочая компьютерная литература
Справочная литература
Документальная литература
- Биографии и мемуары
- Военная документалистика
- Искусство и Дизайн
- Критика
- Научпоп
- Прочая документальная литература
- Публицистика
Религия и духовность
- Астрология
- Индуизм
- Православие
- Протестантизм
- Прочая религиозная литература
- Религия
- Самосовершенствование
- Христианство
- Эзотерика
- Язычество
- Хиромантия
Юмор
Дом и семья
- Домашние животные
- Здоровье и красота
- Кулинария
- Прочее домоводство
- Развлечения
- Сад и огород
- Сделай сам
- Спорт
- Хобби и ремесла
- Эротика и секс
Деловая литература
- Банковское дело
- Внешнеэкономическая деятельность
- Деловая литература
- Делопроизводство
- Корпоративная культура
- Личные финансы
- Малый бизнес
- Маркетинг, PR, реклама
- О бизнесе популярно
- Поиск работы, карьера
- Торговля
- Управление, подбор персонала
- Ценные бумаги, инвестиции
- Экономика
Жанр не определен
Техника
Прочее
Драматургия
Фольклор
Военное дело
Время — деньги. Создание команды разработчиков программного обеспечения - Салливан Эд - Страница 50
• Программа позволяет активизировать основные функции для работы с памятью и вести регистрацию их работы.
• Программа выводит первое сообщение об ошибке при работе с памятью с помощью прототипа пользовательского интерфейса.
• Программа успешно обнаруживает утечки памяти типа 1 и 2.
• Программа успешно обнаруживает утечки памяти типа 3 и 4.
• Программа успешно обнаруживает утечки памяти типа 5 и 6.
• Появляется реальный пользовательский интерфейс программы, но без поддержки печати, сортировки и фильтрации.
• Закончена поддержка печати, сортировки и фильтрации.
• Программа интегрируется с другими программами пакета.
Промежуточные этапыПромежуточный этап — это группа базовых уровней, представляющих законченную часть программы. Необходимо равномерно распределить их завершение по ходу работы над проектом. Например, если для проекта определено 4 промежуточных этапа, то каждому из них должны соответствовать 25% реализации проекта. Очевидно, что чем сложнее проект, тем больше у него промежуточных этапов.
У каждого промежуточного этапа должен быть период стабилизации и интеграции (см. главу 6). Напоминаю, что в это время (обычно 1-2 недели) вся команда концентрируется на решении проблем, обнаруженных в реализованных функциях. Периоды стабилизации жизненно важны для проекта, поскольку в это время проводится тестирование, исправление ошибок, устранение неполадок в структуре и интеграции, проводится оценка производительности, т.е. все мероприятия, способствующие стабилизации программы. Не приступайте к реализации новой функции, пока не убедитесь, что только что законченные функции работают хорошо. Помимо всего прочего, периоды стабилизации очень удобны для разного рода доработок. В это время отставшие участники или подразделения команды могут наверстать упущенное и догнать остальных, чтобы вновь работать синхронно.
Внешние промежуточные этапыВ завершении внешних промежуточных этапов участвуют люди или группы, не работающие над проектом постоянно. Внешние промежуточные этапы знаменуют собой критические точки проекта. Вот самые распространённые внешние промежуточные этапы:
• альфа-версия — выпуск, в котором реализован лишь ряд критических функций программы; альфа-версии не предназначены для широкого использования, однако могут быть полезны для демонстрации прогресса проекта или сбора внешних отзывов о работе критических функций;
• бета-версия — выпуск, в котором реализованы если не все, то большинство функций; бета-версии передаются клиентам для испытаний и оценки;
• кандидат на выпуск — в случае успешного окончания тестирования этот выпуск будет передан в производство для тиражирования; появление кандидата на выпуск — знак того, что проект почти закончен и выпуск ПО состоится;
• передача в производство — к этому времени рабочий выпуск будет передан в производство для тиражирования (или опубликован в Web, в зависимости от назначения ПО).
Любой из внешних промежуточных этапов требует распространения ПО за пределами команды или даже компании. Так как это очень важное событие, перед каждым промежуточным этапом нужен период стабилизации. Он позволяет команде сосредоточиться на его качестве, интеграции; выполнить «подгонку» частей и устранить оставшиеся неполадки перед выпуском продукта. (Подробнее о бета-версии и кандидате на выпуск см. главы 13 и 14)
ПримерЧтобы закрепить основы, давайте шаг за шагом рассмотрим подробный пример (табл. 11-1). В таблице показано упрощённое описание проекта, откуда удалена часть информации, обычно имеющейся в нём. Тем не менее, этот пример достаточно детализирован, чтобы продемонстрировать стыковку всех частей проекта. Ниже приводится ряд допущений, сделанных при планировании этого примера.
• Принципы планирования.
* С каждой функцией связан список технических задач. В этом примере они не показаны, однако их легко перечислить в реальном плане. На выполнение одной задачи отводится не более 2 недель, а на большинство — неделя или даже меньше. В зависимости от приоритетных требований к ПО, в первую очередь реализуются необходимые функции, а затем — менее важные.
* Тестирование функций осуществляется по мере завершения их разработчиками. Тестирование некоторых функций будет автоматизировано, другие же придётся тестировать вручную. Подробное описание испытаний приводится в плане тестирования.
* Специалисты по обучению пользователей составляют описания функций по мере их завершения. Работа по составлению документации должна как можно меньше отставать от реализации функции. Подробно эти действия описаны в плане обучения пользователей.
* Специалисты по инженерной психологии оценивают качество реализации всех функций пользовательского интерфейса, консультируют по поводу внесения изменений и контролируют впечатление от продукта по мере реализации проекта. Детали работы специалистов по инженерной психологии описаны в специальном плане.
* Во время работы над выпуском ПО сразу же создаётся простая сборка программы и установочная процедура. Затем сборка и установочная процедура будут регулярно пополняться новыми функциями, таким образом, они будут включать все большую долю функциональности готовой программы. Они также поддерживают подключение новых функций по мере их готовности. Конкретные усовершенствования функций и возможностей программы будут описаны в плане работы над выпуском.
• Участники работы над проектом:
— Мэтт — ведущий разработчик, занятый полное рабочее время;
— Джон — программист;
— Джим — ведущий тестировщик, также отвечает за автоматизацию;
— Фрэнк — тестировщик, исполняет автоматизированное и ручное тестирование функций;
— Сара — ведущий специалист по обучению пользователей;
— Кенни — ведущий специалист по инженерной психологии;
— Боб — ведущий технолог.
• Промежуточные этапы, внешние и внутренние.
— План проекта состоит из 4 базовых уровней, на реализацию которых отводится по 2 месяца, и 2-х главных промежуточных этапов. Будут выпущены 2 бета-версии, 1 версия — кандидат на выпуск и 1 версия для тиражирования.
— Каждый промежуточный этап образован 2 базовыми уровнями. Первому промежуточному этапу будет соответствовать наполовину законченный проект, а второму этапу — полностью законченный проект.
— Работа над бета-версией 1 займёт 1 месяц. Функции 14 и 15 будут добавлены во время работы над бета-версией 1, а оставшееся время будет потрачено на тестирование, настройку и исправление ошибок. У каждого участника группы есть некоторый список действий на время работы над бета-версией 1.
— В бета-версии 2 не будет новых функций по сравнению с бета-версией 1. Внесение значительных изменений в главные функции не допускается, разрешено лишь тестирование, настройка и исправление ошибок. У каждого члена группы есть список задач на это время.
• Кандидат на выпуск.
Версия — кандидат на выпуск будет готова к концу работы над бета-версией №2, если её тестирование пройдёт успешно и не будет обнаружено серьёзных ошибок.
• Контрольные собрания.
— Проведение собраний для контроля за состоянием проекта запланировано на каждый понедельник. Если достигнуть базового уровня вовремя не удалось (или все говорит об этом), придётся вносить изменения, чтобы наверстать упущенное.
Табл. 11. Примерный план.Цифрами обозначены функции, состояние функций обозначено следующими буквами:
Ф — функция запрограммирована, выполнено блочное тестирование и завершены все связанные с ней технические задачи;
А — тестирование функции автоматизировано:
Р — функция протестирована вручную;
- Предыдущая
- 50/64
- Следующая
