Персональный программный процесс

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

Персональный программный процесс (PSP ) представляет собой структурированное программное обеспечение разработка процесс, призванный помочь программистам лучше понять и улучшить свою работу, привнеся дисциплинированный подход в разработку программного обеспечения и отслеживая прогнозируемую и фактическую разработку кода. Он ясно показывает разработчикам, как управлять качеством своих продуктов, как составлять продуманный план и как брать на себя обязательства. Он также предлагает им данные, чтобы оправдать их планы. Они могут оценить свою работу и предложить направление улучшения путем анализа и анализа данных о времени разработки, дефектах и ​​размерах. PSP была создана Уоттсом Хамфри для применения основных принципов Software Engineering Institute (SEI) Модель зрелости возможностей (CMM) при разработке программного обеспечения. практики одного разработчика. Он утверждает, что дает инженерам-программистам навыки, необходимые для работы в команде групповых программных процессов (TSP).

«Персональный программный процесс» и «PSP » являются зарегистрированными знаками обслуживания Университета Карнеги-Меллона.

Содержание
  • 1 Цели
  • 2 Структура PSP
  • 3 Важность данных
  • 4 Планирование и отслеживание
  • 5 Использование PSP
    • 5.1 PSP и TSP
    • 5.2 PSP и других методологий
    • 5.3 Качество
  • 6 Сертификация
  • 7 См. Также
  • 8 Ссылки
  • 9 Дополнительная литература
  • 10 Внешние ссылки
Цели

Цель PSP - предоставить инженерам-программистам дисциплинированные методы для улучшения разработки личного программного обеспечения процессы. PSP помогает программистам:

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

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

Процесс

Входными данными PSP являются требования; Документ с требованиями заполнен и передан инженеру.

PSP0, PSP0.1 (введение в процесс дисциплины и измерения)

PSP0 имеет 3 фазы: планирование, разработка (дизайн, код, компиляция, тестирование) и вскрытие. Устанавливается базовый уровень текущего измерения процесса: время, затраченное на программирование, введенные / устраненные ошибки, размер программы. После вскрытия инженер проверяет, чтобы все данные для проектов были должным образом записаны и проанализированы. PSP0.1 продвигает процесс, добавляя стандарт кодирования, измерение размера и разработку личного плана улучшения процесса (PIP). В PIP инженер записывает идеи по улучшению собственного процесса.

PSP1, PSP1.1 (вводит оценку и планирование)

На основе исходных данных, собранных в PSP0 и PSP0.1, инженер оценивает, насколько большой будет новая программа, и готовит отчет об испытаниях (PSP1). Накопленные данные из предыдущих проектов используются для оценки общего времени. Каждый новый проект будет записывать фактическое затраченное время. Эта информация используется для планирования и оценки задач и расписания (PSP1.1).

PSP2, PSP2.1 (вводит управление качеством и дизайн)

PSP2 добавляет два новых этапа: анализ дизайна и анализ кода. Предотвращение дефектов и их устранение - в центре внимания PSP2. Инженеры учатся оценивать и улучшать свой процесс, измеряя, сколько времени занимают задачи, а также количество дефектов, которые они вводят и устраняют на каждом этапе разработки. Инженеры составляют и используют контрольные списки для проверки дизайна и кода. В PSP2.1 представлены технические характеристики проекта и методы анализа

(PSP3 - это устаревший уровень, который был заменен TSP.)

Важность данных

Один из основных аспектов PSP использует исторические данные для анализа и повышения эффективности процессов. Сбор данных PSP поддерживается четырьмя основными элементами:

  • Сценарии
  • Меры
  • Стандарты
  • Формы

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

  • Размер - показатель размера для части продукта, такой как строки кода (LOC).
  • Усилия - время, необходимое для выполнения задачи, обычно записывается в минутах.
  • Качество - количество дефектов в продукте.
  • График - мера продвижения проекта, отслеживаемая по запланированным и фактическим датам завершения.

Применение стандартов к процессу может гарантировать данные точный и последовательный. Данные регистрируются в формах, обычно с помощью программного обеспечения PSP. SEI разработал инструмент PSP, а также доступны варианты с открытым исходным кодом, такие как Process Dashboard.

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

  • точность оценки (размер / время)
  • интервалы прогнозирования (размер / время)
  • время в распределении фаз
  • распределение дефектов внедрения
  • распределение устранения дефектов
  • производительность
  • процент повторного использования
  • индекс эффективности затрат
  • плановое значение
  • освоенное значение
  • прогнозируемое полученное значение
  • плотность дефектов
  • плотность дефектов по фазам
  • скорость удаления дефектов по фазам
  • рычаг для удаления дефектов
  • скорость просмотра
  • выход процесса
  • выход фазы
  • затраты на качество при отказе (COQ)
  • COQ оценки
  • отношение COQ оценки / отказа
Планирование и отслеживание

Регистрация данных о времени, дефектах и ​​размерах является важной частью планирования и отслеживания проектов PSP, поскольку исторические данные используются для повышения точности оценки.

PSP использует метод PROxy-Based Estimation (PROBE), чтобы улучшить навыки оценки разработчика для более точного планирования проекта. Для отслеживания проекта PSP использует метод освоенного объема.

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

Использование PSP

PSP призвана помочь разработчику улучшить свой личный процесс; поэтому ожидается, что разработчики PSP продолжат адаптировать процесс, чтобы он соответствовал их личным потребностям.

PSP и TSP

