Scrum

Scrum - одна из гибких методик (agile) разработки программного обеспечения в группе. У нас в Exact'е одна из .NET групп приняла её к использованию, а до этого я слышал на лекциях английского что коллеги в других конторах тоже используют. А тут ещё набрёл на статью Антона на Хабре с переводом книжки для украинских девелоперов, думаю и мне она пригодится.

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

OpenUP

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

OpenUP - бесплатная методика ( тогда как некоторые более 700$ стоят) и ориентирована на развитие небольших проектов в небольших фирмах (до 36 человеко-месяцев). Вполне подходит для IT, поскольку текучка кадров большая, а проекты стоять не хотят.

Ради достижения успешности проекта, группа разделяется на 3-6 ролей (вспоминаем сразу классы в RPG?):

  • клиент
  • управляющий проектом
  • аналитик
  • архитектор
  • тестер
  • разработчик

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

Управление IT-проектом

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

Попробую изложить, как на моём опыте обычно ведётся IT-проект (CMS, CRM, intranet, custom-инфосистема) или как бы этого хотелось в идеале.

Общение с клиентом

Как правило самая важная техническая часть это узнать разделы проекта, что-бы примерно понять насколько он сложен. В остальном клиенту вешают лапшу на уши, что-бы он остался доволен переговорами и согласился на договор. Показывают как работает фирма, показывают портфолио и слеланные работы. Намечают следующую встречу, где уже более детально всё прорабатывается

Раннее проектирование

Управляющий проектом создаёт техническое задание того, что хочет клиент. 

  • Может помочь использование brain-storm методики при разговором с клиентом, запись в MindMeister, MindManager, Freemind, что-бы как можно подробней зарисовать пожелания.
  • Нельзя использовать неопределённости размера, времени, пользователей
  • Нельзя выдумывать новые понятия, не определив их заранее.

Rapid application development

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

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