+38 (093)  990-30-70

Новости

Королевский бал у Вас дома

Клуб клієнтів Альфа-Банку - SCRUM на швидкості 250 годин на місяць

  1. Команда і процес
  2. Чому SCRUM?
  3. приклади ітерації
  4. Новий каталог сервісів і спец.предложение
  5. Гео-залежні результати пошуку
  6. клієнтська шаблонізаціі
  7. Нові форми редагування компаній
  8. Сервіс перевірки контрагентів
  9. Автоматичне тестування верстки
  10. висновки

До нас приходять різні проекти, великі і маленькі

До нас приходять різні проекти, великі і маленькі. Кожен проект зі своїми особливостями. Особливість великих проектів - вони всі потребують виділеної команді розробників. Наша особливість в тому, що ми вміємо формувати злагоджені команди під великі проекти.

Приклад великого проекту Портал Клубу Клієнтів Альфа-Банку. Аудиторія порталу - керівники малих і середніх бізнесів. Сервісами клубу скористалося 40 000 компаній клієнтів Альфа-Банку. Більше 5000 активно користуються порталом і залучають клієнтів. Над проектом працює команда з 5-и осіб. Ми почали роботу над проектом в жовтні 2014 року, пілотна версія була запущена навесні 2015. З цього моменту ми продовжуємо працювати над розвитком цього проекту. Всього було понад 100 ітерацій-релізів, вирішено понад 500 завдань, інвестовано 2500 годин

Команда і процес

Основний склад команди:

Юрій Устинов - керівник проекту з боку Альфа-Банку, Product Owner і ідейний натхненник. Він задає напрямок, ставить великі і дрібні завдання, приймає роботу.

Олександр Михайлов - Головний Back-end розробник, основний розробник на проекті.

Юрій Корольков - Головний Front-end розробник, основний верстальник проекту.

Олександр Карпов - Головний дизайнер проекту.

Сергій Горєлов - менеджер проекту з боку ИнтерВолга, Scrum-master, відповідає за робочий процес, комунікації, своєчасність і акуратність.

Методологія - SCRUM

Система управління проектом - Google Docs і Youtrack, чат в Bitrix 24, дзвінки в Skype

Чому SCRUM?

В нашій команді всього 5 осіб, всі з різною спеціалізацією. Ми не робимо завдання паралельно, тому помилки для нас дуже дорого коштують. Їх усунення зупиняє розробку і гальмує розвиток проекту. У нас немає можливості довго і скрупульозно перебирати варіанти реалізації, нескінченно проектувати, перевіряти результат на фокус групах, тому ми відкинули Водоспад з його суворої послідовністю і поверненнями в початок шляху. Навпаки, у нас є багато гіпотез, які ми хочемо швидко перевірити в бою, порожні відкинути / заморозити, корисні розвивати.

Ми вибрали SCRUM. У нас є довгий список завдань, в який Юрій Устинов (Product Owner) додає баги, завдання, побажання, зауваження, ідеї - все те, що може поліпшити проект. Кожен день в 9-00 вся команда телефонує по скайпу, звіряє плани і факти, перевіряє доберемося чи до поставленої мети в термін. Раз в тиждень команда обговорює завдання, розставляє пріоритети і приймає рішення - яким маршрутом ми будемо рухатися далі до мети.

З одного боку це схоже на бардак з колективною відповідальністю, з іншого боку така свобода дозволяє нам швидко рухатися вперед.

Для підтримки порядку в проекті ми використовуємо сучасні інструменти та підходи. Основні:

  1. Система контролю версій (GIT) - дозволяє безболісно підключати нових розробників у важкі моменти. Всі зміни які вони вносять проходять перевірку провідним програмістом проекту.

  2. Розробка ведеться на окремому сервері, де у кожного розробника є своя "пісочниця" - фахівці не заважають один одному, кожен працює в своїй екосистемі і час від часу вони синхронізуються один з одним. Помилки і аварії на одній з пісочниць не блокують роботу всієї команди, а проблемна пісочниця оперативно замінюється на нову.

результат перших 6 місяців командної роботи ми вже описували. З того часу минуло багато часу і ми вирішили, що пора розповісти про те, що відбувається в проекті.

Якщо в числах, в середньому за місяць ми закриваємо 250-300 годин. Кожні 2 тижні завершуємо чергову ітерацію і щось переносимо на бій.

приклади ітерації

Нова домашня сторінка порталу

Яку проблему / завдання вирішували?

Перед нами стояло завдання розробити гнучку геозалежні головну сторінку порталу.

Родзинка головної сторінки це її можливість настройки для кожного регіону, без підключення програміста.