На практике навыки PSP используются в командной среде TSP. Команды TSP состоят из разработчиков, прошедших обучение в рамках PSP, которые добровольно работают в областях ответственности проекта, поэтому проект управляется самой командой. Использование личных данных, собранных с помощью своих навыков PSP; команда составляет планы, делает оценки и контролирует качество.

Использование методов процесса PSP может помочь командам TSP выполнять свои обязательства по графику и производить высококачественное программное обеспечение. Например, согласно исследованию Уоттса Хамфри, треть всех программных проектов терпит неудачу, но исследование SEI по 20 проектам TSP в 13 различных организациях показало, что команды TSP не выполнили запланированные сроки в среднем всего на шесть процентов.

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

PSP и другие методологии

PSP - это персональный процесс, который можно адаптировать к потребностям отдельного разработчика. Это не относится к какой-либо методологии программирования или дизайна; поэтому его можно использовать с различными методологиями, в том числе Гибкая разработка программного обеспечения.

Методы программной инженерии могут варьироваться от прогнозных до адаптивных. PSP - это методология прогнозирования, а Agile считается адаптивной, но, несмотря на их различия, TSP / PSP и Agile разделяют несколько концепций и подходов, особенно в отношении организации команды. Они оба позволяют команде:

  • определять свои цели и стандарты.
  • оценивать и составлять график работы.
  • определять реалистичные и достижимые графики.
  • составлять планы и обрабатывать

И Agile, и TSP / PSP разделяют идею о том, что члены команды берут на себя ответственность за свою работу и работают вместе, чтобы согласовать реалистичный план, создавая атмосферу доверия и ответственности. Однако TSP / PSP отличается от Agile тем, что делает упор на документирование процесса и использование данных для прогнозирования и определения графиков проекта.

Качество

Высокое качество программного обеспечения - это цель PSP, и качество измеряется с точки зрения дефектов. Для PSP качественный процесс должен производить программное обеспечение с низким уровнем дефектов, которое удовлетворяет потребности пользователя.

Фазовая структура PSP позволяет разработчикам PSP обнаруживать дефекты на раннем этапе. Выявляя дефекты на раннем этапе, PSP может сократить время, затрачиваемое на более поздние этапы, такие как тестирование.

Теория PSP заключается в том, что более экономично и эффективно удалять дефекты как можно ближе к тому месту и времени, где они были внедрены, поэтому программистам рекомендуется проводить личные проверки на каждом этапе разработки. Таким образом, структура фазы PSP включает две фазы проверки:

  • Проверка проекта
  • Проверка кода

Для проведения эффективной проверки вам необходимо следовать структурированному процессу проверки. PSP рекомендует использовать контрольные списки, чтобы помочь разработчикам последовательно следовать упорядоченной процедуре.

PSP исходит из предпосылки, что, когда люди совершают ошибки, их ошибки обычно предсказуемы, поэтому разработчики PSP могут персонализировать свои контрольные списки, чтобы нацелить их на собственные общие ошибки. Также ожидается, что инженеры-программисты доработают предложения по усовершенствованию процессов, чтобы выявить слабые места в их текущих показателях производительности, на которые им следует обратить внимание. Исторические данные проекта, показывающие, где было потрачено время и какие дефекты были обнаружены, помогают разработчикам определить области, в которых необходимо улучшить.

Разработчики PSP также должны проводить личные проверки, прежде чем их работа подвергнется коллегиальной или командной проверке.

Сертификация

Сертификация, охватывающая PSP, предлагается SEI в Университете Карнеги-Меллона. Чтобы стать сертифицированным SEI-разработчиком PSP, необходимо: изучить PSP; сдать сертификационный экзамен; поддерживать учетные данные. Экзамен разработчика PSP основан на концепциях, содержащихся в Своде знаний PSP. SEI ведет FAQ по сертификации.

См. Также
Ссылки
  1. ^ «Сертифицированный SEI разработчик PSP: часто задаваемые вопросы». Обучение SEI. Питтсбург, Пенсильвания: Институт программной инженерии, Университет Карнеги-Меллона. Архивировано из исходного 29 ноября 2014 г. Получено 17 ноября 2014 г. Внешняя ссылка в | work =()
  2. ^«Условия использования». США: Институт инженерии программного обеспечения, Университет Карнеги-Меллона. Проверено 14 января 2013 г.
  3. ^Хамфри, Уоттс С. «Почему большие программные проекты терпят неудачу: 12 ключевых вопросов». CrossTalk, март 2005 г. http://www.crosstalkonline.org/storage/issue-archives/2005/200503/200503-Humphrey.pdf Архивировано 5 ноября 2019 г. в Wayback Machine
  4. ^Дэвис, Ноопур и Джулия Маллани. Командный программный процесс SM (TSP SM) на практике: сводка последних результатов. Питтсбург, Пенсильвания: Институт программной инженерии, сентябрь 2003 г.
  5. ^Помрой- Хафф, Марша; Кэннон, Роберт; Чик, Тимоти А.; Маллани, Джулия; Николс, Уильям (2009). Свод знаний о процессах персонального программного обеспечения (PSP), версия 2.0 (PDF). Питтсбург, Пенсильвания: Software Engineering Institute, Carnegie Mellon University. Проверено 17 ноября 2014 г. Свободно загружаемый специальный отчет CMU / SEI-2009-SR-018, 2009
Дополнительная литература
Внешние ссылки
Последняя правка сделана 2021-06-01 09:59:20
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте