Why Software Needs a Third Loop [audio]

від

у

Чому програмному забезпеченню потрібен третій цикл [аудіо]

https://ift.tt/GahNSPy

Джемс Говнер: Тому надання назви справді важливе. Саме тому ми написали Progressive Delivery. Було якірь-небудь кіно у дуже давні часи, і, чесно кажучи, його пам’ятають небагато. Його називали Things to Do in Denver When You’re Dead.

Йшлося про— у певному сенсі там була мафія, і існували певні контекстуальні речі. «Дати назву» була однією з тем, що проходила крізь серіал. Однією з речей були напої на човні. Так вони говорили про boat drinks, а boat drinks означав: ти — мафія, кінець твоєї кар’єри, а ти опиняєшся, знаєш— Валгалла для мафії — це ти у Флориді на човні, що п’є безглузді коктейлі. І ці були boat drinks, щось на кшталт Валгалли.

Хейдi Ватершо: Угу.

Джемс: Однією з тем цього фільму було: дати назву. Містика про мову. І я, який працює у технічній галузі як аналітик індустрії, очевидно капіталізація на protection rackets, давання назви, я розумію це. Зазвичай ми не робимо так, але можуть існувати деякі компанії, що люблять давати речам назви.

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

говорити: «О, ось це. Так, розумію. Progressive Delivery. Змішати feature flags та темну лончинг, та спостереження, щоб закрити контур

і все це інше. Це чудово. Я розумію. Це виробнича досконалість. Неймовірно. Progressive Delivery.»

Але подкаст, як на мене, має щось—

Кім Херрісон: Зачекайте-зауважимо. Джемс, давайте зробимо паузу.

Ви дали назву Progressive Delivery. Для тих, хто можливо не слухав інші випуски, чому

ви дали назву саме Progressive Delivery? Усього за одну хвилину.

Джемс: В основі — Сам Гаккенгаймер з Microsoft говорить про поступові розгортання, щось, що

вони робили—

Ейм Зімман: Прогресивне експериментування, так?

Джемс: Прогресивне експериментування, перепрошую. Це те, що Microsoft роблять насправді довгі роки. Якщо подивитися на радіус вибуху, одна з причин, чому всім дратує Microsoft, коли щось оновлюють, бо радіус вибуху такий великий. Так? Ти торкаєш настільки багатьох людей, що всі про це знають.

І вони проводили експериментування, випробовували речі на підмножині,

на конкретному когорті людей, перш ніж широким колом запустити. І це було, на той час, Azure DevOps. Сам працював над цим, і це був один з їхніх принципів. Але

багато чого з Progressive Delivery —

Я маю на увазі подивись, тестові димки не нові, канарінг не новий, blue-green не новий. Але з упаковкою у сукупності за можливостями хмари з точки зору повноти, з приємною автоматизацією з погляду узгодженості — це Progressive Delivery. Тож називати речі — це просто важливо й дозволяє людям розуміти річі.

І це було— Прогресивне виділення з‘явилося. Я роздумував над усім цим набором речей і

у мене не було назви того, як виглядало CICD, якби ви робили Інтернет протягом 15 років, правда?

Адам: Так. Тут, коли ви й я почали говорити, у нас була однакова проблема. Нам було потрібно щось, щоб назвати це, щоб у техносвіті залишалося послідовно, наскільки це можливо, щоб, коли ми щось казали, не доводилося годину пояснювати.

Джемс: 100%, і ми б увійшли у годину розмови.

Хейді: Ха-ха. Я також хочу сказати, що я говорила про різницю між релізом і доставкою, і про те, що випустити щось не те саме, що люди це приймуть.

Джемс: 100%. Я думаю, з часом були моменти, коли Адам трохи хвилювався. «Чи зможемо ми називати це прогресивним? У цій постиовій епосі чи буде це прийнятним?»

Але думаю, А, хай злих хейтерів, і Б так, ідея прогресивних розгортань — обмежувати радіус вибуху — дуже добре складлася. І так, на мою думку, назви мають значення і дозволяють людям розуміти речі.

І це було— Прогресивне клацнуло. Я думав про все це, але не було назви того, як виглядав CICD після 15 років Інтернету, чи не так?

Адам: Так. Це було там, де ви і я почали говорити — ми обидва мали одну й ту саму проблему. Нам потрібно було щось назвати це, щоб зберегти послідовність настільки, наскільки це можливо, щоб ми не занурювалися у годину пояснень.

Джемс: 100%, і ми сказали, увійшло у годину розмов.

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

Джемс: 100%. Я думаю, з часом ми побачили, що третій цикл, включення користувача у процес, включення користувача — якщо подумати про продукт, який ми тут розглядаємо, стало очевидним, що Progressive Delivery та включення спостережуваності, тобто наявність зворотного каналу, Третій цикл — це те, за що ми справді зраділи.

І для мене зараз Progressive Delivery. Так, третій цикл — це чудовий спосіб говорити про те, що багато з цього стосується розуміння користувацького досвіду. Це те, що ми робимо тут? Ми намагаємося створювати захоплюючий досвід, від якого користувачі отримують користь, і я думаю, що так, Dev та Ops — круто. Але як щодо Dev, Ops та користувачі? Ось Третій цикл.

Кім: Я хочу поставити вам кілька запитань про назви, які майже були використані. І почну з одного з моїх улюблених. Ми знову втручаємося в Хейді, бо ми всі це любили, але воно не повністю зайшло, лише тому, що Third Loop був настільки хорошим. Але Never Finished був одним з майже назв.

Хейді: Так.

Кім: І є ще інші, які ми маємо обговорити.

Хейді: Never Finished була ранньою ітерацією цієї ідеї, що:

Ми більше не пишемо software на CD. І тому, що його можна доставити повсюдно, він ніколи не закінчується. Немає реальної доброї точки релізу. І потрібно прийняти, що програмне забезпечення ніколи не завершується у веб-світі, бо ми постійно підкручують речі. І це здебільшого добре, але інколи дуже складно.

Адам: Ну, інша частина Never Finished полягає в тому, що наш світ не зупиняється.

Хейді: Мхм.

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

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

Кім: Інша назва: Радикальна делегація. Адам, твоя черга.

Адам: Думаю, це щось, що виникло з—

Джемс: Ти маєш зробити це голосом пірата, Адам. Ха-ха.

Адам: Або хоча б Лорд-Капітан Командер?

Кім: Так.

Джемс: Ну, це цілий набір британської витонченості, який я чекаю, щоб ти спробував.

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

Джемс: О, Боже мій. Я ніколи не хочу, щоб ти говорив іншим голосом, Адам. Це твій третій цикл голос. Ха-ха. Це реально робить шоу набагато краще. І тепер тобі дозволено говорити тільки цим голосом.

Хейді: Гаразд, але давайте обговоримо, що він каже. Хаха.

Адам: Спершу мені треба знати, Джеймсе, чи був той регіональний акцент близький до відповідного, чи ні.

Джемс: Я не зовсім той, кого запитати, але це було вражаюче.

Адам: То я відкладаю карикатуру наразі, щоб я міг сформулювати свої слова про те, що хочу передати. В кінці кінців це була ідея, яку ми включили до книги, спершу вона походила з Navy. І це було в контексті того, що кораблям давали наказ досягти мети. У перші дні флоту не було супутникових комунікацій. Ні.

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

Так само ми з’ясували, що одним із основних принципів Progressive Delivery було: як дійсно відокремити контроль та мету вашого програмного забезпечення від доставки вашого ПО? І тому частиною цього було, як зробити так, щоб делегувати, хто бачитиме що і коли з точки зору функціональності, від людини, яка створила це, або навіть від людини, яка керує вашим середовищем ближче до користувача. Правильно?

І це було те, про що ми багато говорили в контексті не лише прапорців функцій та доставки функцій, але й у контексті спостережуваності.

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

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

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

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

Одне з речей, що я не бачив з оновленнями телефонів довгий час, — це можливість фактично повернути назад. Так? Як, звісно, складно та тяжко, але це було б чимось корисним для певного сегмента користувачів.

Джемс: Ну, я вважаю, що ти згадував агентність. Агентів — чи то агентів, але LLMs, о боже мій. Ми захоплюємося особистостями LLM, ми засмучуємося, коли вони змінюються. Це одна з дійсно цікавіших меж прогресивного доставлення, пробачте за каламбур, — це коли люди кажуть: «але мені подобається та інша особистість.»

Адам: Так, іноді це за їхню шкоду. Правильно? Бо, здається, було останнє—?

Хейді: Покорний характер їх — так.

Адам: Так, ми видаляємо цього, бо це спричинило погане психічне здоров’я для деяких наших користувачів, і численні користувачі казали: «так, але я насолоджувався своїм поганим психічним здоров’ям, бо робот говорив зі мною доброзичливо.»

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

І я думаю, що відсутність видимості є метою Progressive Delivery у певному сенсі: ми хочемо, щоб люди не замислювалися, чи я в цій маленькій секції, чи в цій великій секції? Але це також серйозна проблема, бо хто несе відповідальність, якщо щось не взаємодіє?

Адам: Ну, я вважаю, що це не лише питання звинувачення. Саме тут ми були дуже конкретними щодо радикальної делегації і чому відчував, що термін підходить: він зобов’язує мене також чітко сформулювати різницю між делегацією та відпусканням з-під контролю. Правильно?

Джемс: Мхм.

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

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

На відміну від відмови від відповідальності, коли ви фактично відмовляєтеся від цього, це тепер ваша проблема, ви — відповідальна сторона. І я думаю, тут ми, на жаль, бачимо багато абнегації у контексті відносин з користувачем від постачальників програмного забезпечення, коли кажуть: «О, я надам вам цей контроль, але тепер ви відповідальні.»

Хейді: Мхм.

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

Якщо я дам вам можливість оновити ваш телефон і виявиться, що оновлення «кирпичить» ваш телефон і скажу, що це ваша помилка, це насправді не делегація користувачу.

Хейді: Так, цікава перспектива — зростання верифікації віку. Уряд відмовляється від відповідальності за те, що відбувається онлайн. І кажуть, що вони делегують. Вони кажуть: платформи повинні забезпечити захист користувачів від бачення того, чого вони не хочуть бачити. Але спосіб їхнього застосування робить це неможливим зробити етично через «один розмір підходить всім».

Не розуміючи нюанси різних спільнот. І ті, хто керують сайтами — наприклад, зараз з Discord: можна або мати дискорд дорослих із верифікацією особи, або дискорд для підлітків, але не можна бути анонімним дорослим. І це реальна проблема. Це завдасть багато шкоди. Але бо ті, хто пише правила, не розуміють нюансів цього або розуміють і просто хочуть нав’язати свої погляди, ми матимемо багато людей, які стануть більш схильні до небезпеки, ніж раніше.

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

Джемс: 100%.

Адам: І наші системи урядування та процеси ухвалення правил не встигають за темпами та охопленням технологій.

Хейді: Абсолютно.

Кім: Добре. Справді, чесно кажучи, Адам, це швидше, ніж наша культура може впоратися.

Адам: Так.

Кім: Інша потенційна назва: Jerk. Ми обговорювали це у книзі, так? Усі ми маємо відчуття веремені від того, скільки всього було на нас навалено, і чи готові ми це прийняти або ні?

Джемс: Джерки, над якими домінують джерки. Це так?

Адам: Так іноді. Інколи ні, правда?

Джемс: Ні, ні, це правда. Але ми просто… Так, дійсно є джерки в системі зараз.

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

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

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

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

Виявляється, брюссельська капуста 50 років тому була значно “гострішою” за нинішню. Я люблю брюссельську капусту. Чому всі ненавиділи її? Тому що були різні брюссельські капусти. Ми продовжували їх селекцію, щоб вони були менш різкими.

Джемс: Так, зараз вони дійсно смачні.

Хейді: Так. Але так само нам потрібні обидва види людей. Нам потрібні завзяті першопрохідці, «я зібрав це з Raspberry Pi та мрії». І нам потрібні люди, які кажуть: «Що? Мій телефон п’ять років, але все ще працює. Я замінив батарейку. Дякую. Не чіпай його.»

Джемс: Так.

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

Джемс: Так, це чудове питання, і я вважаю, що це наш обов’язок — зрозуміти, що існують різні швидкості змін, які ви описали, бо —

Легко вважати, що всі живуть у майбутньому, але це не так.

Тож Progressive Delivery як концепція, однією з речей, і ви знаєте, Третій цикл, як тільки ви включаєте Третій цикл, стає дуже зрозуміло, що або, швидше, загальне: розробка ПЗ нерозривно пов’язана з управлінням продуктом. Це звучить очевидно, але скажу вам: зайдіть у більшості роздрібних мереж, банків, телекомів — у них немає витонченої культури управління продуктом і немає витонченої культури доставки ПО.

Тож, говорячи з організаціями, які досить традиційні підприємства, існує великий розрив між нашим бажаним станом «добро» та їхньою реальністю у доставці продукту. Я зараз спілкуюся з компанією електронної комерції щодо їхнього шляху до Progressive Delivery. І вони не використовують прапорці функцій. Вони кажуть: ні, у нас є канарінг, так що ми майже готові.

І ти такий: добре, хто користувач? Ти розумієш, як речі виглядають для них? Просто дуже цікава розмова. І вони кажуть: користувач — це розробник. І я кажу: з точки зору платформи це так. Але а користувач розробника? Наскільки вони створюють для них?

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

І також не забувайте, що

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

Коли Інтернет падає і ви думаєте: «Що?», компанії, які мають краще знати — але так, гіперскейлери — вони теж роблять дурниці з мережевими змінами, які поширюються по всій мережі. Тож нам всім треба працювати над цим.

І підприємствам не слід відчувати: о, Боже мій, Челленджер банк набагато кращий за нас, бо, або — ого, це…

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

Адам: Так. І ще один тонкий аспект з цього — у книзі ми також говоримо, що коли кажеш «стань кращим у обслуговуванні клієнта», дуже важливий аспект — усвідомлення того, що не всі клієнти хочуть одного й того ж у той же момент.

Джемс: Мм-хм.

Адам: Так як же створювати системи та сервіси та застосунки та функції, які краще задовольняють окремих клієнтів з їхніх поточних позицій? Можливо, не буде ідеально, але краще відповідати індивідуальним клієнтам там, де вони є?

Джемс: Банкінг — чудовий приклад. Нарешті ми позбулися касирів, і це гігантна катастрофа для багатьох людей, які просто хочуть піти у банк. Ідея, що я не можу піти у банк, щоб зробити банківські операції. Хтось любить телефонне банкінг. Це було великим нововведенням у 90-ті чи коли завгодно. Це дивовижно — я можу зателефонувати до свого банку і зробити операцію.

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

Хейді: І бути так само безпечно, як у традиційному офісі банку, де ви знаєте вашого банкіра.

Джемс: Так. Я думаю, існує відповідальність щодо того, як ви думаєте про делегацію — це пов’язано з відповідальністю думати про користувача та доступність. Я вважаю, що ми мало говоримо про доступність у книзі. Це недогляд.

Кім: Це точно те, що ми обговоримо на цьому подкасті.

Джемс: Так. Я відчуваю, що я пітнію зараз відчуваю, чому ми не…

Хейді: Ми деяке обговорювали і вирішили, що маємо бути більш сфокусованими. Але ми обов’язково доберемося до цього, бо універсальний дизайн та доступність насправді є дуже основою того, як це працює.

Кім: Так.

Джемс: 100%. Але універсальний аспект цікавий, і так, дивіться, нам потрібні банки, охорона здоров’я, урядові служби, все має бути доступним для всіх. І я думаю…

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

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

І уряд також.

Уряд каже: «О, тепер усі користуються Інтернетом». А як щодо цього? Охорона здоров’я, Великобританія, NHS, зробили досить непогану роботу. Просто набираєш 111 зараз, і можеш отримати консультацію з охорони здоров’я.

Адам: Так. Не говоріть американцям про охорону здоров’я.

Хейді: Так, ми відчуваємо це.

Адам: Хахаха!

Джемс: NHS не ідеальна, але ідея, що я можу просто набрати і отримати реальну медичну пораду для простого запиту — це не 999, це не термінова допомога, просто мене це турбує. Це телефонний дзвінок. Звісно, ви можете використати Інтернет для цього, але більшість людей досить комфортні. І можливо не всім, але дзвінок може бути дуже важливим можливістю.

І так, це дивовижно. Будь-якої миті, день і ніч, ви відчуваєте, що щось вас турбує, це не надзвичайна ситуація. 1-1-1. І так, частково це автоматизовано, частково — людина. Але якщо відповідь була б: «Користуйтеся застосунком», це була б нісенітниця.

Хейді: Так, так.

Адам: І, на жаль, це, я думаю, надто часто в США, коли ці системи та послуги не існують, у нас є проблеми, коли люди використовують ЧатГПТ для медичних порад.

Хейді: Мм.

Джемс: Ну це, напевне, станеться все одно.

Хейді: Але ми зараз не вирішимо світові проблеми охорони здоров’я. Чи були ще назви, які ми розглядали?

Кім: Чесно кажучи, Джеймсе, ти мав найбільш розумну. Ти продовжував називати це The Pod, Progressive Delivery Pod, що, як на годинку, смішно, у нас були ідеї для назв книжок, але ти просто казав: «скажи, що це є».

Джемс: Так, я думаю, тут багато чого розповісти. Так. Сила дати назву.

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

Адам: І я думаю, Third Loop, коли ти думаєш, що цей подкаст стане наступним або розширенням обговорення, яке ми почали з книгою—

Джемс: Господи, ми матимемо так багато дивовижних гостей.

Адам: Так. І я думаю, що Third Loop — це дійсно місце, де ми хочемо переконатися, що збережемо фокус цього обговорення.

HI-FI News

через Hacker News https://ift.tt/EMcfDnu

29 квітня 2026 р. 20:03–UTC українською. Тільки ті тексти, що були перекладені.

April 29, 2026 at 08:03PM