Сторінка розділена на 4 горизонтальних блоку для відображення контенту різних типів: спеціальні пропозиції, заходи, сервіси і т.д. У кожному регіоні у клубу клієнтів свої партнери зі спеціальними пропозиціями, свої сервіси і свої особливості, контент-менеджер має можливість задати налаштування відображення для конкретного міста або для групи міст. В тому числі, "просунути" спеціальна пропозиція або сервіс в конкретному регіоні.

Як структури даних для зберігання інформації ми вибрали дерево. Вузли дерева - блоки на головній сторінці, листя дерева - настройки для конкретного регіону. Для зберігання дерева використовували Інфоблоки. Розділ = вузли. Елементи = листя.

Елементи = листя


Практично для кожного блоку контент-менеджер може задати зображення в якості фону. При завантаженні зображення контент-менеджер може вказати з якою "силою" потрібно розмити зображення.

У чому ми виграли:

Виключили роботу програміста. Щоб провести акцію в місті або проанонсувати потрібне захід жодного разу не знадобилося залучати фахівців.

Новий каталог сервісів і спец.предложение

Ми хотіли показувати користувачам релевантні спеціальні пропозиції і сервіси з того ж регіону, що і відвідувач, а також дати користувачам порталу зручні і технологічні інструменти пошуку.

Гео-залежні результати пошуку

На момент початку програмування, у нас вже був реалізований механізм кешування, що враховує місто відвідувача. Ми використовували його повторно.

З пошуком ситуація складніша. Пошукова машина в 1С-Бітрікс не така просунута як "Яндекс" і не вміє враховувати розташування користувача при обробці пошукового запиту. Ми розширили можливості стандартної системи за рахунок обробників подій, що спрацьовують в момент індексування контенту. Така проста маніпуляція дозволила додати в пошуковий індекс дані про компанію, яка опублікувала спеціальну пропозицію, що не роздуваючи структуру даних і не створюючи додаткове навантаження в публічній частині порталу.

клієнтська шаблонізаціі

Розділ спеціальні пропозиції виконаний як single page application. Такий підхід дозволяє мінімізувати кількість переданого контенту з сервера в браузер і прискорити реакцію інтерфейсу на дії користувача. Простою мовою - коли ви натискаєте на кнопку, перезавантажується не вся сторінка, а "догружаются" тільки необхідні дані у вигляді JSON.

При реалізації розділу ми врахували максимум можливих сценаріїв використання розділу:

  • При переході зі сторінки на сторінку змінюється URL, його можна скопіювати, зберегти в закладки, надіслати другу

  • Працюють кнопки браузера "вперед" і "назад"

  • При відкритті внутрішньої сторінки за прямим URL, сервер покаже потрібний контент

  • Всі сторінки працюють при відключеному JS, Яндекс прекрасно індексує контент

В результаті в 2 рази збільшилася кількість переглядів сторінок компаній

Нові форми редагування компаній

Необхідно отримати більше інформації про бізнес користувачів клубу, щоб мати можливість познайомити зацікавлені бізнеси один з одним.

Ми розробили складний функціональний віджет для вибору видів діяльності компанії.

Ми розробили складний функціональний віджет для вибору видів діяльності компанії

Можна використовувати пошук:

Можна використовувати пошук:


Можна скористатися рубрикатором:


Щоб віджет працював максимально швидко, ми не завантажуємо відразу все дерево розділів, а довантажувати їх у міру потреби і кешіруем в браузері. Таким чином користувач один раз отримає тільки потрібні йому дані.

На наш погляд, рішення виявилося вдалим. Більше 5000 компаній вказали в яких галузях вони працюють, представників яких галузей вони бачать своїми клієнтами, а будь партнерами і постачальниками.

Сервіс перевірки контрагентів

Спільно з розробниками сервісу Моя справа ми надали користувачам Kлуб Kліентов новий сервіс перевірки контрагентів по ІПН.


Який результат?

55% користувачів скористалися сервісом перевірки контрагентів у вересні.

Автоматичне тестування верстки

За довгий час роботи над проектом змінилося кілька інструментів верстки. Перехід з одного інструмента на інший завжди дається болісно. Завжди щось ламається там, де цього не чекаєш.

Цього разу ми підстрахувалися так: автоматично зняли скріншоти з усіх типів сторінок до змін і після. За допомогою спеціальних інструментів, в автоматичному режимі, порівняли скріншоти і побачили різницю. Детальний опис інструментів ми показали в статті " Контролюємо стабільність верстки ".

В результаті тестування ми отримали список завдань на виправлення. Помилки виправили, оновили JS і CSS на сайті.

висновки

Для впевненого руху вперед і досягнення результатів досить злагодженої роботи невеликої команди фахівців. У нас є практичний досвід такої роботи і фахівці, які разом працювали над різними завданнями. Якщо у вас є проект, ми готові сформувати для вас команду професіоналів.


Оцініть статтю:

Який результат?