Скачать 3.84 Mb.
|
Глава 3. Организация проекта ф наблюдение за соблюдением архитектурных и технических спецификаций продукта; ф подбор ключевых технологических инструментов и стандартов; •ф диагностика и разрешение всех технических проблем; • выполнение роли технического инструктора и консуль танта для участников проекта; + наблюдение и контроль за работой групп разработчиков документации, тестировщиков и технологов; ф монито|яшг состояния продукта (ведение списка обнаруженных ОШИбок); •ф подбор инструментов разработки, метрик и стандартов и наблюдение за их использованием; ф ну и, конечно, программирование, программирование и еще раз программирование. Ведущие программисты, отвечающие за реализацию отдельных функций Отвечают за реализацию отдельных функций продукта, часто на основе конкретной технологии. Обычно определение функций формулируют довольно широко, например, «интеграция с IDE» или «разработка API доступа к БД». Обязанностями ведущих программистов, отвечающих за создание отдельных функций ПО, являются: •ф согласование архитектурных вопросов с коллегами, ответственными за разработку других функций; ф формулирование требований к функциям и их критический анализ; • проектирование функций; ф снабжение тестировщиков и разработчиков документации техническими материалами; • ну и, конечно, программирование, программирование и еще раз программирование. Рядовые программисты Работают над реализацией определенной функции ПО обычно под руководством ведущего программиста, ответственного за эту функцию. Они отвечают за реализацию конкретных аспектов этой функции, например, за «интеграцию в IDE окон X, Y и Z» или «написание для API баз данных методов create, update и delete». В круг их обязанностей ВХОДИТ: ф реализация функции;
ф помощь техническим писателям в документировании реализованной функции; • помощь тестировщикам в испытаниях этой функции Тестировщики Отвечают за составление и исполнение плана тестирования программы, создаваемой в рамках проекта. Чтобы обеспечить истинное партнерство между теми, кто пишет код и теми, кто его тестирует, роли и обязанности группы тестировщиков должны быть «параллельны» обязанностям разработчиков. Традиционно группы тестировщиков и разработчиков функционируют раздельно, обладая независимыми полномочиями в отношении качества ПО, иначе велика вероятность того, что события пойдут по сценарию хорошо известной сказки про лису, которой доверили охранять курятник. С другой стороны, наличие группы тестировщиков со своим менеджером, обладающим равными полномочиями с менеджером проекта, может привести к конфронтации. Со временем группы могут отдалиться друг от друга, и между ними могут возникнуть натянутые отношения, отравляющие любые начинания. 56 57 Часть 1. Люди, организация и методы Глава 3. Организация проекта В NuMega удалось избежать обеих проблем, передав право окончательного решения вопросов о качестве ПО в руки менеджера проекта. Он должен предоставить качественный продукт, и именно с него спросят за любые проблемы с продуктом. Принимая решение о готовности продукта, ему приходится полагаться на результаты испытаний, проведенных группой тестировщиков. Такая структура организации (рис. 3-3) позволяет группе тестировщиков оставаться независимой, так как она является самостоятельным подразделением под руководством своего ведущего специалиста. Однако, будучи подотчетными тому же менеджеру, что и разработчики, они ощущают, что их воспринимают так же, как любых других участников группы, и обращаются с ними соответственно. Подробнее о тестировании будет сказано в главе 6. Менеджер проекта (отвечает за своевременное создание качественного продукта) Рис. 3-3. Связи между группами разрботчиков и тестировщиков. Ведущий тестировщик Отвечает за организацию и исполнение тестирования ПО в период разработки. Он сам должен обладать хорошими навыками тестирования и быть способен возглавить других тестировщиков и направить их усилия в нужное русло. Его обязанности таковы. • Составление плана тестирования продукта План тестирования, регламентирует работы по испытанию программы, т. е. что, как и когда будет протестировано. Ведущий тестировщик также занимается решением дополнительных проблем, обеспечением возникающих потребностей и необходимых ресурсов. Исполнение плана тестирования Ведущий тестировщик отвечает за исполнение плана тестирования на протяжении всего цикла разработки. Он сравнивает результаты тестирования продукта со спецификациями базовых уровней и промежуточных этапов, определенных в графике разработки продукта, а также следит за тем, чтобы тестирование новых функций программы проводилось своевременно. Автоматизация испытаний Управление автоматизацией наиболее критических тестов согласно плану с целью ускорить тестирование. Испытание готовит и проводит группа, но ответственность за проведение испытания лежит на ведущем тестировщике. Проведение регрессивного тестирования Ведущий тестировщик следит, чтобы после каждой сборки программы проводилось ее регрессивное тестирование. Лучше проводить эти тесты (известные также как базовые тесты) ночью, чтобы их результаты были готовы к утру. Ведущий тестировщик отвечает за ежедневный анализ результатов и регистрацию обнаруженных ошибок в системе слежения за ошибками. Выбор инструментов, метрик и стандартов для тестирования Во время реализации проекта ведущий тестировщик отвечает за выбор и использование инструментов, метрик и стандартов для тестирования, т. е. делает то же, что и ведущий разработчик для своей группы. Так, ведущий тестировщик отвечает за целостность данных в системе слежения за ошибками аналогично тому, как ведущий разработчик отвечает за целостность данных в системе управления исходным текстом. 58 59 Часть 1. Люди, организация и методы Глава 3. Организация проекта Инженер по автоматизации В основном занимается созданием автоматизированных тестовых заданий согласно плану. Этот специалист, как правило, обладает большим навыком работы с инструментами для автоматизации тестирования, написания сценариев и часто программирования. Перед инженерами ставится задача по автоматизации тестирования набора функций программы, и они концентрируются на тестировании некоторых частей продукта, работу которых можно описать количественно. Это позволяет им тесно сотрудничать с ведущими специалистами, отвечающими за разработку этих функций. Круг обязанностей инженера по автоматизации более узкий в сравнении с другими участниками группы, так как он должен обеспечить автоматизацию тестирования той или иной функции лишь после завершения программирования. К его обязанностям относятся:
Отвечает за исполнение плана тестирования, составленного ведущим тестировщиком. Обычно тестировщику приходится играть роль пользователя программы, и он должен знать ее функции как свои пять пальцев. Он должен быть посвящен во все секреты конструкции программы и быть способным провести тестирование пользовательского интерфейса для его подгонки и шлифовки. В круг основных обязанностей этого специалиста входит: 4 тестирование программы установки, всех функций и пользовательского интерфейса согласно плану тестирования; • проведение автоматизированных испытаний;
Группа разработчиков пользовательской документации Обеспечивает пользователя справочными материалами: печатной документацией, электронной справочной системой, обучающими программами и карточками быстрой справки. Ведущий разработчик пользовательской документации Отвечает за составление плана создания документации для всего проекта. Опираясь на свое знание продукта и потребностей пользователей и принимая в расчет доступные ресурсы, он составляет план, регламентирующий виды и сроки создаваемой документации. Ведущий разработчик пользовательской документации отвечает за определение стандартов документации (и участвует в их создании) и следит, чтобы в продукте были отражены самые последние изменения в правилах и технологиях написания технической документации. Рядовой разработчик пользовательской документации Помимо написания и производства документации, группа разработчиков пользовательской документации отвечает за удобство в работе и качество ПО. Часто недостатки ПО заметны прежде всего именно техническому писателю, так как, работая с продуктом, ему приходится ставить себя на место пользователя. Приведу пару примеров. • Поскольку разработчик пользовательской документа ции создает руководство, описывающее использование продукта, часто именно он первым обнаруживает несо гласованности, проблемы с функционированием про- 60 61 Часть 1. Люди, организация и методы Глава 3. Организация проекта дукта и недостатки в реализации функций. Нет ничего необычного, когда технический писатель заявляет: «Да, на собрании, посвященному анализу спецификаций, у меня никаких вопросов не возникло. Но теперь, когда я начал писать руководство пользователя, мне ясно, что пользователю придется выполнить целых десять действий, чтобы решить эту задачу, — чепуха какая-то!» Таким образом, он на ранних стадиях цикла разработки выполняет весьма ценную параллельную проверку удобства использования программы и дает отзывы, позволяющие скорректировать недочеты. • Разработчик пользовательской документации должен работать с программой практически ежедневно, чтобы точно задокументировать новые функции и идти в ногу с изменениями, вносимыми в программу. Регулярная работа с продуктом позволяет обнаружить проблемы с качеством на ранних стадиях цикла разработки, когда решать их еще не так трудно. Хотя разработчики документации не могут заменить тестировщиков, они пытаются работать с фрагментами программы, собранными вместе, поэтому они могут обнаружить ряд важных ошибок, которые в противном случае всплывут гораздо лозже. В этом смысле разработчик документации проводит дополнительную проверку качества продукта и часто дает весьма реалистичную оценку его качества. Инженерные психологи Впечатление, которое оставит продукт у пользователя, критически важно для его успеха на рынке. Интерфейс, документация, упаковка — все должно работать на то, чтобы создать у клиента положительное впечатление о продукте. Мы в NuMega всегда были убеждены, что именно первые 20 минут общения с нашим продуктом определяют, примет ли его пользователь и будет ли продолжать с ним работать. Это явление получило название «первоначальное впечатление от работы с продуктом». Если продукт не оставил у пользователя положительного впечатления и не помог ему легко и быстро решить свои проблемы, маловероятно, что этот продукт будет регулярно использоваться или будет по-настоящему ценным для потребителя. Инженерные психологи помогают справиться с этими проблемами. Ведущий специалист по инженерной психологии отвечает за перевод требований к проекту в фундаментальные задачи, которые должен решать пользователь, и далее в модель пользовательского интерфейса. Эти факторы оказались весьма существенными для организации, оптимизации и определения других приоритетных направлений работы команды. Так, тестировщики концентрируют свои усилия на проверке ключевых задач, определенных группой инженерных психологов, а разработчики документации будут следить за тем, чтобы этим задачам было уделено наибольшее внимание в учебниках и руководстве пользователя. Эти задачи, определяющие основную ценность предлагаемого продукта, непременно нужно завершить в срок и выделить для этого достаточно времени. Этот момент имеет решающее значение: все участники группы должны знать, какие задачи наиболее важны для пользователя и как они должны быть реализованы в программе. Если кому-то в группе эти задачи будут неизвестны, вся группа рискует погрязнуть в бессмысленной работе. Приходилось ли вам видеть, как разработчики и тестировщики корпят над явно второстепенной функцией, когда главные функции программы работают плохо или вовсе не работают; или группы, завязшие в бесконечных спорах и конфликтах о пользовательском интерфейсе на завершающих этапах бета-тестирования? Скорее всего в таких группах отсутствует единое понимание приоритетных потребностей клиента, и способ их реализации там никогда заранее не обговаривали. Основные принципы работы сие- 62 63 Часть!. Люди, организация и методы Глава 3. Организация проекта циалистов по инженерной психологии рассматриваются в главе 10. Специалист по инженерной психологии должен: ^ транслировать формулировки требований в ключевые задачи; • разрабатывать дизайн пользовательского интерфей са (макеты диалоговых окон и т. д.) для решения этих задач; + тестировать разработанный дизайн и согласовывать его с командой;
• работать с заказчиком после выпуска ПО. Технологи по разработке ПО Обеспечивают работу базовых служб, необходимых для поддержания работоспособности принятой модели разработки ПО. Эту работу должны выполнять соответствующие специалисты или сами разработчики, даже если для этого придется продлить календарный план: Не впадайте в самообман, думая обойтись без этой работы: выпустить ПО вовремя без нее не получится. Подробнее о работе технологов по разработке ПО см. главу 7. В общем случае у технолога по созданию ПО три основные обязанности. • Создание и сопровождение подходящей среды для сбор ки продукта Сборка программы — необходимый пер вый шаг, который должен быть завершен как можно раньше. Ежедневная сборка программы — ключ к успе ху проекта, без нее невозможно воплотить многие кон цепции, изложенные в этой книге.
Группа менеджмента и маркетинга продукта С точки зрения технических подразделений, эта группа играет две роли: первая — сбор информации, а вторая — ее выдача. В рамках первой роли группа менеджмента и маркетинга продукта определяет приоритетные сегменты рынка, экономические и потребительские требования к продукту. Наличие у разработчиков ясных, сжатых, реальных и обоснованных экономических требований к продукту имеет решающее значение для его успеха. В дополнение к сбору сведений о необходимой функциональности продукта в обязанности этой группы входит формулирование требований к комплектности продукта, установочной программе, лицензированию и документированию. С другой стороны, группа менеджмента и маркетинга помогает техническим подразделения представить продукт за пределами компании. Сюда относится реклама, обучение и оснащение необходимыми средствами специалистов по сбыту, аналитические совещания, пресс-релизы и брифинги, а также новости, публикуемые в Web. 64 65 Часть 1. Люди, организация и методы |
Книга поможет прояснить некоторые важные идеи, содержащиеся в трудах... ... | Ялом И. Когда Ницше плакал/ Пер с англ. М. Будыниной ... | ||
Бернстайн П. Б51 Против богов: Укрощение риска / Пер с англ Б51 Против богов: Укрощение риска / Пер с англ. — М.: Зао «Олимп-Бизнес», 2000. — 400 с.: ил | Рич Р. К. Политология. Методы исследования: Пер с англ. / Предисл. А. К. Соколова Мангейм Дж. Б., Рич Р. К. Политология. Методы исследования: Пер с англ. / Предисл. А. К. Соколова. – М.: Издательство “Весь Мир”,... | ||
Макдональд П. М 15 За все надо платить: Роман / Пер с англ. Н. Мироновой Макдональд П. М 15 За все надо платить: Роман / Пер с англ. Н. Мироновой. — М.: Изд-во Эксмо, 2005. — 416 с. — (Наслаждение) | Самодина Н. И. Эриксон Э. Э 77 Идентичность: юность и кризис: Пер... ... | ||
Вертгеймер М. В 35 Продуктивное мышление: Пер с англ./Общ ред. С.... В 35 Продуктивное мышление: Пер с англ./Общ ред. С. Ф. Горбова и В. П. Зинченко. Вступ ст. В. П. Зинченко. — М.: Прогресс, 1987.... | Роси Ш. Э77 Гипнотические реальности: Наведение клинического гипноза... Эриксон М., Росси Э., Роси Ш. Э77 Гипнотические реальности: Наведение клинического гипноза и формы косвенного внушения/Пер с англ.... | ||
Социально образовательный проект «я и дорога» (воспитание и обучение... ... | «Образовательный комплекс имени Альфреда Нобеля» Руководитель команды разработчиков Ключевые ценности, задающие идею образования в школе в социокультурном сообществе | ||
Ричард Томпсон Неизвестная история человечества/ Пер с англ. В. Филипенко.... Неизвестная история человечества/ Пер с англ. В. Филипенко. — М-: Изд-во «Философская Книга», 1999. — 496 с | Виккерс А. Коучинг/Стив Бавистер, Аманда Виккерс [пер с англ. Издательство Гиппо] Коучинг/Стив Бавистер, Аманда Виккерс [пер с англ. Издательство Гиппо]. М.: Издательство Гиппо, 2010. 256 с | ||
Факультет вмк кафедра иани методология idef0 и программный продукт... Неудивительно, что в последнее время среди системных аналитиков и разработчиков вырос интерес к case (Computer-Aided Software/System... | А. С. Спиваковская Переводчики: £ С 21 Как строить себя и свою семью: Пер с англ.: улучш изд — М,: Педагогика-Пресс, 1992. — 192 с: ил | ||
Документация о закупке путем проведения открытого аукциона в электронной форме Поставка технических решений для создания специализированного программно-технического Комплекса для оснащения лаборатории «Технологий... | Нэреш К. Маркетинговые исследования. Практическое руководство, 3-е издание.: Пер с англ Баскаков Владимир Анатольевич, старший преподаватель кафедры Маркетинга и Рекламы |