Пробные занятия. Бесплатно!
Приглашаем всех желающих посетить бесплатные пробные занятия по курсам МВА и профессиональной подготовки. Занятия проходят в реальных группах, никаких постановочных занятий. Ознакомиться с расписанием пробных занятий, выбрать заинтересовавшее и зарегистрироваться на него можно здесь


Управление разработкой программного обеспечения

Алексей Алексеевич Пичугин
Выпускник группы MBA CIO-68
Школы IT-менеджмента Института ЭМИТ
РАНХиГС при Президенте РФ

В современном мире существует большое количество программного обеспечения. Некоторые из существующих программных продуктов имею большую популярность и распространенность, некоторое программное обеспечение является узкоспециализированным программным обеспечение и известно только профильным специалистам. Какая-то часть компаний, способная функционировать, используя уже существующее программное обеспечение, другие же не могут подобрать для себя необходимо программное обеспечение в силу таких причин как: высокая стоимость программного обеспечения, недоступность в силу геополитических рисков, существующее программное обеспечение не полностью покрывает существующие бизнес-процессы в компании и т.д. Поэтому, в силу перечисленных выше причин, компании вынуждены автоматизировать существующие бизнес-процессы самостоятельно, самостоятельно разрабатывая программное обеспечение. Самостоятельная разработка позволяет компаниям создавать именно то программное обеспечение, именно с тем набором функциональных требований какие требуются компании.
Доступность и необходимость в разработке программного обеспечения имеют не только крупные компании. С развитием глобальной сети Интернет, с наличием большого количества подготовленных специалистов, возможность самостоятельно разрабатывать программное обеспечение доступна для всех - от крупных, транснациональных корпораций с капитализацией в миллиарды долларов до небольших компаний, которым требуется разработать программное обеспечение связующие отдельные части существующего IT ландшафта. Отдельно можно отметить любопытный факт, крупные корпорации, разработав специализированное программное обеспечения, впоследствии передают права на него в специализированные некоммерческие фонды, которые в свою очередь, всячески продвигают его использование в ИТ индустрии.
Условно можно разделить компании на две большие группы, исходя из того положения, в котором находятся программисты и разработка программного обеспечения. Первая группа — это компании, основная деятельность которой не связана напрямую с разработкой программного обеспечения. В таких компаниях нужна автоматизация существующих бизнес-процессов, доработка существующего программного обеспечения под существующие бизнес-процессы. Разработка программного обеспечения под свои собственные нужды позволит компании более эффективно обслужить своих клиентов, повысив тем самым конкурентное преимущество.
Другая группа – это те компании, к которых весь бизнес построен вокруг разработки программного обеспечения, как заказной разработки (outsourcing), так и продуктовой разработки.
Особенный интерес представляют собой компании, находящиеся в стадии жизненного роста («Давай-давай»), «Юность» и «Расцвет» [1], поскольку отсутствие или несовершенство выстроенных процессов разработки программного обеспечения предоставляет широкое поле для деятельности руководителя разработки программного обеспечения и применения им своих навыков.
Проблемы эффективной организации разработки программного обеспечения особенно актуальна в настоящее время и в перспективе в связи с политикой недружественных Российской Федерации государств, когда многие зарубежные программные решения и платформы перестают поставляться и поддерживаться. Эффективная организация разработки программного обеспечения является одним из ключевых факторов не только конкурентоспособности отдельной организации, но и устойчивого развития промышленности и бизнеса в целом в стране.
Процесс разработки программного обеспечения состоит из множества взаимосвязанных этапов. Количество этапов ограниченно, однако их последовательность и продолжительность может быть различной и зависит от модели разработки программного обеспечения. В первой главе дан обзор жизненного цикла разработки программного обеспечения с моделями и методологиями разработки программного обеспечения, с которыми пришлось напрямую работать. Подробно рассмотрены плюсы и минусы каждой модели и методологи. Другим, не менее важным аспектом является управление требованиями программного обеспечения, именно набор требований определяет как в итоге будет выглядеть программное обеспечение. Именно требования определяют как используемые при разработке модели, так и применяемые технологии. Выбор соответствующего метода, методологии и подходов разработки программного обеспечения исходя из моей практики показали достаточную эффективность и гибкость применительно к средним и малым предприятиям. Также, выбор подходов к разработке программного обеспечения зависит от уровня зрелости CMM (Capability Maturity Model) компании.
Вторая глава, посвящена формированию команд разработчиков, начиная от
формирования команд разработчиков до анализа распределенных команд разработки и
моделей аутсорсинга и аутстаффиинга. Значительное внимание уделено распределению
ролей в команде, мотивации и удержанию сотрудников. Процесс формирования команды и эффективного управления коллективом ИТ-специалистов, требует от лидера управленческой компетенции. Совершенно недостаточно подобрать квалифицированных специалистов, необходимо сделать так, чтобы люди смогли сообща работать в команде и достигать поставленных перед ними целей. Тем не менее, именно квалифицированный персонал является главным активом компании по разработке программного обеспечения. Профессионализм ИТ-специалистов напрямую влияет на качество программного продукта и имидж компании.
В третье главе, обсуждается, исследования, выбор технологии, прототипирование,
инструментальные средства разработки программного обеспечения и немаловажный
вопрос - контроля качества, разрабатываемого программного обеспечения. Управление
качеством это процесс, направленный на разработку качества программного обеспечения и управление этим процессом таким способом, чтобы гарантировать соответствие продукта стандартам качества, ожидаемые заказчиком.
В четвертой части, рассматриваются вопросы управления проектом разработки
программного обеспечения, фазы жизненного цикла управления проектом.
Описанные в дипломной работе методы, подходы, методологии и практики, исходя из
моего практического опыта показали достаточную эффективность и гибкость
применительно к средним и малым предприятиям.
Рассмотренные в данной дипломной работе модели, методологии, управление проектом
разработки программного обеспечения, включая такие шаги как: формирование команд
разработки, мотивация и удержание сотрудников, выбор инструментальных средств
разработки, управление требованиями, рисками и т.д. отлично зарекомендовали себя в
повседневной работе и позволили эффективно руководить разработкой программного
обеспечения.

_____________________________________________________________________________________________________________________________
1. Ицхак Калдерон Адизес «Управление жизненным циклом корпораций» Издательство «Манн, иванов и Фербер», Москва 2014

Школа IT-менеджмента Экономического факультета АНХ, 119571, Россия, г. Москва, проспект Вернадского, д. 82 корп. 2, офис 207, тел.: +7 (495) 933-96-00, Copyright @ 2008-2009