Салливан Э. С16 Время деньги. Создание команды разработчиков программно­го обеспечения/Пер, с англ





НазваниеСалливан Э. С16 Время деньги. Создание команды разработчиков программно­го обеспечения/Пер, с англ
страница7/33
Дата публикации24.08.2014
Размер3.84 Mb.
ТипКнига
100-bal.ru > Литература > Книга
1   2   3   4   5   6   7   8   9   10   ...   33
Глава 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.

В общем случае у технолога по созданию ПО три основ­ные обязанности.

Создание и сопровождение подходящей среды для сбор­
ки продукта Сборка программы — необходимый пер­
вый шаг, который должен быть завершен как можно
раньше. Ежедневная сборка программы — ключ к успе­
ху проекта, без нее невозможно воплотить многие кон­
цепции, изложенные в этой книге.


  • Создание и сопровождение процедуры установки Что­
    бы извлечь все выгоды частой сборки программы, нуж­
    но, чтобы каждая новая сборка устанавливалась автома­
    тически. Кроме того, установочную процедуру требует­
    ся сопровождать и обновлять по ходу цикла разработки,
    а также следить, чтобы для выполнения этой задачи
    было выделено достаточно ресурсов.

  • Сопровождение и администрирование систем управле­
    ния исходным текстом Важно, чтобы за сопровожде­
    ние системы управления исходным текстом постоянно
    отвечал один и то же специалист. Об инструментах для
    управления исходным текстом см. главу 4.

Группа менеджмента и маркетинга продукта

С точки зрения технических подразделений, эта группа иг­рает две роли: первая — сбор информации, а вторая — ее выдача.

В рамках первой роли группа менеджмента и маркетин­га продукта определяет приоритетные сегменты рынка, экономические и потребительские требования к продукту. Наличие у разработчиков ясных, сжатых, реальных и обо­снованных экономических требований к продукту имеет решающее значение для его успеха. В дополнение к сбору сведений о необходимой функциональности продукта в обязанности этой группы входит формулирование требо­ваний к комплектности продукта, установочной програм­ме, лицензированию и документированию.

С другой стороны, группа менеджмента и маркетинга помогает техническим подразделения представить продукт за пределами компании. Сюда относится реклама, обучение и оснащение необходимыми средствами специалистов по сбыту, аналитические совещания, пресс-релизы и брифин­ги, а также новости, публикуемые в Web.


64

65

Часть 1. Люди, организация и методы

1   2   3   4   5   6   7   8   9   10   ...   33

Похожие:

Салливан Э. С16 Время деньги. Создание команды разработчиков программно­го обеспечения/Пер, с англ iconКнига поможет прояснить некоторые важные идеи, содержащиеся в трудах...
...
Салливан Э. С16 Время деньги. Создание команды разработчиков программно­го обеспечения/Пер, с англ iconЯлом И. Когда Ницше плакал/ Пер с англ. М. Будыниной
...
Салливан Э. С16 Время деньги. Создание команды разработчиков программно­го обеспечения/Пер, с англ iconБернстайн П. Б51 Против богов: Укрощение риска / Пер с англ
Б51 Против богов: Укрощение риска / Пер с англ. — М.: Зао «Олимп-Бизнес», 2000. — 400 с.: ил
Салливан Э. С16 Время деньги. Создание команды разработчиков программно­го обеспечения/Пер, с англ iconРич Р. К. Политология. Методы исследования: Пер с англ. / Предисл. А. К. Соколова
Мангейм Дж. Б., Рич Р. К. Политология. Методы исследования: Пер с англ. / Предисл. А. К. Соколова. – М.: Издательство “Весь Мир”,...
Салливан Э. С16 Время деньги. Создание команды разработчиков программно­го обеспечения/Пер, с англ iconМакдональд П. М 15 За все надо платить: Роман / Пер с англ. Н. Мироновой
Макдональд П. М 15 За все надо платить: Роман / Пер с англ. Н. Мироновой. — М.: Изд-во Эксмо, 2005. — 416 с. — (Наслаждение)
Салливан Э. С16 Время деньги. Создание команды разработчиков программно­го обеспечения/Пер, с англ iconСамодина Н. И. Эриксон Э. Э 77 Идентичность: юность и кризис: Пер...
...
Салливан Э. С16 Время деньги. Создание команды разработчиков программно­го обеспечения/Пер, с англ iconВертгеймер М. В 35 Продуктивное мышление: Пер с англ./Общ ред. С....
В 35 Продуктивное мышление: Пер с англ./Общ ред. С. Ф. Горбова и В. П. Зинченко. Вступ ст. В. П. Зин­ченко. — М.: Прогресс, 1987....
Салливан Э. С16 Время деньги. Создание команды разработчиков программно­го обеспечения/Пер, с англ iconРоси Ш. Э77 Гипнотические реальности: Наведение клинического гипноза...
Эриксон М., Росси Э., Роси Ш. Э77 Гипнотические реальности: Наведение клинического гипноза и формы косвенного внушения/Пер с англ....
Салливан Э. С16 Время деньги. Создание команды разработчиков программно­го обеспечения/Пер, с англ iconСоциально образовательный проект «я и дорога» (воспитание и обучение...
...
Салливан Э. С16 Время деньги. Создание команды разработчиков программно­го обеспечения/Пер, с англ icon«Образовательный комплекс имени Альфреда Нобеля» Руководитель команды разработчиков
Ключевые ценности, задающие идею образования в школе в социокультурном сообществе
Салливан Э. С16 Время деньги. Создание команды разработчиков программно­го обеспечения/Пер, с англ iconРичард Томпсон Неизвестная история человечества/ Пер с англ. В. Филипенко....
Неизвестная история человечества/ Пер с англ. В. Филипенко. — М-: Изд-во «Философская Книга», 1999. — 496 с
Салливан Э. С16 Время деньги. Создание команды разработчиков программно­го обеспечения/Пер, с англ iconВиккерс А. Коучинг/Стив Бавистер, Аманда Виккерс [пер с англ. Издательство Гиппо]
Коучинг/Стив Бавистер, Аманда Виккерс [пер с англ. Издательство Гиппо]. М.: Издательство Гиппо, 2010. 256 с
Салливан Э. С16 Время деньги. Создание команды разработчиков программно­го обеспечения/Пер, с англ iconФакультет вмк кафедра иани методология idef0 и программный продукт...
Неудивительно, что в последнее время среди системных аналитиков и разработчиков вырос интерес к case (Computer-Aided Software/System...
Салливан Э. С16 Время деньги. Создание команды разработчиков программно­го обеспечения/Пер, с англ iconА. С. Спиваковская Переводчики: £
С 21 Как строить себя и свою семью: Пер с англ.: улучш изд — М,: Педагогика-Пресс, 1992. — 192 с: ил
Салливан Э. С16 Время деньги. Создание команды разработчиков программно­го обеспечения/Пер, с англ iconДокументация о закупке путем проведения открытого аукциона в электронной форме
Поставка технических решений для создания специализированного программно-технического Комплекса для оснащения лаборатории «Технологий...
Салливан Э. С16 Время деньги. Создание команды разработчиков программно­го обеспечения/Пер, с англ iconНэреш К. Маркетинговые исследования. Практическое руководство, 3-е издание.: Пер с англ
Баскаков Владимир Анатольевич, старший преподаватель кафедры Маркетинга и Рекламы


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск