mixing agile rup
TRANSCRIPT
Mixing Agile & RUP
Agile Gathering 6
О Докладчике
Роман ОксюковскийРуководитель выделенного центра разработки, [email protected]+38.097.796.4117
8 лет в индустрии разработки программногообеспечения, 3 из которых на руководящихпозициях
Методология под проект
«В зависимостиот размера проекта(числа людей, работукоторых необходимокоординировать), кри-тичности разрабаты-ваемого приложения иосновных приоритетов, в проекте могутприменятьсяразличныеметодологии.»-Алистэр КоубернHumans and Technology Technical Report, TR 99.04, Oct.1999 7691 Dell Rd, Salt Lake City, UT 84121 USA
Пример из жизни ...
Проект разработкиERP системы длядистрибьюторскойкомпании, котораязанимается оптовойпродажей FMCGтоваров в Донецкойобласти.
Характеристика компании ...
~1000 сотрудниковГеографическаяраспределенностьфилиалов компанииВысокая сложностьнекоторыхуправленческихфункцийЗависимость кпроизводительностии стабильностиработы ИТ-систем
Структура команды ...
Спонсор проектаСпонсор проекта
Бизнес-аналитик х 2Бизнес-аналитик х 2Руководитель
отделаразработки
Руководительотдела
разработки
Руководительотдела
тестирования
Руководительотдела
тестирования
Системныйаналитик
Системныйаналитик АрхитекторАрхитектор
Разработчикибизнес
логики х 5
Разработчикибизнес
логики х 5Тестировщик х 2Тестировщик х 2
Характеристика команды ...
Спонсор = собственниккомпании-заказчика.Бизнес-аналитики = ключевые сотрудникикомпании-заказчика.Вся команда физическирасположена в одномофисе.Комната для совещанийоборудована проектороми досками для рисования, а также большим столомдля совещаний.
Timeline …
Inception
RUPОбоснование бизнес-идеиОпределение виденияпродуктаНаброски архитектурыОпределение основных use caseBusiness modelingНаброски процессов иструктуры артефактов.
AgileРабота в одной команде надопределением виденияИнтенсивное общениеПрототипирование системыКаждый влияет наопределение процессовразработкиПолучение раннего feedback по прототипам и наброскамархитектурыИспользование принципаSimplicity для всего, чтопроизводится(документация, код, прототипы).
Elaboration
RUPУточнение виденияПроработка деталей use casesСтарт разработки бизнес-модулей системыУточнение процессовразработки и тестирования. Уточнение структурыартефактов.Уточнение ролейChange ManagementИспользование UML
AgileПоявление итераций, хотяразных по протяженностиПроведение Demo спонсоруи бизнес-аналитикам, получение feedbackDaily Scrum (15 мин)Формирование Product Backlog и Iteration Backlog
Construction
RUPСтабилизация архитектурыМинимальные уточненияпроцессов разработки итестирования
AgileDaily ScrumsСтабильные итерациипротяженностью 1 месяцПланирвоание Iteration Backlog, при котором выборзадач и оценку трудозатратвыполняли разработчикиDemo спонсору и бизнес-аналитикам (Product Owners)Процесс инкрементальный(выпуск версий, поставляемых конечнымпользователям сполучением feedback)
Transition …
RUPПланирование действий повнедерению готовогопродукта в компанииChange ManagementИнтенсивное тестированиемодулей системы
AgileDaily Scrums ☺Внедрение модулейсистемы в «пилотном»режимеПолучение feedback отконечных пользователей ипланирование Iteration Backlog с учетомзапрошенных измененийПроцесс инкрементальный
Что не прижилось ...RUP: Use Case Points Estimation – слишком сложно и неучитывало «особенных»моментов. RUP: Unit Tests – из-заспецифика приложения идинамично изменяющихсятребований.Agile: Инкрементальностьпроцесса – в виду того, чтосистема достаточно сложная иимела много зависимостей(рабочие инкременты появилисьтолько при Transition).В некоторых случаях не работалпринцип Agile – Simplicity.
RUP. Best Practices
Разрабатывайте ПОитеративноУправляйтетребованиямиИспользуйте компонето-ориентированнуюархитектуруВизуально моделируйтеПОПостоянно проверяйтекачество ПОКонтролируйтеизменения к ПО
RUP и другие методологии
Алексей Закис «RUP и другие методологии разработки ПО»http://cmcons.com/articles/obshhie_stati_rup/rup_i_drugie_metodologii_razrabotki_po/
RUP. Tailoring …
«Applying all of RUP on a single project will likely result in an inefficient project environment, where teams will struggle to keep focused on the important tasks, and struggle to find the right set of information. Thus, we recommend that all projects tailor the RUP.»- RUP. Concepts: RUP Tailoring
Выводы
Под каждый проект следует подбиратьсвою методологию и подходы.Не стоит сравнивать методологии(лучше\хуже) , а стоит знать, понимать, использовать по назначению и получатьудовольствие от результатов.Чем больше знаешь инструментов иситуации, в которых их использовать, темзрелее процессы разработки в каждомВашем проекте.
Вопросы
?