Рубрикатор |
Статьи | ИКС № 10 2014 |
Надежда АВДАНИНА  | 07 октября 2014 |
Collaboration в интересах банка
Разработку электронных банковских сервисов мы осуществляем преимущественно in-house, собственными силами. Поэтому стараемся, чтобы команды, объединяющие специалистов с необходимыми компетенциями, наращивали объемы решаемых задач за счет оптимизации труда.
А это невозможно без применения на всем протяжении цикла разработки – от постановки требований до отслеживания качества внедрения – современных программных решений и новейших инженерных практик командной работы.
В частности, для того чтобы повысить эффективность создания нашего продукта «Альфа-Клик» (интернет-банк для физических лиц), мы используем систему управления версиями исходного кода (в настоящее время переходим с централизованной SVN на распределенную систему Git). Это позволяет нам встраивать обязательную стадию просмотра кода (автоматическую и ручную) в свой цикл разработки ПО, увеличивая тем самым скорость разработки и обеспечивая высокое качество конечного продукта. Поскольку над некоторыми его частями работают и вендоры, этот этап крайне важен. Сейчас стратеги изменения инженерных практик «Альфа-Лаборатории» Артем Глотов и Ян Фалалеев анализируют, какая именно из методологий управления кодовой базой (feature branches или feature toggling) наиболее эффективна для наших команд.
Централизованное и структурированное хранилище общих библиотек и модулей (хранилище артефактов) нам обеспечивает система управления зависимостями. Благодаря ей мы можем расширять повторное использование кода. Для автоматизации рутинных действий по сборке поставок и установке на различные среды используем систему Gradle.
Мы поэтапно внедряем систему непрерывной интеграции (сервер Jenkins), которая автоматизирует весь цикл выкладки ПО, начиная от сборки и заканчивая запуском автотестов. В качестве системы управления проектами нам служит Jira. Эта система позволяет разбить большую задачу на несколько маленьких, указать зависимости между ними, назначить ответственных и т.д. Она дает понимание того, в какой стадии в данный момент находится проект в целом и на решение какой подзадачи нужно бросить дополнительные силы.
Есть у нас и база знаний: для ведения документации, фиксации требований, обмена опытом мы широко используем вики-систему Confluence. Она незаменима для быстрого поиска нужной информации и эффективной передачи знаний между членами команд. А благодаря тому, что в работе над проектами мы применяем гибкую методологию веб-разработки канбан, у нас есть понимание, кто что делает в проекте, какие сложности у него возникают, где и кому нужно помочь, чтобы в кратчайшие сроки качественный сервис стал доступен для любимого клиента.