Jump to content

Компания-разработчик программного обеспечения

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

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

Существует несколько типов компаний-разработчиков программного обеспечения:

Общие роли в компании-разработчике программного обеспечения

[ редактировать ]

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

Профессиональная компания-разработчик программного обеспечения обычно состоит как минимум из трех специализированных подгрупп:

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

Структура

[ редактировать ]

Менеджера компании-разработчика программного обеспечения обычно называют руководителем отдела разработки (HOD). [2] и отчитывается перед заинтересованными сторонами . Он или она руководит подгруппами напрямую или через менеджеров/лидеров в зависимости от размера организации . Обычно наиболее оперативными являются команды численностью до 10 человек. В более крупных организациях обычно существуют две модели иерархии:

Типичная структура компании-разработчика программного обеспечения

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

Матричная структура

В этой модели есть выделенные менеджеры/лидеры для каждой основной специализации, «арендирующие» своих людей для конкретных проектов под руководством менеджеров продуктов/проектов, которые формально или неформально покупают людей и платят за их время. Это приводит к тому, что у каждого частного сотрудника есть два начальника – менеджер по продукту/проекту и специализированный «ресурсный» менеджер. С одной стороны, это оптимизирует использование человеческих ресурсов, с другой стороны, это может привести к конфликтам, в отношении которых один менеджер имеет приоритет в структуре.

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

Методологии

[ редактировать ]

Компании-разработчики программного обеспечения могут использовать ряд различных методологий для создания кода. Они могут включать в себя:

Существуют также некоторые методологии, сочетающие в себе оба метода, например модель спиральная Rational Unified Process (RUP). [7] или MSF . [8]

Жизненный цикл продукта

[ редактировать ]

Независимо от используемой методологии жизненный цикл продукта всегда состоит как минимум из трех стадий:

  • Дизайн – включая как деловую, так и техническую спецификацию
  • Кодирование – сама разработка
  • Тестирование – управление качеством

Каждый этап в идеале занимает 30% общего времени, остальные 10% остаются в запасе.

взаимодействия UML- диаграмма между этими группами может выглядеть так:

Общее взаимодействие между четырьмя основными группами

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

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

Системы и процедуры

[ редактировать ]

Компании-разработчики программного обеспечения обладают различными системами и процедурами, внедренными и работающими внутри всех подгрупп. К ним относятся:

Бизнес-аналитики

[ редактировать ]

Программисты

[ редактировать ]

Менеджеры проектов/продуктов

[ редактировать ]

Существуют также средства управления жизненным циклом приложений (ALM), которые объединяют некоторые из этих функций в один пакет и используются в группах. Они поставляются различными поставщиками, такими как Borland , ECM или Compuware .

Аудит эффективности

[ редактировать ]

Хорошо зарекомендовавшие себя компании-разработчики программного обеспечения обычно имеют какой-то способ измерения собственной эффективности. Обычно это делается путем определения набора ключевых показателей эффективности (KPI), таких как

  • Среднее количество ошибок, допущенных разработчиком за единицу времени или исходных строк кода.
  • Количество ошибок, обнаруженных тестировщиком за цикл тестирования.
  • Среднее количество циклов тестирования до момента отсутствия ошибок (ZBB)
  • Среднее время испытательного цикла
  • Расчетное время выполнения задачи по сравнению с реальным временем выполнения задачи (точность планирования)
  • Количество корректировок базовой линии
Пирамида, показывающая риск, время и финансовые затраты на внедрение изменений.

Ряд организаций ориентированы на достижение оптимального уровня модели зрелости возможностей (CMM), где «оптимальный» не обязательно означает самый высокий. Существуют также другие системы, такие как Карнеги-Меллона Университета SEMA или отдельные стандарты ISO . Небольшие компании-разработчики программного обеспечения часто используют упрощенные подходы к своим процессам, формализованным или нет. Каждая организация вырабатывает свой собственный стиль, который находится где-то между тотальной технократией (где все определяется цифрами) и тотальной анархией (где цифр вообще нет). Какой бы путь ни избрала организация, она считает пирамиду, описывающую стоимость и риск внесения изменений в уже начавшиеся процессы разработки, истинной моделью управления изменениями.

См. также

[ редактировать ]
  1. ^ «Что такое компания-разработчик программного обеспечения сегодня?» . РедМонк. 2014 . Проверено 2 июня 2017 г.
  2. ^ Greenlit: Разработка идей фактического/реалити-шоу от концепции до презентации, стр. 12
  3. ^ Управление успешными проектами с PRINCE2.
  4. ^ Руководство пользователя к руководству PMBOK.
  5. ^ Планирование экстремального программирования
  6. ^ Гибкое управление проектами с помощью Scrum
  7. ^ Рациональный унифицированный процесс стал проще: руководство для практикующего специалиста по RUP.
  8. ^ Microsoft Solutions Framework (MSF): Карманное руководство
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: f1636b682882aa2e256fd0f27d2ed3f2__1721027520
URL1:https://arc.ask3.ru/arc/aa/f1/f2/f1636b682882aa2e256fd0f27d2ed3f2.html
Заголовок, (Title) документа по адресу, URL1:
Software company - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)