ведущие тестировщики;
менеджеры по эргономике;
ведущие специалисты по эргономике;
менеджеры групп технологов по разработке ПО;
ведущие технологи по разработке ПО.
Если вы рядовой член группы, вам тоже следует прочитать эту книгу. В ней описаны роли всех участников команды, а не только менеджеров и ведущих специалистов. Важно, чтобы вся команда работала как единое целое, разделяя одни и те же концепции, единое отношение к разным проблемам, чтобы это были единомышленники и носители одной культуры.
Часть 1. Люди, организация и методы
Прежде чем приступать к планированию проекта или написанию программы, нужно позаботиться об основах. Для эффективной работы необходимо подобрать людей, организовать их и вооружить их приёмами. Без этого все усилия не отстать от графика будут безуспешны, и при возрастании темпа работы и давления сроков проект просто развалится на части. Первая часть посвящена фундаментальным потребностям любого проекта, исполняемого быстрыми темпами, включая:
кадры как найти и удержать нужных специалистов;
организацию какова роль и обязанности каждого участника группы;
инструментарии ключевые инструменты для разработки и способы их использования;
тестирование как вести тестирование параллельно с разработкой;
технологию разработки как поддерживать целостность программы и обеспечивать её пригодность к использованию на протяжении цикла разработки.
Часть 2. Формулирование и планирование проекта
Если вы всерьёз намерены выпустить программу в срок, то прежде, чем приступать к её созданию, нужно понять, что и как должно быть создано. Даже самым талантливым людям требуется иметь представление о планируемых результатах проекта, намеченных для использования технологиях и конечном облике продукта. В связи с этим нужно:
сформулировать основные требования к проекту:
определить технологии, которые лягут в основу проекта:
создать модель использования проекта.
Решив эти задачи, можно составить график, в котором задачи проекта приведены в равновесие с доступными кадрами и уровнем их способностей. В определённой степени можно быть уверенным,
что при таком подходе будет создан реалистичный график создания именно такой программы, какая нужна.
Все четыре предмета требования, технологии, использование и график работ тесно связаны, поэтому если ваша цель успешный проект, их нельзя рассматривать в отрыве друг от друга. Без них придётся полагаться только на догадки, допущения и игнорировать ключевые элементы проекта, внося неприемлемый риск, часто ведущий к возникновению проблем и срывам графика. Помните: почти все самые большие ошибки делаются в первые несколько недель работы над проектом, при планировании.
Часть 3. Исполнение проекта
Планирование закончено всё готово для создания продукта. При наличии толковых людей, верных технологических приёмов и хорошего плана, шансы уложиться в срок весьма велики. Однако необходимо следить за тем, чтобы и на завершающих стадиях проекта всё шло должным образом.
В третьей части я рассказываю о моделях исполнения проекта, управляющих повседневными работами по разработке продукта. Мы рассмотрим:
исполнение как не дать проекту сбиться с курса, обнаруживая и решая проблемы как можно раньше;
бета-тёсmирование как с помощью бета-тестирования получать из внешнего мира отзывы о программе и расширить возможности тестирования;
работа с кандидатами на выпуск как управлять заключительными этапами проекта и обеспечить готовность продукта;
закрытие проекта что это такое, зачем оно нужно и как его провести.
Кроме того, по ходу изложения есть врезки под заголовком «Из собственного опыта» , иллюстрирующие применение некоторых принципов и концепций в компании NuMega. Эти врезки позволили мне кое-что прокомментировать, рассказать несколько интересных, а порой анекдотичных историй, благодаря которым разработка ПО является таким весёлым занятием.
Часть 1 Люди, организация и методы
Глава 1 Замечательные люди и как их найти
оченьТак-то оно так, но в команды разработчиков часто попадают не совсем те. Трудности с поиском кандидатов и неспособность распознать талант могут усугубляться жёсткими требованиями к срокам поставки продукта, хотя их принимают в расчёт из лучших побуждений. Если вам не по силам решить эти проблемы, то в лучшем случае вы наберёте команду посредственную, в худшем несостоятельную. И не надейтесь, что таланты сами придут к вам: как бы там ни было, так будет далеко не всегда. Напротив, нужно иметь жёсткое, закреплённое на уровне организации правило находить и удерживать наиболее квалифицированных специалистов. Это правило должно распространяться на три ключевых направления деятельности: поиск, собеседование и удерживание кандидатов.
В этой и следующей главе мы обсудим лучшие методики поиска, отбора и удерживания талантливых людей. Я также расскажу о том, почему эта деятельность,
как и сама разработка ПО, требует планирования, дисциплины и контроля исполнения.
Определение «замечательных»
Я говорю не просто о компетентности, а о мастерстве. Кандидат должен в совершенстве (ну, почти) владеть предметом, относящимся к потребностям проекта. Он должен быть способен «с лёту» рассказать о своей теме и в любой момент продемонстрировать глубокое понимание того, что и как было сделано. Разработчик, например, должен доказать, что его технические познания соответствуют предлагаемой ему должности. Вот некоторые возможные темы: