Як пояснити складну помилку нетехнічним зацікавленим сторонам

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

Пояснення складної помилки нетехнічним зацікавленим сторонам є одним з найскладніших комунікаційних викликів в інженерії програмного забезпечення. Ви перекладаєте між двома світами: точним, причинним світом коду, і бізнес-світом впливу, часових рамках і ризику. Сделай это плохо, и ты потеряешь доверие. Зробіть це добре, і ви станете відомим як розробник, який може спілкуватися — рідкісне і цінне вміння.

У цьому довіднику ви знайдете словник англійської мови, шаблони фраз і структурний підхід, які зроблять ці розмови ефективними.


Чому ці розмови йдуть не так?

Більшість розробників роблять одну з двох помилок під час пояснення вади:

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

Занадто неопределённо. Они говорят “что-то сломалось” или “есть проблема с базой данных”. Заинтересованная сторона заполняет неопределенность наихудшими предположениями.

Метою є середній шлях: достатньо конкретний, щоб бути надійним, достатньо простий, щоб бути зрозумілим, і достатньо орієнтований на дії, щоб відновити довіру.


Структура 3-х частин

Використовувати цю структуру кожен раз:

  1. ** Що сталося ** — простим мовою, що саме пережив користувач?
  2. Чому це сталося - причина, пояснена без жаргону
  3. Що ми робимо — виправлення, графік, і будь-які заходи обережності

Ця структура дозволяє вам зосередитися і дає учасникам все, що їм потрібно, не перевантажуючи їх.


Частина 1: Що сталося

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

Ключові фрази

  • «Деякі користувачі не змогли завершити оформлення замовлення приблизно 40 хвилин цього ранку»
  • «Починаючи з 2 години ночі UTC, панель завантаження завантажувалася значно повільніше, ніж зазвичай для клієнтів на корпоративному плані»
  • «Невелика кількість користувачів отримали подвійні повідомлення електронної пошти — вони отримали одне і те ж підтвердження двічі»

Зауваження: ці описи вказують, хто був уражений, що вони пережили, і коли це сталося. Вони не згадують код.

** Коли це можливо, вкажіть кількість. ** « Невелика кількість » слабша за « менше 200 користувачів з 45 000 ». Числа зменшують тривогу, оскільки вони визначають масштаб проблеми.


Частина 2: Чому це сталося

Це те, де більшість розробників перебільшують. Ваша мета — дати причину, яка є істинною, простою і використовує аналогію, якщо поняття є абстрактним.

Аналогічні технології

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

  • ** Race condition ** → « Дві частини системи намагалися оновити один і той же запис у точно такий же час — наприклад, дві людини одночасно редагували одну і ту ж комірку електронної таблиці. Результатом стали пошкоджені дані»
  • ** Витік пам’ яті ** → « Сервер повільно накопичував роботу, яку так і не зміг прибрати — як стіл, який заповнюється папером швидше, ніж його можна скласти. Зрештою, у нього закінчився простір для нової роботи»
  • ** Вада анульування кешу ** → « Система обслуговувала старі дані з тимчасового місця зберігання замість отримання останньої версії — подібно до читання кешованої веб- сторінки з минулого тижня. »

Ключові слова для пояснення причини

  • «Причина була в тому, що…»
  • «Що сталося під капотом було…»
  • «Якщо сказати просто, то…»
  • «По суті, два процеси конфліктували один з одним, що спричинило…»
  • Це було викликано зміною конфігурації, яку ми розгорнули у вівторок, що мало непередбачуваний побічний ефект
  • «Загальне питання полягає в тому, що наша система не обробляла цей крайовий випадок правильно»

Частина 3: Що ми робимо

Це найважливіша частина для зацікавлених сторін. Вони хочуть знати: це виправлено? Это повторится? Что я скажу клиенту?

Ключові фрази для виправлення

  • “Ми виявили проблему о 2:47 вечора і встановили виправлення о 3:15 вечора. З того часу служба була стабільною»
  • «Ми реалізували тимчасове рішення, поки ми будуємо постійне виправлення, яке буде розгорнуто до кінця тижня»
  • Щоб запобігти цьому знову, ми додаємо автоматизований моніторинг, який буде попереджати нас протягом 60 секунд, якщо ця умова повториться
  • Ми відклали розгортання у вівторок, поки ми розслідуємо подальші події»

«Чому це сталося?» під тиском

Іноді зацікавлена сторона розчарована і хоче відповідальності, а не просто пояснення. Ці фрази допоможуть вам визнати помилку без перебільшення вибачень або відволікання уваги:

  • «Ви маєте право бути стурбовані — цього не повинно було статися. Ось що ми знаємо наразі…»
  • “Ми сприймаємо це серйозно. Наш негайний пріоритет - відновлення сервісу; як тільки він стабільний, ми зробимо повний аналіз кореневої причини. ”
  • “Ми маємо пост-мортальний документ готовий до четвертого з повним графіком і наші дії пунктів.”

Прийняття мови до вжитку

Різні зацікавлені сторони потребують різних рівнів деталізації:

** Менеджер продукту: ** Хоче знати вплив користувача, ETA для виправлення, і чи потрібно повідомляти про це клієнтам. Сфокусуйтесь на масштабі і часовій шкалі.

** Виконавчий / C-Suite: ** Хоче знати бізнес-ризик. Вплив на доходи? Ризик невідповідності? Не пиши більше трьох речень.

** Успіх клієнта / Підтримка: ** Хоче знати, що сказати клієнтам зараз. Дай им короткое, честное заявление, которое они смогут скопировать и вставить.

Тепер ви можете говорити технічно. Але навіть тут, ведеться з резюме і дозволяється запитати про деталі.


Ключовий словник

  • ** Корінь проблеми ** — основна причина, з якої виникла вада
  • ** Обсяг впливу ** — скільки користувачів або систем було вражено
  • ** Обхідне рішення** — тимчасове рішення, поки розробляється постійне
  • ** Відновлення ** — повернення до попередньої версії для відновлення стабільності
  • ** Країнний випадок ** — незвичайна ситуація, яку не передбачалося у початковій конструкції
  • ** Послідовні ефекти ** — вторинні проблеми, викликані початковою проблемою
  • Postmortem — письмовий аналіз події після того, як вона була розкрита
  • ** SLA ** — Угода про рівень обслуговування; зобов’ язання щодо часу роботи або продуктивності для клієнтів

Повний приклад скрипту

“Доброго ранку. Я хочу дать вам краткую обновленную информацию о проблеме с кассой с сегодняшнего утра.

  • Нет, не надо Між 9:15 і 9:55 приблизно 340 користувачів отримали помилку при спробі завершити покупку. Їх не звинувачували, і не було втрат замовлень.
  • Нет, не надо Причиной стало изменение конфигурации, которое мы вчера развернули. По суті, дві служби намагалися записати в один і той же запис замовлення в той же час, що спричинило конфлікт. Уявіть, що дві людини намагаються зберегти документ одночасно — система не може визначити, яку версію зберегти.
  • Нет, не надо Ми виявили проблему о 9:32 ранку і встановили виправлення о 9:55 ранку. Служба була повністю стабільною з того часу. Ми надішлемо користувачам, яких це стосується, вибачення сьогодні, і до п’ятниці ми отримаємо письмове повідомлення про наслідки, з нашими пунктами дій, щоб запобігти повторенню.
  • Нет, не надо Я готовий відповісти на будь-які запитання»

Цей сценарій має 160 слів. Він охоплює всі три частини, кількісно оцінює вплив, використовує аналогію і закінчується ясним наступним кроком. Це стандарт, до якого треба прагнути.

Поняття «неперервність» використовується для позначення неперервності в мовленнєвій діяльності

Пояснення складної помилки нетехнічним зацікавленим сторонам вже є викликом. Коли ви також пересуваєтеся по нюансах професійної англійської, це може відчуватися експоненційно складніше. Метою є не просто передати що сталося, але як це сталося - і, що найважливіше, чому це важливо з їхньої точки зору. Для нерідних носіїв це часто означає боротьбу зі специфічною лексикою і структурами речень, які не можуть перекладатися безпосередньо або інтуїтивно. Сфокусування на ясності є найважливішим, але досягнення цього вимагає більше, ніж просто спрощення вашої мови; це вимагає свідомо підібраного підходу до фразування.

Однією з поширених пасток для розробників, які не до кінця вміють розмовляти англійською, є використання надмірно технічного жаргону без достатнього контексту. Фрази на кшталт «сервіс пережив несподіване погіршення продуктивності» можуть негайно пригнічувати когось, хто не знайомий з основними метриками і системами, які беруть участь. Замість цього, націлюйтеся на описи, які обрамляють проблему в термінах, які вони можуть зрозуміти. Подумайте про те, щоб перетворити ваше пояснення на історію — розповідь про те, що пішло не так, зосередившись на впливі, а не на складних деталях самого коду. Наприклад, замість того, щоб сказати « Кінечна точка API зазнала невдачі через умову перегонів », ви можете сказати « Користувачі періодично не могли отримати доступ до своїх облікових записів, що призвело до втрати замовлень ». Це змінює фокус з технічної кореневої причини на * ефект * — негайний і зрозумілий наслідок для зацікавленої сторони. Крім того, демонстрація емпатії є ключем; визнання незручностей або розчарування, викликаних помилкою, будує довіру і співпрацю.

Іншим важливим елементом є активне слухання і адаптація вашого стилю спілкування на основі особи, з якою ви розмовляєте. Менеджер продукту може бути зацікавлений у впливі на бізнес, в той час як виконавчий, ймовірно, хоче зрозуміти потенційні ризики і стратегії зменшення. Змініть мову відповідно до потреб — уникайте надто докладних пояснень для тих, хто не має технічних знань, і надайте більш докладну інформацію, якщо вас про це запросять. Не бійтеся задати прояснюючі питання: « Чи можете ви розповісти мені трохи про те, що робить ця конкретна функція, щоб я міг краще пояснити проблему? » Це демонструє залученість і гарантує, що ви вирішуєте їх конкретні проблеми. Пам’ятайте, ефективне спілкування - це двостороння дорога.

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

# Example: Investigating a slow query using PostgreSQL's EXPLAIN ANALYZE

EXPLAIN ANALYZE SELECT * FROM orders WHERE customer_id = 123;

Після виконання цієї команди буде повернено докладні відомості щодо того, як сервер бази даних обробляв запит, зокрема, оцінювані і фактичні часи виконання кожного кроку. Зрозуміти цей вивід - особливо стовпець actual time - може бути вирішальним у поясненні вузької місцини продуктивності для зацікавленої сторони, яка не розуміє SQL або оптимізації бази даних. Ви можете сказати: “Вивід EXPLAIN ANALYZE показує, що повне сканування таблиці відбувається на таблиці ‘замовлення’, що займає приблизно 3 секунди. Це значно повільніше, ніж це повинно бути»

Поширені запитання

Про що ця стаття "Як пояснити складну помилку нетехнічним зацікавленим сторонам"?

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

Чи безкоштовна ця стаття?

Так. Усі статті на CoderSlingo, включно з цією, доступні безкоштовно без реєстрації.

Скільки часу займає читання "Як пояснити складну помилку нетехнічним зацікавленим сторонам"?

Приблизно 8 min.