Построение гибких информационных систем. Обсудили на «Заседании без галстуков» SPb CIO Club

Основная проблема, которую обсудили на заседании без галстуков SPb CIO Club на днях, касалась ситуации, знакомой руководителям большинства развивающихся компаний, чья информационная система при увеличении количества заказчиков и сопутствующих задач перестает с ними справляться. Растущий «снежный ком» проблем, начинающийся с хронического срыва сроков выполнения проектов, способен разрушить не только клиентскую базу, но и весь бизнес в целом. И необходимость согласовывать текущие задачи фирмы с возможностями разработчиков вынуждает бизнес менять стратегию в построении и поддержке информационной системы. Для того, чтобы сделать ее предельно гибкой и масштабируемой, может быть задействован такой метод, как Agile.

Основным спикером заседания «Без галстуков» стал ведущий тренер по Agile, основатель и руководитель компании Scrum Trek Асхат Уразбаев. По его словам, при увеличении требований к информационной системе рано или поздно ход ее работы может быть нарушен, количество «багов» будет возрастать, а производительность будет «проседать», что приведет к появлению других многочисленных проблем. Необходимость апгрейда информационной системы с целью ее соответствия текущим задачам становится базовой задачей для команды разработчиков, которая должна также увеличиваться и количественно, и качественно. 

Методология Scrum (англ. «схватка», часто употребляется в значении спортивного термина), о которой рассказал г-н Уразбаев, является максимально эффективной в случаях, когда специфика фирмы вынуждает динамически менять информационную систему, создавая для этого в режиме реального времени новое программное обеспечение, соответствующее текущим бизнес-задачам. Создание нового программного кода должно базироваться на уже заранее разработанных технических заданиях и подразумевать итеративный подход, в рамках которого доработка компонентов происходит по окончании каждой итерации.

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



Ведущий тренер по Agile, и в частности по Scrum, основатель и руководитель компании Scrum Trek Асхат Уразбаев
Ведущий тренер по Agile, и в частности по Scrum, основатель и руководитель компании Scrum Trek Асхат Уразбаев


Асхат Уразбаев сообщил, что задачи, которые ставит разработчик, входят в баклог продукта, характеризующий концепцию создаваемого продукта. Для работающей над продуктом команды (в нее могут входит аналитики, разработчики и тестировщики) возникает задача преобразования баклога в спринт, после чего для спринта формируется собственный баклог.

«Основной смысл Scrum – это возможность эффективно работать в команде, достигая одну за другой краткосрочные цели, - отметил г-н Уразбаев. – В целом это является достаточно сложной задачей, учитывающей особенности каждого члена команды, в противовес простому составлению плана».



Асхат Уразбаев показывает на схеме возможность разделения большой задачи на «осязаемые» «спринты» и их визуализацию с помощью «инкрементов»
Асхат Уразбаев показывает на схеме возможность разделения большой задачи на «осязаемые» «спринты» и их визуализацию с помощью «инкрементов»

Как далее пояснил Асхат Уразбаев, пользователям методологии Scrum приходится играть не только на половине поля команды, но и на половине поля заказчика. Для его удобства проект делится не на итерации, а на инкременты, визуализирующие рабочий процесс и сообщающие сведения о достигнутых и потенциально достижимых успехах проекта. Чаще всего инкременты показывают динамику прироста новой функциональности, а также служат отправной точкой новых технических заданий со стороны заказчика.


«Основной задачей создания инкремента является организация качественной обратной связи, - отметил г-н Уразбаев. – Именно инкременты позволяют дорабатывать продукт без его «переписывания» заново, как часто происходит с классическим подходом с единственной постановкой одной большой задачи».

Сложная на первый взгляд тема оказалась очень увлекательной для всех присутствующих, поэтому значительная часть выступления Асхата Уразбаева проходила в формате панельной дискуссии
Сложная на первый взгляд тема оказалась очень увлекательной для всех присутствующих, поэтому значительная часть выступления Асхата Уразбаева проходила в формате панельной дискуссии


По словам Асхата Уразбаева, новый подход к программному обеспечению, требующий высоких скоростей его изменения, является оптимальным в случае использования гибких методик Agile. Рост популярности такого подхода зависит и от постепенного исчезновения понятия «релиз», на смену которому приходит программное «обновление».

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

Рубрики: Маркетинг, CIO/Управление ИТ

Ключевые слова: ИТ-директор, CIO, IT-директор, SPb CIO Club, CIO Club, клуб ИТ-директоров