Внедрение инноваций в области непрерывного обучения и совершенствования может помочь компаниям лучше адаптироваться к скорости, гибкости и итерационности современной разработки ПО, отмечают опрошенные порталом InformationWeek эксперты.
Более быстрая итеративная разработка ПО означает более быстрое получение обратной связи от конечных пользователей — вместо того чтобы тратить больше времени на разработку идеального софта. Реальность такова, что большинство созданных программ в конечном итоге никогда не используются, поэтому важно избегать создания таких программ.
У разработчиков больше шансов достичь этого, если созданное ими ПО часто тестировалось конечными пользователями и было адаптировано таким образом, чтобы оно было максимально привлекательным и ценным.
Бенджамин Бриал, основатель компании Cycloid.io, объясняет, что для любой крупной организации принятие инновационного стартап-подхода — это изменение работы с людьми, инструментов и культуры. «Только бросив вызов общепринятым шаблонам в этих областях, они могут начать думать об изменении своего мышления», — говорит он.
Для этого, во-первых, необходимо преодолеть существующую разрозненность и сформировать гибкие взаимоотношения между командами разработки и операций, которые могут ускорить доставку ПО для поддержки бизнес-операций и улучшения клиентского опыта.
Во-вторых, речь идет о том, чтобы привлечь лучших разработчиков, показав им, что работа в организации приносит удовлетворение и раскрепощает, а также дает им возможность наилучшим образом выполнять работу, для которой их наняли.
«В-третьих, как и в случае с любой культурой работы — удаленной или гибридной — важно знать, где найти то, что вам нужно, и как сотрудничать с другими командами в организации», — говорит Бриал.
С его точки зрения, инструментарий — это отличное место для начала, поэтому организовать его таким образом, чтобы он способствовали развитию культуры, — это огромный шаг вперед. «В мультиоблачной мультивендорной среде не существует одного инструмента, который может выполнять все задачи, поэтому важно позволить командам использовать инструменты, которые им нравятся, и максимально все автоматизировать, чтобы исключить повторяющиеся задачи», — считает Бриал.
Кирстен Пауст, старший вице-президент Fortive Business System, говорит, что акцент на важности итеративной разработки, при которой непрерывные циклы обратной связи способствуют совершенствованию со временем продуктов и процессов, также имеет решающее значение.
«Это играет центральную роль в том, как мы вводим инновации, не только как средство повышения эффективности, но и как основная стратегия достижения впечатляющих результатов в области разработки ПО и инноваций», — объясняет она.
Пауст признает, что внедрение любого рода инноваций в устоявшихся компаниях может быть непростой задачей. «Я считаю, что необходимым условием для разработки успешной стратегии, ориентированной в первую очередь на инновации, является развитие стартап-менталитета», — говорит она.
Этот тип бережливого образа мышления делает акцент на гибкости, готовности к риску и быстрой итерации — ключевых компонентах нестандартного мышления и выдвижения креативности на первый план.
Преодоление разрозненности
Бриал говорит, что проблема для организаций, пытающихся внедрить более гибкий подход, заключается в том, что зачастую в них слишком много отдельных подразделений, не хватает квалифицированных специалистов, а технологический рынок перенасыщен слишком большим количеством инструментов.
«Перестройка культуры, запрещающей масштабирование, требует много времени и в среднем занимает три года», — говорит он.
Учитывая, что конечной целью разработки более гибкого подхода является беспрепятственное создание инноваций в организации, крайне важно правильно сформировать культуру.
Бриал объясняет, что разработчикам нужна среда, в которой они были бы уверены в том, что могут внедрять инновации и вносить свой вклад в развитие своего сообщества, помогать развитию бизнеса, совершенствовать свои навыки и продвигаться по карьерной лестнице, не будучи ограниченными окружающими их людьми, практиками и инструментами.
Пауст отмечает, что акцент на стандартизированных процессах зачастую может подавлять креативность и приводить к нежеланию рисковать. «Устоявшиеся компании должны стремиться использовать творческий потенциал сотрудников и воспринимать изменения как средство достижения лучших результатов, — говорит она. — Понимание изменений и управление ими имеют решающее значение».
Применяя системный подход к постоянному совершенствованию и продуманную схему руководства своими командами на каждом этапе разработки ПО, от генерации идеи до реализации, можно вдохновлять команды на постоянное совершенствование и достижение отличных результатов независимо от масштаба.
Внутренние программы, хакатоны без иерархии
Пауст говорит, что еще одной лучшей практикой является развертывание внутренних программ для создания идей, тестирования и внедрения решений, поскольку это имеет решающее значение для обеспечения баланса между гибкостью, качеством и масштабируемостью.
Она отмечает, что такие программы, как хакатоны, имеют решающее значение для объединения сотрудников для интенсивного решения проблем в среде, где нет иерархии, а только сосредоточенность на раскрытии новых ценностей.
«Я верю, что эти методы могут помочь руководителям, командам и всей компании принять изменения», — говорит она.
Межфункциональные команды, «все как код»
Бриал рекомендует создать среду, в которой межфункциональные команды объединяют сотрудников из разных отделов, таких как разработка, операции и безопасность, для совместной работы над достижением общей цели.
Для этого требуется перекрестное обучение, в ходе которого члены команды могут получить знания и навыки в областях, выходящих за рамки их основной компетенции. Разработчики знакомятся с инфраструктурой и операциями, в то время как инженеры-операционисты получают представление о методах разработки ПО.
«Такое взаимное обогащение навыками способствует взаимопониманию и сопереживанию между членами команды», — говорит Бриал.
По его словам, на каждом уровне ИТ-отдела следует стремиться к тому, чтобы «все было представлено в виде кода» (everything as code). При этом он отмечает, что предоставление и развертывание (а затем и управление) любого типа ПО является дорогостоящим, трудоемким и сложным процессом.
Для повышения ремонтопригодности и масштабируемости всех аспектов жизненного цикла разработки, включая сетевую инфраструктуру, документацию и конфигурацию, подход «все как код» применяет одни и те же принципы контроля версий, тестирования и развертывания. «Это увеличивает скорость и масштабируемость в геометрической прогрессии, поскольку машины могут выполнять код намного быстрее, чем люди могут выполнять задачи, и, если все сделано правильно, это также может исключить человеческие ошибки и повторяющуюся работу», — говорит Бриал.