English for Developer Experience (DX) Communication
Освоєння словникового запасу і фраз для обговорення досвіду розробника (DX) — від тертя під час впровадження і ергономіки API до якості документації і зворотного зв’ язку з ланцюга інструментів.
Developer Experience — зазвичай скорочується до DX — став серйозною дисципліною в сучасних організаціях з розробки програмного забезпечення. Команди платформи, фахівці DevRel, дизайнери API і інженерні менеджери повинні сформулювати, що робить середовище розробки продуктивним або розчаруванням. Це вимагає певного словника, який знаходиться на перетині продуктового мислення, емпатії і технічної точності.
Що таке досвід розробника?
Досвід розробника відноситься до загальної якості середовища, в якому працюють розробники: інструменти, API, документація, процеси впровадження і петлі зворотнього зв’язку, які або допомагають, або перешкоджають їх ефективності. Для розробників це те, що User Experience (UX) для кінцевих користувачів.
Хороший DX - не случайность. Це розроблено. І щоб розробити його, говорити про нього, вимірювати його і вдосконалювати, командам потрібна спільна мова.
Основні поняття: Core DX Concepts
- ** Досвід розробника (DX) ** — сума всіх взаємодій, які має розробник з системою, інструментом або API, і як відчуваються ці взаємодії
- ** Фрікция ** — будь- що, що сповільнює розробника або створює непотрібні труднощі: нечіткі повідомлення про помилки, складні налаштування, відсутня документація
- Когнітивне навантаження — розумові зусилля, необхідні для розуміння або використання системи; хороший DX мінімізує непотрібне когнітивне навантаження
- ** Досвід впровадження ** — процес, який передбачає впровадження нового розробника (внутрішнього або зовнішнього) у систему
- ** Час до Hello World ** — час, який потрібно новому розробнику для запуску його першої успішної взаємодії з API або системою; ключовий еталон DX
- ** Ергономічність API ** — наскільки природно і інтуїтивно користуватися API; добре ергономічний API виглядає логічно і передбачувано
- ** Золотий шлях ** — рекомендований, добре підтримуваний спосіб досягти чогось; команди платформи визначають золоті шляхи, щоб вести розробників до найкращих практик
- ** Павідд роуд ** — схожий на золоту стежку; набір інструментів і шаблонів, які організація офіційно підтримує і робить простими у використанні
- ** Внутрішня петля ** — швидкий цикл код → збирання → тестування → зневадження, який розробник виконує локально; повільні внутрішні петлі знищують продуктивність
- ** Зовнішній цикл ** — ширший цикл конвеєра CI/ CD від затвердження до розгортання; обидва цикли мають бути швидкими для хорошого DX
Основні напрямки діяльності: документознавство та інформаційна діяльність
- ** Підручник з початкових кроків ** — вступна документація, яка веде нового користувача крізь перший успішний випадок використання
- ** Довідкова документація ** — всеосяжна, докладна документація щодо кожної кінцевої точки, параметра або параметра налаштування API
- ** Зразок коду / фрагмент коду ** — короткий, робочий приклад використання можливості; найцінніший тип документації
- ** Changelog ** — журнал змін між версіями, необхідний для розробників, які оновлюють свої інтеграції
- ** Виявляння ** — наскільки легко розробник може знайти потрібну йому функціональність, кінцеву точку або інформацію
- ** Самообслуговування ** — здатність знаходити відповіді, розв’ язувати проблеми і створювати без потреби в людській підтримці
- DX аудит — структурований огляд аспектів продукту, що спрямовані на розробника, для визначення точок тертя
Основні напрямки діяльності: аналіз та прогнозування
- ** Опитування розробників ** — структурований набір оцінок розробників, часто використовується для вимірювання якості DX
- ** NPS (Net Promoter Score) ** — метрика, що вимірює ймовірність того, що розробники рекомендують інструмент або API; зазвичай використовується як індикатор стану DX
- ** Обсяг тикетів підтримки ** — кількість отриманих запитів на допомогу; високий обсяг часто вказує на відсутність документації або на те, що з вами щось не так
- ** Точка відмови ** — крок у потоці роботи, який розробники найчастіше залишають або затримуються
- ** Запит на можливість ** — розробник запитує можливість, якої ще не існує
- ** Больова точка ** — специфічне, повторюване джерело розчарування або труднощів
- ** DX debt ** — накопичені скорочення в інструментах, документації або API, що створюють постійне тертя для розробників
Фрази для обговорень DX
Описує фрикцію
- «Потік впровадження має значну точку тертя на кроці автентифікації — розробники повинні налаштувати три окремі змінні середовища, перш ніж вони зможуть зробити свій перший виклик API»
- «Час до Hello World для нашого SDK в даний час становить близько 45 хвилин. У нашого суперника менше 10. Цей прогал коштує нам усиновлення»
- « Повідомлення про помилки у цій бібліотеці занадто криптографічні. Коли щось йде не так, розробники не мають уявлення, чи проблема в їх коді, чи в нашому»
- “Когнітивна навантаження на API налаштування занадто висока. Розробники повинні мати занадто багато концепцій в голові одночасно, щоб отримати базовий робочий процес.”
Пропозиції щодо поліпшення DX
- “Я рекомендую нам інвестувати в спеціальний посібник для початку. В даний час розробники збирають інформацію з трьох різних сторінок»
- «Якщо ми додамо робочі зразки коду до кожної кінцевої точки в посилання документів, ми значно зменшимо обсяг квитків на підтримку»
- “Ми повинні визначити і задокументувати золотий шлях для цього випадку використання. В даний час існує п’ять способів зробити це і немає жодних рекомендацій, які вибрати»
- «Внутрішня петля для нашої внутрішньої платформи занадто повільна — зміна коду займає 8 хвилин, щоб потрапити в тестове середовище. Ми повинні націлитися на 2 хвилини»
Представляємо DX Metrics
- “Нашому розробнику NPS 24. Індустріальний еталон для продуктів, орієнтованих на розробників, становить близько 40. Цей розрив викликається в основному поганою документацією»
- «Ми розглянули аналіз відмови для нашого потоку впровадження. 62% розробників відмовляються на кроці 3, де ми просили їх налаштувати webhook. Це наш головний пріоритет»
- «З моменту запуску покращеного посібника по запуску в минулому кварталі, час на Hello World впав з 40 хвилин до 12 хвилин, а обсяг викликів API в перший тиждень збільшився на 35%»
DX в інженерних контекстах платформи
Внутрішні команди платформи використовують лексику DX для оцінки своїх порталів розробників, систем CI / CD і внутрішніх інструментів.
- ** Портал розробників ** — централізоване внутрішнє джерело, де розробники можуть знайти документацію, каталоги послуг і інструменти самообслуговування
- Backstage — популярний портал розробників з відкритим кодом від Spotify, широко використовується в дискусіях з інженерії платформ
- ** Команда з розробки платформи ** — команда, яка відповідає за створення і підтримку внутрішніх інструментів, інфраструктури та абстракцій, які використовують інші інженерні команди
- ** Самообслуговування ** — дозволяє розробникам створювати середовища, бази даних або служби без відкриття квитка з командою операцій
- ** Шаблон / скеле** — попередньо створена структура проекту, яка надає розробникам правильну, оцінювану початкову точку
Приклад платформи Team Conversation
** Інженер платформи: ** “Ми отримуємо скарги на час, який потрібно на забезпечення нової мікросервісу. Команди витрачають в середньому два дні на налаштування, що повинно тривати дві години»
Менеджер по проектам: “В чём проблема?”
Платформ-інженер: “Це в основному борг DX - модулі Terraform не композитні, документація застаріла, і немає золотого шляху. Команди розгадують це з нуля кожен раз»
Менеджер по инженерным вопросам: “Давайте добавим это в план платформы. Яке запропоноване рішення?»
** Platform engineer: ** « Шаблон служби з розуміними типовими значеннями, оновленою документацією і скрипт самообслуговування. Я б оцінив два спринти роботи зі значним зменшенням тертя для кожної команди, що вступила в роботу після цього»
Conclusion
Досвід розробника більше не є м’якою проблемою - це множник продуктивності і, для зовнішніх API і SDK, конкурентний диференціатор. Команди і фахівці, які можуть точно сформулювати проблеми DX, точно виміряти їх і переконливо повідомити про поліпшення, роблять внесок у результати, які мають значення на кожному рівні організації. Збудуйте цей словник, і ви зможете брати участь у — і вести — розмови, які значно поліпшать життя розробників.