Время — деньги. Создание команды разработчиков программного обеспечения
Шрифт:
• Команду разработчиков BoundsChecker 3.0, 4.0 и 5.0. Большая часгь материала этой книги взята из их достижений. Ребята, вы — лучшая команда разработчиков из известных мне. И перестаньте, наконец, скандировать моё имя!
• Боба О'Брайена, менеджера NuMega по связям с общественностью, и Клайда Хакима, менеджера по экономическим связям. Вы постоянно привлекали внимание к нашей работе, благодаря вашим усилиям мы выглядели намного лучше, чем мы есть на самом деле. Ваш вклад вместе с остальными участниками группы маркетинга заслуживает такую же благодарность, как и вклад остальных.
• Моих родителей, Эда и Лору Салливан, научивших меня жизни и всему, что в ней важно.
• Мою жену Джейн, сына Мэтью и дочь Xaнну, позволивших
Ну наконец-то все!
Введение
Я пришёл в NuMega Technologies летом 1994 года. Работая над BoundsChecker, продуктом для обнаружения ошибок в программах для Windows, я совмещал должности руководителя разработки и менеджера по маркетингу продукта. Тогда в NuMega было всего лишь 14 сотрудников: кроме двух основателей компании — три программиста, руководитель административной службы, четверо специалистов по сбыту, один администратор в офисе, один посыльный, три специалиста по технической поддержке и менеджер по маркетингу. Мы были небольшой компанией, по всем статьям подходящей под определение начинающей. Каждому приходилось совмещать несколько должностей и выполнять массу обязанностей. Однако, несмотря на небольшие размеры NuMega, у нас были большие планы и надежды. Мы твёрдо намеревались создавать замечательные программы и хотели собрать элитную группу специалистов, способную создавать лучшие в мире инструменты для разработки ПО.
Спустя несколько лет, благодаря заботам основателей и усилиям первоклассной группы менеджеров, компания выросла: теперь в ней больше 150 сотрудников. Вместе с компанией рос и я, дойдя до поста начальника отдела разработки. В первые четыре года мы создали шесть основных выпусков наших приоритетных продуктов, BoundsChecker и SoftICE, приобрели два новых продукта и ещё четыре создали для внутреннего применения. Почти все эти продукты были выпущены в расчётный срок. Объём прибылей быстро рос, и компания стала очень рентабельной. Наши продукты хорошо принимали, и они смогли завоевать ряд отраслевых наград:
• Приз «Лучший компонент или утилита для обеспечения качества ПО», присуждаемый Vbxtra за DevPartner® for Visual Basic.
• Приз «На гребне волны», присуждаемый Рrogammer’s Paradise, в номинации «Самый продаваемый инструмент для тестирования и отладки» за BoundsChecker VC++ Edition.
• Приз «Выбор читателя» журнала VBPJ за CodeReview™ 6.1.
• Приз «Выбор читателя» за FailSafe™ 5.21 журнала VBPJ.
• Журнал Software Developmem Magazine присудил DevPartner Studio приз Jolt Cola «За отличное качество продукта».
• DevPartner Studio заслужил 5 звёздочек в рейтинге Software Development.
• Java Developer's Journal присудил приз «JDJ World Class Award» программе DevPartner for Java™.
• SmartCheck 6.01 получил приз «Выбор читателя» журнала VBPJ.
• CodeReview 6.1 получил приз «Выбор читателя», присуждаемый журналом VBPJ.
• DevPartner 6.1 for Visual Basic получает приз «Выбор читателя» журнала VBPJ.
• Приз «Выбор читателя» присуждается журналом VBPJ программе TrueTime®
• DevPartner for Visual Basic получает от Vbxtras приз «Thunderbolt».
• SmartCheck и TrueTime объявлены «Выбором редакции» журнала Visual Basic Programmer's Journal.
• SmartCheck и TrueTime получают приз «Выбор читателя» журнала Visual Basic Programmer's Journal.
• DevPartner for Visual Basic получает от SoftwareDevelopment приз Jolt Cola «За производительность».
• BoundsChecker
становится первым экспонатом в зале славы «Jolt Hall of Fame». Программа у всех на устах, как завоевавшая многочисленные награды за высокую производительность.• TrueTime Visual Basic Edition завоевала на выставке Comdex приз «Best of Show» журнала BYTE.
• Еженедельник PC Week присуждает приз «Выбор аналитика» программе SmartCheck
• BoundsChecker второй год подряд получает от журнала Visual Basic Programmer’s Journal приз «Выбор читателя».
• Журнал Windows Tech Journal присуждает приз «Star Tech» программе CodeReview™ как одному из наиболее значительных инструментов для разработки ПО.
• BoundsChecker получает приз журнала PC Magazine «Выбор редакции», опередив конкурентов по многим параметрам.
• BoundsChecker для Windows NT получает приз «За лучший и наиболее технически совершенный инструмент для разработки» от журнала PC Magazine.
• BoundsChecker получает приз Jolt Cola «За высокую производительность и отличное качество» на конференции Software Development West'96.
• BoundsChecker становится обладателем приза «Выбор читателя» журнала Visual Basic Programmer’s Journal.
• Windows Tech Journal присуждает свой приз «Star Tech» программе BoundsChecker, как одному из наиболее значительных инструментов для разработки ПО 1995 года.
• BoundsChecker для Windows NT получает приз Jolt Cola «За отличное качество продукта» на конференции Software Development West'95.
• BoundsChecker для Windows получает приз Jolt Cola «За отличное качество продукта» на конференции Software Development West'95.
Неплохой список, да? Однако нам пришлось столкнуться с теми же проблемами, с которыми сталкивается любая группа разработчиков ПО. Конфликтующие задачи, напряжённый график, нехватка ресурсов и сил, плохо налаженный обмен информацией — лишь несколько пунктов из длинного списка проблем. Но нужно было своевременно выпускать качественные программы — в противном случае нас бы просто вытеснили из бизнеса.
Самое большое препятствие — неэффективное управление группами разработчиков и проектами. Сейчас это самая распространённая проблема в индустрии программных средств. Она особенно актуальна для начинающих компаний — они сталкиваются с ней ежедневно. И решать её надо, иначе — банкротство. Способность справиться с этой проблемой — один из важнейших факторов успеха NuMega Technologies.
Цель этой книги — поделиться с вами принципами. приёмами и методиками разработки коммерческого ПО в растущей среде начинающей компании, найденными в результате нелёгкого труда. В книге будут раскрыты самые важные и фундаментальные принципы, позволяющие выпускать качественные программы. Я не буду отвлекаться на праздные дискуссии или перечислять сотни возможных способов решения той или иной проблемы, а расскажу лишь о подходах, которые были с успехом использованы для разработки коммерческого ПО в начинающей компании. Я также расскажу об опыте моей работы в NuMega: как мы воспитывали своих специалистов и создавали наши продукты, находясь в начале пути.
Думаю, что среда начинающей компании практически тождественна небольшим и средним проектам (в которых занято до 30 человек). Мала или велика ваша организация, занимается она Интернет-услугами или информационными технологиями, являетесь вы гуру Ассемблера или Web-программистом, — нужно выпускать качественные программы и делать это вовремя. Вы постоянно находитесь под давлением этой необходимости, вам приходится иметь дело с идентичными проблемами, и вы тоже стремитесь к успеху. В конце концов, когда последний раз ваша группа смогла избежать конфликта задач, накладок с графиком, нехватки ресурсов и других «радостей» типичного цикла разработки ПО?