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

StackOverflow https://stackoverflow.com/questions/28197

  •  09-06-2019
  •  | 
  •  

Вопрос

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

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

  1. Какие преимущества вы увидели от этих процессов?
  2. Какие инструменты и/или методы вы используете для отслеживания этих процессов?
Это было полезно?

Решение

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

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

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

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

Всего лишь мои два цента.

Другие советы

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

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

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

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

Что касается PSP, то я видел Панель мониторинга программного процесса, но это кажется ужасно сложным в использовании.

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

  • Прежде всего мой главный источник разочарования заключается в том, что шаблоны дизайна слишком утомительны и непрактичны. Измените их на UML и BPMN, расскажите своим инструкторам с самого начала, ПРИ НЕОБХОДИМОСТИ ПРИМЕНИТЕ.В самой книге говорится, что шаблоны дизайна предназначены для людей, которые не знают или не хотят изучать UML.
  • Во-вторых, оценки были единственной ценной частью для меня.В самой книге говорится, что вы можете использовать другие материалы, появляющиеся из строк кода, и в ней даже рассказывается, как узнать, насколько они релевантны статистически.Мое мнение по этому поводу (подсчет строк кода) заключается в том, что инструмент / плагин, который подключается к вашему VCS (git, mercurial), должен существовать и автоматизировать создание вашей личной базы данных, в противном случае слишком утомительно отслеживать базовые / добавленные / повторно используемые части.
  • Сам по себе процесс приятен, но не применимо к крупным проектам, почему?, потому что он просто не справляется с итерациями.В реальном мире из-за изменений требований вам всегда придется повторять их в проекте.Вы все еще можете применять дисциплину к небольшим программным задачам, это:планируйте, проектируйте, пересматривайте свой дизайн (имейте стандарты дизайна и небольшой контрольный список, который вы можете запомнить), кодируйте, пересматривайте свой код (имейте четкие стандарты кодирования и небольшой мысленный контрольный список, который вы можете запомнить), тестируйте, обдумывайте свои ошибки.Любой опытный программист поймет, что в конечном счете это интуитивно понятные шаги, которым нужно следовать. Моя рекомендация на реальной практике:следуйте процессу, но не документируйте ничего, кроме вашего дизайна, и если вы все-таки внедряете модульные тесты, хорошо документируйте их.
  • Возможно, этому процессу действительно стоит следовать, и он практичен...для системного программирования в реальном времени, где абсолютно нет места ошибкам, в противном случае оно того не стоит.
  • Если вы ищете методологию для организации и улучшения концентрации внимания, попробуйте GTD (Доводить дело до конца) и Помодоро первый.
  • Если у вас обсессивно-компульсивное расстройство, вам действительно может понравиться PSP =).

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

ПОСТСКРИПТУМ.:R.I.P.Уоттс Хамфри

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top