Основным спикером заседания «Без галстуков» стал ведущий тренер по Agile, основатель и руководитель компании Scrum Trek Асхат Уразбаев. По его словам, при увеличении требований к информационной системе рано или поздно ход ее работы может быть нарушен, количество «багов» будет возрастать, а производительность будет «проседать», что приведет к появлению других многочисленных проблем. Необходимость апгрейда информационной системы с целью ее соответствия текущим задачам становится базовой задачей для команды разработчиков, которая должна также увеличиваться и количественно, и качественно.
Методология Scrum (англ. «схватка», часто употребляется в значении спортивного термина), о которой рассказал г-н Уразбаев, является максимально эффективной в случаях, когда специфика фирмы вынуждает динамически менять информационную систему, создавая для этого в режиме реального времени новое программное обеспечение, соответствующее текущим бизнес-задачам. Создание нового программного кода должно базироваться на уже заранее разработанных технических заданиях и подразумевать итеративный подход, в рамках которого доработка компонентов происходит по окончании каждой итерации.
В методологии Scrum итерации называются «спринтами», подразумевающими не только жесткий контроль процесса разработки, но и строгой ограниченностью по времени: одна большая техническая задача делится на небольшие, длительность каждой – строго фиксирована. По итогам выполнения каждой такой задачи производится ее оценка, а также корректировка технической задачи, лежащей в основе следующего «спринта». Именно такой подход и обеспечивает не только максимально гибкую разработку программного обеспечения, но и широкое задействование обратной связи с заказчиком, позволяющей наиболее полно удовлетворять его требования, которые также могут меняться динамически.
Ведущий тренер по Agile, и в частности по Scrum, основатель и руководитель компании Scrum Trek Асхат Уразбаев
Асхат Уразбаев сообщил, что задачи, которые ставит разработчик, входят в баклог продукта, характеризующий концепцию создаваемого продукта. Для работающей над продуктом команды (в нее могут входит аналитики, разработчики и тестировщики) возникает задача преобразования баклога в спринт, после чего для спринта формируется собственный баклог.
«Основной смысл Scrum – это возможность эффективно работать в команде, достигая одну за другой краткосрочные цели, - отметил г-н Уразбаев. – В целом это является достаточно сложной задачей, учитывающей особенности каждого члена команды, в противовес простому составлению плана».
Асхат Уразбаев показывает на схеме возможность разделения большой задачи на «осязаемые» «спринты» и их визуализацию с помощью «инкрементов»
Как далее пояснил Асхат Уразбаев, пользователям методологии Scrum приходится играть не только на половине поля команды, но и на половине поля заказчика. Для его удобства проект делится не на итерации, а на инкременты, визуализирующие рабочий процесс и сообщающие сведения о достигнутых и потенциально достижимых успехах проекта. Чаще всего инкременты показывают динамику прироста новой функциональности, а также служат отправной точкой новых технических заданий со стороны заказчика.
«Основной задачей создания инкремента является организация качественной обратной связи, - отметил г-н Уразбаев. – Именно инкременты позволяют дорабатывать продукт без его «переписывания» заново, как часто происходит с классическим подходом с единственной постановкой одной большой задачи».
Сложная на первый взгляд тема оказалась очень увлекательной для всех присутствующих, поэтому значительная часть выступления Асхата Уразбаева проходила в формате панельной дискуссии
По словам Асхата Уразбаева, новый подход к программному обеспечению, требующий высоких скоростей его изменения, является оптимальным в случае использования гибких методик Agile. Рост популярности такого подхода зависит и от постепенного исчезновения понятия «релиз», на смену которому приходит программное «обновление».
«Чем быстрее выходят требуемые обновления, тем выше порог достижения успеха, - резюмировал г-н Уразбаев. – Все в результате сводится к единой победоносной стратегии: конкуренты подумали, а мы уже сделали. Обилие Agile-методик, среди которых не только Scrum, но и Kanban, XP (extreme programming). OpenUp, Getting Real и другие, показывает не только огромную скорость изменения реальности и ее требований, но и возможностей выполнять эти самые требования. Быть готовым ко всему и быть на шаг впереди – это и есть самое главное, чего следует добиваться от себя и своей команды в достижении любых целей».