Прием | Состояние внедрения | Опыт Orbix Generation 3 |
Раунды планирования | Внедрено частично | Мы пришли к выводу о необходимости строго следовать итеративному процессу планирования. Однако крайне важно соотносить идеальные временные оценки и реальное время выполнения работ. Большинство ошибок в продукте исправляются примерно за две недели, поэтому мы перешли на двухнедельные периоды выпуска заплаток. Наша служба поддержки и отделы продаж действуют как доверенные представители наших заказчиков, осуществляя координацию работ, связанных с исправлением ошибок в расчете на двухнедельный срок. Разного рода прерывания и изменения приоритетов в середине цикла сохраняются по-прежнему, но это неизбежно. |
Небольшие модернизации | Строго выполняется | Работа нашей службы поддержки строилась с учетом требования коротких циклов реализации, поэтому наши пользователи получают заплатки через две недели. Сроки выпуска сократились с нескольких месяцев до нескольких недель. При отсутствии автоматизированных еженощных модульных и регрессионных тестов мы бы не смогли этого добиться. Без возможности выполнять тестирование буквально по нажатию одной кнопки, инженеры не могли бы гарантировать, что внесенные изменения не породят новые ошибки в коде. Без оптимизации тестовых пакетов мы не смогли бы обеспечить своевременную обратную связь. |
Метафора | Внедрено с самого начала | Наша метафора - это комментарии пользователя в том виде, как они представлены в системе контроля ошибок. Наш заказчик предлагает тест, позволяющий убедиться в том, что все замечания, указанные в данном комментарии, устранены. |
Простота архитектуры | Внедрено частично | Мы особое значение придаем простой архитектуре, поскольку сам продукт сложный, и мы по-прежнему используем документы на проектирование от высокого до среднего уровня, чтобы помочь людям быстро разобраться во всей системе и отдельных ее компонентах. В нашей среде обслуживания есть четкие приоритеты, на которых необходимо сосредоточиться. Мы, как правило, не создаем проектных документов при исправлении ошибок, а концентрируемся на комментариях и передаче регрессионных и проверочных тестов. |
Тестирование | Внедрено с самого начала | Первоначальное тестирование - это естественная часть организации работ в группе Generation 3. Мы не начинаем работу над ошибкой до тех пор, пока не разработан тестовый случай. Мы также выполняем анализ кода, чтобы компенсировать отсутствие всеобъемлющих тестов. |
Разбиение на составляющие | Внедрено с самого начала | Мы приняли это в качестве одного из основополагающих принципов проектов по улучшению уровня обслуживаемости и стабильности нашего кода. Как правило, необходимо особое внимание уделять вопросу о разбиении как части персональных методов работы каждого инженера. Иногда нам приходиться выполнять полный реинжиниринг программного обеспечения, но это происходит не часто. |
Парное программирование | Внедряется постепенно | Хотя мы стараемся его использовать, далеко не всегда группа его практикует. Мы анализируем код, следя за выполнением стандартов на код, архитектуру исправлений и так далее. |
Коллективное владение | Внедрено с самого начала | Мы работаем с людьми, которые постоянно меняют код. Некоторые из них являются специалистами в определенных областях, но обслуживанием кода у нас занимается все меньше людей, и мы не можем позволить себе не держать на работе сотрудников с узкой специализацией. По большей части мы используем парное программирование для решения сложных задач. У нас также имеется большой набор стандартов, которые мы реализуем не только за счет анализа кода, но и в рамках процесса проверки в системе управления исходными текстами. |
Непрерывная интеграция | Реализовано с самого начала | Нам потребовалось полтора года на создание автоматизированной системы тестирования, которая была бы не только всеобъемлющей, но и быстрой и удобной в применении. Кроме того, мы отказались от станций, на которых выполнялась интеграция. Вместо этого в нашей системе управления исходными текстами мы используем файл, с которым в каждый момент времени может работать только один человек (его вход и выход регистрируется). Процесс компоновки четко определен, и ему следуют достаточно строго. |
Сорокачасовая рабочая неделя | Не внедрено | Мы не решились на это. |
Присутствие заказчика | Внедрено с самого начала | Мы используем нашу группу поддержки пользователей и отделы продаж в качестве своих заказчиков. Они устанавливают приоритеты и проводят тесты, на основе которых принимаются заплатки. |
Стандарты кодирования | Внедрено с самого начала | Мы установили их еще до того, как стали использовать XP. |
|