Вы следите за процессом персонального программного обеспечения? Соответствует ли ваша организация/команда процессу программного обеспечения Team?

За дополнительной информацией - Персональный программный процесс в Википедии и Команда Процесс разработки программного обеспечения в Википедии.

У меня есть два вопроса:

  • Какие преимущества вы видели из эти процессы?
  • Какие инструменты и/или методы, которые вы используете, чтобы следовать этим процессы?

Ответы

Ответ 1

Я прошел обучение, а затем моя компания заплатила за то, чтобы я пошел в Карнеги-Меллон и прошел курс обучения инструктора PSP, чтобы получить сертификат в качестве инструктора. Я думаю, что цель заключалась в том, чтобы использовать это как часть усилий нашей компании CMM/CMMI. Я встретил Уоттса Хамфри и нашел его доброй, нежной душой с некоторыми глубоко укоренившимися идеями о процессе. Я также прочитал несколько его книг.

Здесь я беру на себя это в двух словах - он слишком структурирован для большинства людей, чтобы следовать, предполагая, что вы следуете за письмом. Идея оценки, основанная на исторической информации, в порядке, особенно в классе, но в реальном мире, где оценки отменяются через день из-за меняющегося потока требований и направления, это гораздо менее полезно. Я также сделал оценку Wide Band Delphi, и это было нормально, но, честно говоря, не обязательно было лучше, чем "лучшее предположение", которое я бы сделал.

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

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

Только мои два цента.

Ответ 2

Я получил это однажды, даже попробовал использовать PSP Dashboard.

Это слишком сложно, чтобы не отставать. Кто хочет использовать секундомер для всех своих действий? Следуйте рекомендациям Джоэля о планировании безболезненного планирования и фактических данных.

+1 этот вопрос, -1 к PSP.

Ответ 3

Я использовал PSP и процесс TSP наизусть в течение 4 лет (хотя это было в начале моей карьеры программного обеспечения). Как идеалист вы будете любить то, что делается вами и, конечно, да, есть и потрясающие результаты.
Хотя PSP выступает за запись ваших дефектов в ядро ​​(например, или опечатку), я был в разговоре с г-ном Ватсом Хамфри, где многие люди спрашивали его о достижениях компиляторов и отсутствии объектной ориентации (что я чувствовал, как он отсутствует, поскольку я был программистом OO и успешно использовал его). Был очень хороший ответ. Это продолжалось так: "PSP, или, по сути, любая методология процесса, - это не концепция, которая придерживается единой идеи. Основная идея - познакомить людей с методами и анализом качества." Он всегда адаптивен, вы можете адаптировать его, чтобы он соответствовал вашим потребностям.Если вы чувствуете, что идете с методологией Function Point, вы в порядке, чтобы продолжить его. То же самое для любых методов оценки, но вы должны делать это постоянно и повторяемо.
"То же самое с продвижением компиляторов. Если вы чувствуете, что WBS в структуре PSP не подходит для вашей разработки, измените ее и используйте, но снова сделайте это сдержанно.
" Как вы это делаете, вы будете собирать исторические данные и будете статистически делать предсказуемые и точные оценки по всем параметрам"
Может быть, я даю этот ответ поздно, но когда я прочитал все ответы, я чувствовал, что хочу поделиться этим. В соответствии с инструментами у нас есть панель инструментов Process, панель PSP excel и все.

Ответ 5

Я закончил курс PSP, следующий должен быть TSP, который предназначен для командной динамики, как говорят другие. У меня смешанные чувства относительно PSP (в основном отрицательные, но результаты были интересными), я пришел к следующим выводам:

  • Прежде всего мой главный источник разочарования заключается в том, что шаблоны дизайна слишком утомительны и непрактичны. Измените их для UML и BPMN, сообщите своим инструкторам с самого начала, IMPOSE IF NEECARYARY. Сама книга говорит, что шаблоны дизайна предназначены для людей, которые не знают или не хотят изучать UML.
  • Во-вторых, оценки были единственной ценной частью для меня. Сама книга говорит о том, что вы можете использовать другие вещи из строк кода, и это даже говорит вам, как знать, насколько они статистически значимы. Я считаю, что инструмент/плагин, который соединяется с вашим VCS (git, mercurial), должен существовать и автоматизировать создание вашей личной базы данных, иначе слишком утомительно отслеживать базу/добавлено/повторно использовать частей.
  • Сам процесс хорош, но не применим к крупным проектам, почему?, потому что он просто не справляется с итерациями. В реальном мире, из-за изменений требований, вам всегда придется повторять проект. Вы можете применить дисциплину к небольшим программным задачам, это: план, дизайн, обзор вашего дизайна (иметь стандарты дизайна и небольшой контрольный список, который вы можете запомнить), код, просмотреть свой код (иметь четкие стандарты кодирования и небольшой контрольный список умений вы можете запомнить), проверить, обдумать свои ошибки. Любой опытный программист будет знать, что это, в конечном счете, интуитивные шаги, чтобы следовать. Моя рекомендация в реальной практике: следите за процессом, но не документируйте другие материалы, кроме вашего дизайна, и если вы выполняете модульные тесты, хорошо документируйте их.
  • Этот процесс действительно может стоить того, чтобы следовать и практично... для системного программирования в реальном времени, где нет абсолютно свободного места для ошибок, в противном случае это не стоит того.
  • Если вы ищете методологию для организации и улучшения фокуса, попробуйте GTD (Get Things Done) и Pomodoro.
  • Если у вас обсессивно-компульсивное расстройство, вам действительно может понравиться PSP =).

Моя последняя рекомендация, выучите ее как ссылку, может привести к улучшению и практичности. Эта вещь слишком академична.

P.S.: R.I.P. Уоттс Хамфри

Ответ 6

Я использую PSP в течение последних шести месяцев.

Это требует много времени. По моим оценкам, мне пришлось потратить 7% времени на заполнение форм. Устраивает повторять ошибку "пропавшая точка с запятой" снова и снова.

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

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

Для инструментов, которые я рекомендую использовать Timetracker: http://0xff.net/

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

Ответ 7

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

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

Ответ 8

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

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

Если вы просто ищете инструмент отслеживания времени, мне также нравится http://slimtimer.com. Он также может делать несколько достойных отчетов.

Ответ 9

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

  • Смешные подчеркивания в таких вещах, как опечатки или отсутствующие точки с запятой.
  • Непрактичные формы, которые вы должны заполнить вручную.
  • Сосредоточьтесь на процедурном программировании вместо OO.
  • Оценка включает подсчет количества циклов, функций и т.д.

Я нашел это огромной тратой времени. Я предпочел бы оставить эту профессию, чем быть вынужденным следовать за PSP.

Связанный материал: Мой ответ о книге PSP в вопросе "Какой совет по программированию вы НЕ рекомендуете разработчикам".

Ответ 10

Я использовал его во время университета, но на работе у нас действительно нет процесса. Только недавно мы начали использовать контроль версий.

Мой опыт в том, что было слишком утомительно, чтобы быть полезным. Если он не автоматизирован, он может уйти.