2008-10-03 4 views
15

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

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

ответ

16

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

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

Одним из преимуществ процесса НЕКОТОРЫЕ является то, что вы, вероятно, оставите некоторые артефакты планирования/управления (разблокированные карты, отставание и т. Д.), Поэтому, если вам или кому-то еще нужно возобновить разработку проекта, вы можете выбрать его для резервного копирования без труда.

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

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

14

«hacking away» is процесс разработки, это просто не тот, который легко отслеживается или предсказуется!

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

+0

Истина. В то время как повторные действия по разработке программного обеспечения по-прежнему в значительной степени непредсказуемы, следуя методологии, которая говорит, что «проверить свои вещи» может привести к чему-то более предсказуемому :) – 2008-10-03 06:19:56

+0

Ответ на @chadmyers намного лучше. Контрольный список/мешочки-у-трюки гораздо более гибкие, чем жесткая «методология» – 2013-12-19 16:11:41

2

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

+0

Но разве «каркас» не был бы более уместным в таком случае? – tamersalama 2008-10-03 06:00:04

0

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

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

1

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

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

1

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

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

4

Если проект "рубил" терпит неудачу это происходит:

  • руководители считают: "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"

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

Хитрая вещь адаптировать существующий процесс вашей компании и команды:

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

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

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

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^