Чтение онлайн

ЖАНРЫ

Время — деньги. Создание команды разработчиков программного обеспечения
Шрифт:

Общие проблемы и решения

Далее обсуждается ряд типичных проблем и вопросов, возникающих при использовании описываемых здесь методик, а также их решения.

Вы уверены, что завершили эту работу?

Вас никогда не спрашивали на контрольном собрании: «Вы уже закончили работу над Х?» На самом деле это очень расплывчатый вопрос, однозначный ответ на который дать очень трудно. Означает ли это, что код написан и его можно скомпилировать? Или реализованная функция нормально работала пару раз, когда вы пытались использовать её? А, может быть, выполнено блочное тестирование программы на всех поддерживаемых платформах и конфигурациях? А что это означает

для тестировщиков из соседнего отдела? Обязательно заведите для себя определение «законченной» работы, и ознакомьте с ним всех, иначе вы запросто обнаружите людей, в поте лица работающих над тем, что вы «закончили» несколько недель назад.

Борьба с нехваткой оборудования

Один из главных грехов фазы исполнения проекта — задержка работы из-за «нехватки оборудования». Если разработчику понадобится более ёмкий жёсткий диск, техническому писателю — новая мышь, а тестировщику — программа для мониторинга, следует доставить их немедленно. Никакие мелочи и пустяки не должны задерживать работу над проектами или снижать эффективность команды. Менеджер проекта должен неусыпно заботиться о личных нуждах, проблемах и потребностях каждого члена группы.

Из собственного опыта

В преддверии выпуска последней бета-версии одного из продуктов NuMega нам приходилось работать все ночи и выходные напролёт. К сожалению, нельзя сказать, что наш сервер был с нами солидарен: в течение дня он постоянно зависал без видимых причин, останавливая при этом всю сеть. В результате мы не могли проводить сдачу разработанных фрагментов ПО и делать контрольные сборки, что просто убивало нашу производительность.

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

Наконец мы поумнели настолько, что просто купили новый сервер. Если бы мы догадались поменять его в первые два дня, то смогли бы сэкономить три недели работы, времени и усилий.

Навёрстывайте упущенное

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

Миритесь с недостатками своих сотрудников

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

Глава 13

Бета-тестирование

Бета-тестирование — это процесс проверки ПО внешними

силами. В начале программы бета-тестирования новое ПО рассылается реальным или потенциальным заказчикам (бета-тестерам) для изучения, оценки и предоставления отзыва о его работе. Задача — получить от бета-тестеров объективную оценку возможностей и качества ПО.

Бета-тестирование позволяет получить ценные сведения о готовности ПО, прежде чем оно попадает к заказчикам. Программы бета-тестирования являются решающим фактором успеха в начале развития компаний, когда объём ресурсов, выделенных под проекты, ограничен. Бета-тестирование, как никакой другой способ, позволяет эффективно организовать тестирование программы. Оно не только расширяет возможности группы разработчиков в сфере контроля качества, но и обеспечивает поступление из внешнего мира объективных и достоверных отзывов о возможностях вашего ПО.

С другой стороны, плохо проведённое бета-тестирование означает, что не только разработчики, но и бета-тестеры лишь зря потратили на него своё время. В этой главе мы обсудим ключевые аспекты проведения хорошей программы бета-тестирования и способы улучшения программных продуктов с помощью бета-тестирования.

Ценность бета-тестирования

Прежде чем говорить о способах проведения хорошего бета-тестирования, обсудим, в чём вообще его польза. Не понимая ценности бета-тестирования или не веря в её существование, вы никогда не выделите достаточно времени и средств, чтобы провести его на должном уровне. Вот самые значительные аспекты пользы от бета-тестирования:

Проверка ПО в условиях реального мира

Независимо от того, насколько хорошо проведено внутреннее тестирование, воспроизвести в полном объёме все испытания, проводимые многочисленными бета-тестерами, было бы чрезвычайно сложно (если такая задача вообще выполнима). Если вы не ошиблись с подбором бета-тестеров, они помогут проверить работу новой программы на широком спектре вычислительных платформ и в самых разных ситуациях, все разнообразие которых вы скорее всего никогда не смогли бы охватить. Поскольку бета-тестирование выполняется реальными пользователями в реальных условиях, они часто обнаруживают такие ошибки, которые никогда бы не были найдены без их помощи.

Хорошие бета-тестеры позволяют проверить готовность ПО к использованию прежде, чем оно будет отправлено заказчику. Эта информация сама по себе уже стоит усилий, затраченных на проведение бета-тестирования;

Оценка работы ПО

Второй аспект пользы бета-тестирования — это получение отзывов о качестве функций, о производительности и о качестве пользовательского интерфейса ПО. Поскольку бета-тестеры работают с программой в самых разных условиях, они лучше всего смогут обеспечить вас информацией о пользовательских потребностях, симпатиях и антипатиях. Кроме того, они подскажут вам массу новых идей. Хотя на данном этапе вносить существенные изменения в программу не желательно, эти идеи послужат превосходной отправной точкой для работы над следующим выпуском;

Помощь в маркетинге

Бета-тестирование позволяет сделать программу более заметной на рынке и повысить доверие к ней, что будет вовсе не лишним для маркетинговой политики нового продукта. Бета-тестеры, получившие положительное впечатление от работы с новой программой, — отличный источник материалов для пресс-релизов и рекламных каталогов. Они также пропагандируют вашу программу в данной отрасли, поскольку склонны обсуждать, рекомендовать и высказываться за использование программы как в своих фирмах, так и публично. Бета-тестеры также распространяют слухи о новой программе, что особенно ценно для её презентации и при выходе на рынок.

Поделиться с друзьями: