Зачем принимать процесс разработки программного обеспечения?

Agile (SCRUM, XP, FDD,...), Waterfall, RUP,... Почему бы маленькая компания не удосужилась принять ее в первую очередь. Почему бы не просто взломать каждый проект до завершения (с обычным размером команды 1 ~ 2).

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

Ответы

Ответ 1

О, мой любимый тип вопроса. Всякий раз, когда появляется SDLC, соответствующий ответ всегда: "Это зависит!":) Я ненавижу этот ответ так же, как и все, поэтому давайте копаем глубже.

Если ваши проекты управляемы одним человеком и очень коротки (т.е. < 3 месяца), то формальный процесс, вероятно, имеет смысл. ПРИНЦИПЫ некоторых из процессов важны, но большая часть церемонии может быть удалена. Например, в способе Agile-y я все равно буду отслеживать карты с техническими историями (одно предложение или около того), истории пользователей (предложение или два), задачи и т.д., Поэтому я бы не бросил мяч ни на что, Я не буду делать итераций обязательно, просто катясь. Если вы знаете, что у вас есть жесткая дата для бета-версии/предварительного просмотра/независимо от того, вы можете запланировать свою волну, выбрав приоритет карт, которые вы работаете в неделю-неделю.

Одним из преимуществ процесса SOME является то, что вы, вероятно, оставите некоторые артефакты планирования/управления (незавершенные карты, отставание и т.д.), поэтому, если вам или кому-то еще нужно возобновить разработку в проекте, вы можете легко выбрать его для резервного копирования.

Проект 6mo и более с 2 или более людьми должен определенно иметь какой-то процесс, чтобы вещи не становились слишком хаотичными и не синхронизировались между членами команды. Здесь важны резервные копии, а также карты задач и подотчетность.

Все это, кстати, относится к управлению/процессу проекта. Даже в команде из 1 человека я все равно буду использовать контроль источника, непрерывную интеграцию, TDD и т.д. Это необходимо для качественного программного обеспечения, независимо от того, какой процесс вы используете для назначения задачи.

Ответ 2

"взлом" - это процесс разработки, это просто не тот, который легко отслеживается или прогнозируется!

точкой процесса является согласованность и предсказуемость

Ответ 3

Если проект "взломать" проваливается, это происходит:

  • Менеджеры
  • думают: "lazy programmers, they should work harder"
  • программисты думают: "next time I will really do unit testing" или "we should have taken *this* tools or *that* language..."
  • хорошие программисты думают: "Bye everybody, I'm leaving"

И если запущенный проект "взломать" задерживается, менеджеры склонны добавлять в проект больше людей. Из там есть слово: "I need this baby in a month send me nine women!"

Сложная задача - адаптировать существующий процесс к вашей компании и команде:

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

Ответ 4

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

Ответ 5

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

Совершенствование процесса - основа процесса. Принятие процесса - это обучение системному совершенствованию, чтобы улучшения не трясли работу на куски.

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

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

Ответ 6

Вы используете программный процесс для управления временем и ресурсами в проекте. "Взлом" отлично подходит для проекта одного человека, где вам все равно, что то, что вы производите, является чрезмерно бюджетным, доставляло прошлое все предельные сроки и фактически не отвечало требованиям клиентов *. Для проектов, которые заботятся об этом, программный процесс вводится как уровень управления. Затем менеджеры могут более эффективно отслеживать жизненный цикл разработки, фокусировать усилия на задачах, определенных как критические, важные и т.д., Предоставлять обратную связь клиенту относительно того, на каком этапе они находятся, и все другие вещи, которые кажутся несущественными для разработчиков, но менеджеров и клиенты любят, потому что это показывает, что мы на самом деле делаем то, что, по их мнению, полезно:)

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

Ответ 7

Я предполагаю ту же причину, почему существует процесс создания автомобилей и строительства домов?

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

Ответ 8

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

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