Время — деньги. Создание команды разработчиков программного обеспечения.
- Предисловие. ➾
- Благодарности. ➾
- Введение. ➾
- 2000 г.
- 1999 г.
- 1998 г.
- 1997 г.
- 1996 г.
- 1995 г.
- 1994 г.
- Как пользоваться этой книгой.
- Для кого предназначена эта книга.
- Структура книги.
- Дополнительная информация.
- Как со мной связаться.
- Часть 1. Люди, организация и методы. ➾
- Глава 1. Замечательные люди и как их найти. ➾
- Определение «замечательных». ➾
- Квалификация.
- Преданность.
- Отношение к делу.
- Поведение.
- Умение работать в команде.
- Жажда знаний.
- Замечательные люди или совершенные люди?
- Паршивая овца…
- Финансовые затраты.
- Влияние плохого кадрового обеспечения.
- Поиск и привлечение достойных кандидатов. ➾
- Web-узлы поиска кадров.
- Собственный Web-узел.
- Привлеките внимание кандидатов.
- Представьте товар лицом.
- Рекомендации.
- Профессиональные кадровые агентства.
- Колледжи.
- Объявления и ярмарки вакансий.
- Выставки.
- Целевой поиск.
- Исключительные события.
- Какая методика лучше?
- Общие проблемы и решения. ➾
- Глава 2. Резюме, собеседование и удерживание сотрудников. ➾
- Анализ резюме. ➾
- Резюме не даёт полной картины.
- Телефонное интервью.
- Собеседование с кандидатом. ➾
- Команда, проводящая собеседование.
- Ключевые темы.
- Оценка квалификации.
- Ключевые вопросы.
- Обратная связь и завершение собеседования.
- Тестирование кандидата.
- Примеры разработок.
- Привлечение кандидата.
- Окончательное решение.
- Дополнительные усилия.
- Предложение.
- Дальнейшие шаги.
- Если вы упустили кандидата.
- Удерживание сотрудников. ➾
- Методики удерживания сотрудников.
- Типичные проблемы и их решение. ➾
- Собеседование: проблемы и решения.
- Сохранение сотрудников: проблемы и решения.
- Глава 3. Организация проекта. ➾
- Модель организационной структуры компании NuMega. ➾
- Управление проектом. ➾
- Ведущие специалисты.
- Роли и обязанности. ➾
- Менеджер проекта.
- Программисты.
- Ведущий разработчик.
- Ведущие программисты, отвечающие за реализацию отдельных функций.
- Рядовые программисты.
- Тестировщики.
- Ведущий тестировщик.
- Инженер по автоматизации.
- Рядовой тестировщик.
- Группа разработчиков пользовательской документации.
- Ведущий разработчик пользовательской документации.
- Рядовой разработчик пользовательской документации.
- Инженерные психологи.
- Технологи по разработке ПО.
- Группа менеджмента и маркетинга продукта.
- Группа технической поддержки.
- Администратор программы бета-тестирования.
- Типичные проблемы и их решение. ➾
- Глава 4. Ранжирование сотрудников и корпоративная культура. ➾
- Ранжирование. ➾
- Правила ранжирования.
- Внутренний круг.
- Средний круг.
- Внешний круг.
- Для чего нужно ранжирование?
- Некорректное использование ранжирования.
- Привилегии и ответственность.
- Когда люди меняются.
- К чему стремиться.
- Корпоративная культура. ➾
- Почему культура так важна?
- Как воспитать корпоративную культуру?
- Корпоративная культура и технологические приёмы.
- Типичные проблемы и их решение. ➾
- Проблемы с ранжированием.
- Проблемы с культурой.
- Глава 5. Инструментальные программы. ➾
- Средства управления исходным кодом. ➾
- О чём пойдёт речь.
- Что туда входит.
- Зачем это нужно.
- Каковы их технологические возможности.
- Как ими управлять.
- Основы структуры.
- Структура и использование хранилища исходного кода.
- Табл. 5-1. Примерная структура папки «Product Name».
- Табл. 5-2. Примерная структура папки Environment.
- Табл. 5-3. Примерная структура папки Imports.
- Компоновочная система.
- Устранение проблем и неисправностей. ➾
- О чём пойдёт речь.
- Что туда входит.
- Примечание.
- Как это работает.
- Для всех ошибок — одно хранилище.
- Управление изменениями.
- Приоритеты на основе времени.
- Проверяйте и исправляйте ошибки.
- Используйте замечания по выпуску.
- Используйте стандартные запросы.
- Другие способы применения.
- Интенсивность возникновения и устранения ошибок.
- Количество изменений.
- Счётчик неудачных исправлений.
- Дополнительные средства. ➾
- Отладчики.
- Средства анализа производительности и полноты.
- Средства написания сценариев и автоматизации тестирования.
- Типичные проблемы и их решение. ➾
- Проблемы с инструментами.
- Проблемы управления исходным кодом.
- Проблемы поиска ошибок и неисправностей.
- Глава 6. Основы системы контроля качества. ➾
- Основные принципы. ➾
- Параллельное тестирование.
- Стабилизация и интеграция.
- Автоматизация.
- Команды, процессы и культура.
- Что, когда и как тестировать. ➾
- Входное тестирование.
- Ежедневное базисное тестирование.
- Тестирование реализованной функции.
- Ключевые функции.
- Установка.
- Тестирование при стабилизации и интеграции.
- Завершение тестирования отдельных функций.
- Проверка интеграции.
- Тестирование производительности и нагрузки.
- Коррекция после тестирования.
- Оценка после тестирования.
- Пример тестирования.
- Тестирование бета-версий и кандидатов на выпуск.
- Кто должен тестировать? ➾
- Другие критичные моменты для контроля качества. ➾
- Матрица тестирования.
- Ручное тестирование.
- Оборудование для тестирования.
- Типичные проблемы и их решение. ➾
- Нехватка ресурсов.
- Недостаточная подготовка.
- Отсутствие автоматизации.
- Ненадлежащее исполнение обязанностей.
- Неправильная расстановка акцентов.
- Глава 7. Основы технологии разработки программ. ➾
- Технологи по разработке ПО. ➾
- Сборки. ➾
- Почему они важны.
- Как их создавать.
- Утилита Make.
- Номера сборок.
- Сборочные машины и лаборатории.
- Оповещение и сбои.
- Проверка.
- Штрафы и измерения.
- Частота сдачи и проверки сборки.
- Процедура установки. ➾
- Почему это важно.
- Как её создавать.
- Скелет.
- Мышцы.
- Комплект.
- Сбор всего вместе. ➾
- Ежедневные сборки, комплекты и тесты.
- Убеждение.
- Типичные проблемы и их решение. ➾
- Отсутствие технологов по разработке ПО.
- Недостаточная автоматизация.
- Запоздалая процедура установки.
- Дисциплина.
- Часть 2. Формулирование и планирование проекта. ➾
- Глава 8. Требования. ➾
- Центральная идея проекта. ➾
- Поиск и решение пользовательских проблем.
- Формулирование требований. ➾
- Общие и частные требования.
- Полнота требований.
- Детализация требований.
- Анализ требований. ➾
- «Фрагментация» требований.
- Категории требований.
- Наглядное представление требований.
- Определение приоритетов. ➾
- Почему это так важно.
- Как это делается.
- Утверждение требований. ➾
- Управление внесением изменений. ➾
- Общие проблемы и решения. ➾
- Как изыскать время.
- Формулируйте сами задачи, а не способы их решения.
- Не упустите главное.
- Глава 9. Исследования, оценка технологий и моделирование. ➾
- Чем полезны исследования и прототипы. ➾
- Исследования. ➾
- О чём пойдёт речь.
- Как это делается.
- Оценка технологий. ➾
- О чём пойдёт речь.
- Как это делается.
- Моделирование. ➾
- О чём пойдёт речь.
- Как это делается.
- Типичные проблемы и их решение. ➾
- Не торопитесь.
- Не увлекайтесь моделированием отдельных функций.
- Не оставляйте анализ производительности напоследок.
- Глава 10. Пользовательский интерфейс. ➾
- Прототип пользовательского интерфейса. ➾
- Почему прототип необходим?
- Создание прототипа.
- Определение ключевых задач.
- Виды прототипов.
- Повторная оценка и доводка.
- Роль специалиста по инженерной психологии. ➾
- Сфера ответственности.
- Консультирование.
- Исполнение проекта.
- Типичные проблемы и их решение. ➾
- Излишняя доводка кода.
- Отсутствие отзывов извне.
- Лишние нововведения.
- Глава 11. Планирование. ➾
- Предпосылки. ➾
- Основные понятия и трудности планирования. ➾
- Основные понятия.
- Равновесие.
- Задачи и оценка времени для их выполнения.
- Полнота плана.
- Параллельная разработка.
- Баланс ширины и глубины охвата в работе над проектом.
- Контекст функций.
- Трудности в работе с людьми.
- Распределение работы.
- Балансировка нагрузки.
- Возможные накладки.
- Задачи: критичные и некритичные.
- Ловушки, подстерегающие любую команду.
- Сроки: конечный и согласованный.
- Ответственность за реализацию плана.
- Вопрос доверия к техническим специалистам.
- Как составить хороший план. ➾
- Задачи.
- Базовые уровни.
- Промежуточные этапы.
- Внешние промежуточные этапы.
- Пример.
- Табл. 11. Примерный план.
- Добавления в бета-версии.
- Неожиданные проблемы.
- Типичные проблемы и их решение. ➾
- Ничего не получается!
- Это сложнее, чем кажется на первый взгляд…
- Потеря согласованности.
- Часть 3. Исполнение проекта. ➾
- Глава 12. Держим курс. ➾
- Анология с самолётом. ➾
- Рис. 12-1. Навигация в непредсказуемых условиях.
- Процесс измерений и мониторинга состояния проекта. ➾
- Определение состояния проекта.
- Ежедневные сборки и базисные тесты.
- Собрания.
- «Управление мимоходом».
- Обмен информацией.
- Внесение изменений. ➾
- Смена курса.
- Задавайте верные вопросы.
- Стремление к согласию не должно мешать принятию решений.
- Смена темпа работы.
- Когда нужно увеличить нагрузку.
- Как увеличивать нагрузку.
- Общие проблемы и решения. ➾
- Вы уверены, что завершили эту работу?
- Борьба с нехваткой оборудования.
- Навёрстывайте упущенное.
- Миритесь с недостатками своих сотрудников.
- Глава 13. Бета-тестирование. ➾
- Ценность бета-тестирования. ➾
- Самая распространённая ошибка при проведении бета-тестирования. ➾
- Типы программ бета-тестирования. ➾
- Элементы программы бета-тестирования. ➾
- Начало программы бета-тестирования.
- Набор бета-тестеров. ➾
- Взаимодействие с бета-тестерами.
- Оценка прогресса бета-тестирования.
- Завершение программы бета-тестирования.
- Поощрение лучших бета-тестеров.
- Менеджер бета-тестирования. ➾
- Общие проблемы и решения. ➾
- Начинайте пораньше.
- Бета-версии должны быть проверены.
- Необходима мощная инфраструктура.
- Как справиться с потоком информации.
- Не жалейте времени.
- Собирайте отзывы.
- Глава 14. Кандидат на выпуск. ➾
- Начальные требования. ➾
- Тестирование кандидата на выпуск. ➾
- Создание окончательной сборки.
- Автоматизированное и ручное тестирование.
- Обеспечьте «мягкую посадку» проекта.
- Если что-то идёт не так, стоит задуматься.
- Если всё в порядке, можно заканчивать.
- Когда продукт готов, можно передать его заказчику.
- Общие проблемы и решения. ➾
- Отсутствие руководства.
- Обмен информацией.
- Ответственность.
- План тестирования.
- Автоматизация.
- Глава 15. Закрытие проекта. ➾
- Почему это так важно? ➾
- Как это делается? ➾
- Передача программы.
- Заключительное письмо.
- Празднование нового выпуска.
- Общественное признание.
- Личная благодарность.
- Премии, подарки и акции компании.
- Памятные фотографии и «пасхальные яйца».
- Что дальше? ➾
- Учимся на ошибках прошлого.
- Усиление инфраструктуры.
- Работа с кадрами.
- Общие проблемы и решения. ➾
- Чувство опустошённости.
- Истощение сил.
- Нужно довести проект до конца.
- Об авторе. ➾
- Примечания. ➾
Эд Салливан.