Thursday, February 13, 2025

Колір магії (Terry Pratchett)

 

Кращі нотатки з книги:

“На дискосвіті тиждень, звісно, має вісім днів, а спектр світла поділяється на вісім кольорів. Вісімка тут - узагалі надзвичайно важливе окультне число, і чарівник не повинен промовляти його за жодних обставин.”

“зупинившись лиш для того, щоб забрати життя мухи-одноденки, що пролітала повз, та одну девʼяту життя кішки, що вичікувала нагоду поживитись під прилавком із рибою, (усі коти, між іншим, чудово розрізняють октарин у спектрі кольорів)”

#1 Додаток для Швидкочитання (promo) 

“Восьмий колір — це октарин, який виникає внаслідок розсіяного впливу інтенсивного сонячного світла на потужне магічне поле.”

“Що герої люблять найбільше, то це — себе.”

“Звісно, — сказав він, — Єдина причина заглянути в пащу Смерті — це нагода поцупити Його золоті зуби.”

Sunday, February 2, 2025

Довіра (Ернан Діаз)

 

Нотатки з книги:

“У пʼять років дівчинка вже встигла стати невситимою читачкою, і її батько з подивом виявив у ній не за віком розвинену співрозмовницю. Вони ходили на довгі прогулянки вздовж Гудзону, які, бувало, тривали до пізнього вечора, бесідуючи про природні явища довкола них — про пуголовків і сузірʼя, про опале листя та вітри, якими його носить, про місячне гало й оленячі роги. Леопольд іще ніколи не знавав такої радості.”

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

“її попросили докладно занотовувати сновидіння в щоденник, і вони з нумерологічним завзяттям розбирали ті записи, шукаючи зашифровані послання від янголів.”

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

“на думку Гелен, не було страшнішої наруги, ніж над сенсом.”

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

Фокус Таймер (промо) 

“Поміж загального спустошення й руїн устояв лише Раск.”

“Жоден із тих, хто виступав у Гелен із читаннями-концертами або відвідував їх, так і не став для неї справжнім другом, але всі гуртом вони встигли зробитися необхідним компонентом життя. Вона втратила смак до самотності.”

“Цілком байдужий до реальності довкола нього, Раск не відчував потреби чи морального обовʼязку допомагати хай кому. Його життя, завжди обмежене роботою та домом, залишалося незмінним. Для нього рецесія була не більше ніж звичайним нападом пропасниці, після якого економіка, оговтавшись, стане міцнішою, ніж будь-коли. На його переконання, крах був ланцетом, яким розітнули абсцес. Добряче кровопускання було необхідне, щоб зігнати набряк і щоб ринок отримав змогу намацати справжнє дно й відбудуватися на надійних засадах.”

“Гелен стояла посеред кімнати, лицем до дверей. У грецькій простоті її нічної сорочки було щось царствене, у скуйовдженому волоссі та шрамах — щось войовниче, а в переможному спокої — щось янгольське.”

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

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

“розвиток подій на ринку доходив до Раска лише у формі «новин» — так преса називає рішення, які нещодавно ухвалили інші люди.”

“Симптом, хвороба й лікування — це триєдність.”

“Гори, земля, саме Раскове тіло раптом стали нематеріальними й невагомими. Все спорожніло. Це не він підвівся — це просіла планета.”

“Моє імʼя відоме багатьом, мої діяння — вузьким колам, а життя — дуже мало кому. Мене це ніколи особливо не турбувало. Важить рахунок наших досягнень, а не легенди про нас.”

“адже заперечення - це завжди різновид підтвердження.”

“Я фінансист у місті, де керують фінансисти. Мій батько був фінансистом у місті, де керували промисловці. Його батько був фінансистом у місті, де керувала міцно спаяна спільнота — бездіяльна й самовдоволена, як і більшість провінційних аристократій. Усі ці чотири міста мають одну назву - Нью-Йорк.”

“Тодішній досвід виклав йому два міцно засвоєні уроки. Перший зводився до того, що ідеальні умови для бізнесу ніколи не виникають самі. Їх треба створювати… А другим і найголовнішим відкриттям стало те, що — як промовисто засвідчували всі Вільямові оборудки за ціле життя — за належної направленості індивідуального інтересу йому не обов’язково розходитися з колективним. Цим двом принципам (ми самі робимо собі погоду; особисті здобутки мають слугувати для загального блага) я завжди намагаюся слідувати.”

“Жодній оборудці не стати вповні успішною без глибокого розуміння людської природи.”

“Кожен фінансист повинен бути енциклопедистом, бо фінанси — та нитка, яка пронизує кожен з аспектів життя. Саме в цій нитці зсукуються воєдино всі розрізнені волокна нашого існування. Бізнес — ось спільний знаменник будь-якої діяльності та всякого починання. А це, своєю чергою, означає, що немає такої речі, яка не стосувалася б бізнесмена. Його стосується все. Він воістину людина епохи Відродження. Саме тому я присвятив себе набуттю знань у кожній мислимій царині — від історії до географії та від метеорології до хімії.”

“Щоб оборудка вийшла успішною, треба вичерпно розібратися — подекуди за одну ніч - у всіх її аспектах.”

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

“Жертвувати гроші непросто. Це потребує неабиякого стратегічного планування. За неналежного управління філантропія може зашкодити тому, хто дає, й розбестити того, хто отримує. Розширити. Щедрість — матір невдячності.”

“Ніщо не шкодить хворим так, як несправджені сподівання.”

“Кажуть, освіта дитини починається за кілька поколінь до того, як вона народиться.”

“Джерело моєї переваги — поєднання наукового підходу, обʼєктивної обробки величезних обсягів даних, а також інтуїції.”

“Ринок завжди має рацію. А ті, хто намагається ним керу-вати, — ніколи.”

“Кожною нашою дією керують економічні закони. Зранку ми, прокидаючись, обмінюємо відпочинок на прибуток. А ввечері, йдучи спати, віддаємо години потенційного прибутку за можливість поновити сили.”

“кожна з невдалих співбесід ставала безцінним уроком, і з плином часу я була дедалі ближче до отримання вакансії.”

“Я запозичувала уривки з промов Вудро Вільсона, з химерного трактату Роджера Бебсона про заможність, з «Автобіографії» Вільяма Захарії Ірвінґа, з «Американського індивідуалізму» Герберта Гувера, з «Виховання Генрі Адамса»… Із-поміж останніх найкориснішим стали « Таємничі люди з Волл-стріт» Ерла Спарлінґа.”

“Хаос — це вихор, що розкручується чимраз швидше з кожною річчю, яку поглинає.”

“Добробут держави ґрунтується ні на чому іншому як на масовому егоїзмі, що, накопичившись, зрештою починає нагадувати так зване загальне благо. Якщо егоїстичні індивіди зберуться докупи в достатній кількості та діятимуть у єдиному напрямку, то результат сильно скидатиметься на колективну волю або спільну мету. Але за цією ілюзією громадського інтересу зазвичай забувають про один надзвичайно важливий нюанс: якщо мої потреби, прагнення й бажання збігаються з вашими, то це означає, що наша ціль не спільна, а та сама. Ось де засаднича відмінність. Моя з вами співпраця триватиме лише доти, доки слугуватиме моїй вигоді. А поза цим можлива або конкуренція, або байдужість.”

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

“Повернувся Ендрю, ощасливлений результатами в Ц., які тепер (як і завше) приписує своїй «інтуіції».”

“Підслухала: «Всі знають, що я тут інкогніто».”

“Е. щойно телефонував із Ц. (уже вкотре), просячи поради. Кольбе, Ленбах, Лондон, Нью-Йорк etc., etc., etc. Він, як завше, плутає непевність із ґрунтовністю, а вагання з аналізом.”

“Мовчанка двох людей завше спільна, але належить комусь одному, і той ділиться нею з другим.”

“Але коли Е. ознайомився з моїми записами, ми з ним почали таку собі співпрацю. Він навчав мене інвестиційної премудрості, а я його — не обмежуватися і рамками. В такій роботі я знаходила страшенну втіху. Ми вперше стали справжніми партнерами. І, я навіть сказала б, щасливими. За повного доступу до капіталу результати стали майже миттевими. Цифри були колосальні — воістину астрономічні. Про Ендрю та «його хват» почали говорити з благоговінням.”

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

“істинно одружений тільки той, хто більше вірний обітницям, ніж людині, якій їх давали.”

“У проміжку між 1922-м і 1926-м я сплела павутину. Завдяки відкритому в математиці «ефектові залипання», її мережа розтягнулася навсібіч. Результати були відтворювані. Вийшла функціональна модель із суцільних атракторів. І навіть тривимірна. Е. виконував мої інструкції. Протягом тих років ми заробили стільки, що первинний статок Бевлів видавався крихітним. Я пояснювала Е. «ефект залипання» і принцип павутини незліченно разів. Та він або вдавав, що слухає моє пояс нення, або втрачав терпіння. Сама винна. Ніколи не вміла до пуття розтлумачити математику.”

“Він якось сказав, що не почувається чоловіком. А я відчула відразу до його марнославства. Але наша химерна співпраця тривала. Мене захоплював процес, а Е. — результати. Хоча я покривила б душею, сказавши, наче для мене це стало звичайними інтелектуальними вправами. Я відкрила в собі глибочезне джерело амбіцій. І живилася з його темних вод. Наприкінці цього періоду (початок 1926-го? ) мою увагу привернув один ефект біржі, який дедалі більше давався взнаки в міру розширення наших транзакцій і зростання прибутків — трафік. Під час сплесків або спадів тикер завше сильно відста-вав. Розрив між ціною в залі й за тикером міг сягати десятка пунктів. Я вирішила скористатися з цих затримок. І стала створювати їх, торгуючи у величезних обсягах та викликаючи загальну нестяму. Тикер відставав, і я на кілька хвилин заволодівала майбутнім. Ендрю став легендою. Всяк мав його за ясновидця й містика.”

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

“У книжках, у музиці та живописі я завжди шукала емоційності з елегантністю.”

“Але на початку 1929-го цю ненадійну гармонію зруйнували дві синхронні події. Чи, власне, не події, бо обидві лежали в майбутньому, а, так би мовити, два прогнози. По-перше, моє усвідомлення, що до кінця року ринок обвалиться. А по-друге, діагностований рак, від якого я мала померти невдовзі по тому.”

"Бог — найнецікавіша відповідь на найцікавіше запитання. "

“коли граєш проти ринку, все перевертається догори дригом: що сильніше знецінення, то більший прибуток, і навпаки.”

Saturday, February 1, 2025

Посібник The Financial Times зі стратегії для соціальних медіа

 

#1 Додаток для Швидкочитання. (promo)

Кращі нотатки з книги:

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

“дискусійні форуми та чати, як-от doctor.net (що має понад 200 000 членів у Великій Британії) та The Student Room (котрий зазначає, що є найбільшою студентською спільнотою у світі, яка налічує понад 1,8 млн членів);”

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

“Існує пʼять видів показників для вимірювання діяльності в соціальних медіа: охоплення, залучення, пропаганда, дія та вплив.”

“Якою є ідеальна операційна система? 1) Вона відповідає розміру та складності вашої організації, максимально використовуючи наявні ресурси, навички та кошти. 2) Вона є досить гнучкою, тож її можна підлаштувати в разі пікового попиту чи кризи. 3) Вона полегшує співпрацю між командою соціальних медіа та іншими частинами організації й допомагає уникнути ситуацій, коли інформація, отримана із соціальних медіа, застрягає на організаційному рівні та не потрапляє до потрібних людей.”

“Насправді в Інтернеті не існує такого поняття, як «видалити», тому, будь ласка, подумайте, перш ніж щось публікувати.”

“Навіть не думайте про… Обговорення фінансової інформації, показників продажу, стратегії, прогнозів, юридичних питань, майбутньої рекламної діяльності. Надання особистої інформації про клієнтів або співробітників. Публікацію конфіденційної або непублічної інформації. Відповідь на образливий або негативний пост клієнта. У цій грі немає переможців».”

“Контент, який підлягає премодерації, перевіряють перед тим, як він зʼявиться на будь-якому публічному форумі.”

“Контент, який підлягає постмодерації, відстежують, і його навіть можуть видалити, якщо вважатимуть образливим чи недоречним після того, як він зʼявився на публічному форумі, або тому, що його позначили таким команди соціальних медіа чи інші члени інтернет-спільноти (іноді це називають «реактивною модерацією»).”

“Twitter — це канал з високою частотою. Підраховано, що середній термін життя твіту становить близько 20 хвилин, після чого він зникає в цифровому ефірі, якщо ніхто ним не поділився або свідомо не намагається його знайти.”

“Facebook та Instagram загалом функціонують на нижчому рівні частоти, і тому одна-дві публікації в день видаються ефективними.”

“LinkedIn — це канал низької частоти. Його використання зростає, але багато людей заглядають на нього лише періодично. Тривалість життя контенту в LinkedIn можна виміряти в днях, а не хвилинах…”

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

“Hughes, T. & Reynolds, M. (2016) Social Selling: Techniques to Influence Buyers and Changemakers. Kogan Page.”

“Людина, що має мільйон підписників в Instagram, може отримувати 3000 фунтів стерлінгів за допис”

“медіа, оплата дописів в Instagram може варіювати від 800 доларів для людей, які мають менше ніж 250 000 підписників, до 150 000 доларів для тих, хто має 7 млн і більше.”

“YouTube — платить найбільше: сім або більше мільйонів підписників приносять у середньому 300 000 доларів.”

негативні відгуки — це не привід ображати клієнтів.”

“Часто те, що називають «кризами в соціальних медіа», насправді є операційними кризами, які просто посилюються через соціальні медіа.”

“Кожен працівник зі смартфоном є потенційною загрозою репутації.”

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

“Фахівці з технологічних досліджень компанії Gartner з 1995 року використовують свою модель «циклу надочікувань» для відстеження впровадження нових технологій (див. рис. вище). Згідно з цією моделлю, успішні технологічні інновації проходять пʼять різних етапів. За початковим «технологічним тригером» іде етап із цікавою назвою «Пік надмірних очікувань», коли ентузіазм та перебільшення є найсуттєвішими. За ним слідує етап «Позбавлення ілюзій», коли виявляється, що технологія неминуче нездатна відповідати перебільшеним очікуванням фази її запуску. Деякі технології ніколи не знаходять виходу з цієї «западини», але успішні інновації зазнають поступового відновлення протягом етапу «Подолання недоліків». Зрештою, це призводить до того, що технологія стає стабільною або зрілою, її переваги широко приймаються та підлаштовуються під основних споживачів — цей етап описаний компанією Gartner як «Плато продуктивності».”

Saturday, January 25, 2025

Чистий Agile: назад до основ

 



Нотатки з книги:

“обмежує всі проєкти й накладає обмеження згідно з правилом хреста. Добре, швидко, дешево, готово. Оберіть будь-які три складники, які вам подобаються. Але четвертий ви подужати не зможете.”

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

“Agile — це насамперед підхід, орієнтований на зворотний звʼязок. Кожен тиждень, день, година та хвилина визначаються результатами попереднього тижня, дня, години та хвилини, і потім уносяться відповідні корективи. Це застосовується як до окремих програмістів, так і до управління всією командою. Без даних важко належно керувати проєктом’”

“Аналіз можна розуміти як розбиття проєкту на структурні елементи (декомпозиція). Або ж як виявлення та розробку вимог. Можна як створення базової моделі даних або обʼєктної моделі тощо…”

“Етап проєктування програмного забезпечення для нас зрозумілі-ший. Він полягає в розділенні проєкту на модулі й створенні інтерфейсів між ними.”

“Аналіз та проєктування не працюють у парі як показники результативності. У них немає однозначних критеріїв завершеності.”

“Спринт — термін, який використовують у Scrum. Мені він не подобається, бо має на увазі, що потрібно мчати стрімголов. Проект із розробки програмного забезпечення — марафон, а хто на марафоні вдається до спринту?”

“Головна мета Agile - позбутися марних надій. Ми практикуємо Agile, щоб знищити надію, перш ніж вона спричинить «смерть» проєкту. Надія вбиває проєкт. Це те, що змушує команду з розробки програмного забезпечення вводити в оману менеджерів щодо її реального просування вперед. Коли менеджер запитує команду: «Як ідуть справи?», то в самому запитанні вже жевріє надія на відповідь «Дуже добре». Надія — дуже поганий спосіб управління програмним проєктом. A Agile — це спосіб забезпечити своєчасну й безперервну дозу холодної, суворої реальності навзамін надії.”

“Менеджери керують програмними проєктами, збираючи дані, а потім ухвалюють на їх основі найкращі рішення з можливих. Agile виробляє дані. Багато даних. Менеджери використовують їх, щоб привести проєкт до найкращого можливого результату.”

Закон Брукса стверджує: «Додавання робочої сили до проєкту, здача якого затягується, затримує його ще більше». [Brooks, Jr., F. P. 1995 [1975]. The Mythical Man-Month. Reading, MA: Addison-Wesley.]”

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

“Beck, K. 2000. Extreme Programming Explained: Embrace Change. Boston, MA: Addison- Wesley. Існує й друге видання, датоване 2005 роком, але перше — моє улюблене, і я вважаю саме його кінцевим варіантом.”

“акцент Agile на тестуванні, рефакторингу, простоті дизайну та відгуках клієнтів — це очевидний лікувальний засіб від продукування поганого коду.”

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

“У Біллі про права клієнта сказано, що він має право: 1) ознайомитися із загальним планом і знати, що, коли й за які гроші можна буде отримати; 2) отримати максимально можливе з кожної ітерації; 3) бачити прогрес у робочій системі, отримати належно про- тестовану систему; 4) змінити свою думку щодо розробки, поміняти функціональність і пріоритети, не маючи непомірних витрат; 5) отримувати відомості щодо змін у графіку робіт, аби вчасно скоротити обсяг робіт і встигнути до необхідної дати: скасувати проєкт у будь-який час і отримати корисний робочий код, який виправдовуватиме інвестиції, зроблені до моменту скасування.”

“У Біллі про права розробника сказано, що він має право: 1) знати, що від нього хочуть, а також отримати чіткі декларації поставлених пріоритетів; 2) завжди виконувати роботу якісно; 3) просити та отримувати допомогу від колег, керівництва та клієнтів; 4) здійснювати власне оцінювання та оновлювати його відповідно до поточної ситуації; 5) брати на себе відповідальність, а не чекати, поки на нього покладуть зайві обовʼязки.”

“Agile не процес. Agile не тренд. Agile не просто набір правил. Це, найвірогідніше, сукупність прав, очікувань та методів, яка складає основу професійної етики.”

“Триваріантна оцінка. Один із методів, який досить добре підходить для виконання великих завдань, — це триваріантна оцінка. Такі оцінки складаються з трьох позицій: найкраща, номінальна (допустима) й найгірша. Ці позиції вказують на довірчий інтервал. Найгірша оцінка - показник часу, протягом якого ви відчуваєте себе на 95% упевненими, що завдання буде виконано. Допустима має лише 50 % довіри, а найкраща — лише 5 %. Наприклад, я на 95 % упевнений, що завдання буде виконано протягом трьох тижнів. Я лише на 50 % упевнений, що його буде завершено за два тижні. І я лише на 5% упевнений, що завдання буде завершено протягом одного тижня. Є ще один спосіб поглянути на це. Якщо взяти 100 подібних за-вдань, то пʼять із них буде виконано протягом тижня, 50 — двох тижнів, а 95 — протягом трьох тижнів.”

“можу порекомендувати вивчити техніку оцінювання та аналізу програм і проєктів (PERT) [https://en.wikipedia.org/wiki/Program_evaluation_and_review_technique]”

“Історія користувача - це скорочений опис функцій програми, розказаний з погляду користувача.”

“оцінювання відбувається не за часовими пара-метрами, а за складністю виконання. Одиниці складності історії мають бути лінійними. Картка з оцінкою 2 повинна вимагати приблизно половини зусиль картки з оцінкою 4. Однак лінійність не повинна бути ідеальною.”

“час спланувати першу ітерацію. Перший крок - зустріч, присвячена її плануванню. Ця зустріч повинна тривати одну двадцяту всієї ітерації. Тобто для двотижневої ітерації зустріч має тривати близько пів дня. На зустріч, присвячену плануванню ітерації, має зʼявитися вся команда, тобто програмісти, тестувальники, керівник проєкту, а також зацікавлені сторони. Останні мають попередньо прочитати оцінювані історії та відсортувати їх у порядку цінності для свого бізнесу.”

“Важливо усвідомити, що швидкість не є обовʼязком. Команда не обіцяє виконати 30 одиниць за час ітерації. Вона навіть не обіцяє зробити спробу в цьому напрямку. Це не що інше, як здогадка про те, скільки одиниць за найкращого розвитку подій буде завершено до кінця ітерації. Таке передбачення не дуже точне.”

“квадранти використовуються для розрахунку рентабельності інвестицій (ROI). Це неформальний підхід, і математика тут не потрібна. Зацікавлені сторони просто дивляться на картку й роблять висновки на основі цінності та складності історії.”

“Мета ітерації - генерувати дані для менеджерів.”

“Користувацькі історії — це прості висловлювання, застосовувані нами як нагадування про функції. Ми намагаємося не занотовувати занадто багато подробиць, коли пишемо історію, бо знаємо, що ці деталі, імовірно, зміняться. Подробиці записують пізніше, але у формі приймальних тестів,”

“Історії мають відповідати критеріям якості, закладеним в абревіатурі INVEST.”

Незалежність (І — Independent). Історії користувачів незалежні одна від одної. Це означає, що їх не потрібно реалізовувати в якомусь конкретному порядку. До прикладу, після входу в систему не потрібно одразу реалізовувати функцію виходу. Це нежорстка вимога, бо цілком можуть існувати історії, які залежать від інших, котрі потребують першочергової реалізації.”

Придатність для обговорення (N - Negotiable). Це ще одна причина, чому ми не записуємо всі деталі. Ми хочемо, щоб вони стали предметом обговорення розробників та замовників.”

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

Цінність (V - Valuable). Цінність історії для замовника повинна бути чітко окресленою й вимірюваною.”

“Рефакторинг ніколи не вважають історією. І архітектуру також. Та й наведення ладу в коді. Історія — це завжди те, що містить у собі цінність для клієнта.”

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

Піддається оцінці (Е — Estimable). Користувацька історія повинна бути достатно конкретною, щоб розробники могли її оцінити.”

Малий обсяг (S — Small). Користувацька історія не повинна бути великою, щоб бути реалізованою одним або кількома розробниками за одну ітерацію.”

“Не слід давати можливість одній історії домінувати в роботі всієї команди протягом цілої ітерації. Ітерація повинна містити приблизно стільки ж історій, скільки розробників є в команді. Якщо в команді 8 розробників, то кожна ітерація повинна містити приблизно від 6 до 12 історій. Однак ви ж не хочете заплутатися у вирішенні цього питання. Це більше рекомендація, аніж правило.”

Придатність для тестування (Т - Testable). Клієнт повинен мати можливість обрати тести, які підтвердять, що історію завершено.”

“Зазвичай ці тести пишуть спеціалісти з перевірки якості (QA-спеціалісти), вони будуть автоматизовані та використовуватимуться для перевірки того, чи завершено історію.”

“Grenning, J. W. 2002. Planning Poker or how to avoid analysis paralysis while release planning. Доступ за адресою https://wingman-sw.com/articles/planning-poker

“Розбиття історій — трохи цікавіше заняття, оскільки вам потрібно дотримуватися критеріїв INVEST. Як простий приклад розбиття історії розглянемо вхід (залогування). Якщо ми побажаємо розділити його на більш дрібні історії, то можна створити такі: вхід без пароля, вхід з однією спробою, дозволити кілька спроб уведення пароля та забули пароль.”

“Метою кожної ітерації є отримання даних шляхом виконання істо-рій. Команда повинна зосереджуватися на історіях, а не на завданнях, які лежать в їхніх межах. Набагато краще зробити 80 % історій, ніж кожну історію на 80 %. Зосередьтеся на доведенні історій до завершення.”

“У менеджерів та ведучих буде спокуса призначати програмістам історії. Та цього слід уникати. Набагато краще дозволити програмістам самим між собою домовлятися.”

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

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

“Якщо спеціалісти з контролю якості продовжують провалювати написання тестів до середини кожної ітерації, то, імовірно, співвідношення інженерів з контролю якості та розробників неправильне.”

Коли історія пройшла приймальні тести, її можна вважати завершеною.”

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

“Найкраще, якщо самі зацікавлені сторони перевірять роботу системи, аби розробники не спокушалися можливістю приховувати те, що не працює.”

“Графік швидкості говорить нам про те, наскільки добре керують командою. Графік швидкості буде доволі спотвореним, особливо під час перших ітерацій, оскільки команда ще зʼясовуватиме основи проєкту. Але після кількох ітерацій неточності повинні знизитися до рів-ня, який би дозволив визначити середню швидкість робіт.”

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

“Якщо ми бачимо зростання на графіку, це навряд чи означає, що команда реально почала швидше просуватися у виконанні роботи. Це, імовірніше, означає, що керівник проєкту чинить тиск на команду, спонукаючи її йти швидше. Коли цей тиск зростатиме, команда несвідомо зміщуватиме значення своїх оцінок, удаючи, що їй удається просуватися швидше. Це просте знецінення. Одиниці — це валюта, і команда знецінює їх, потрапляючи під зовнішній тиск. Повернімося до цієї команди наступного року і побачимо, що за ітерацію вони отримають мільйони балів. Напрошуються висновки, що швидкість — це спосіб вимірювання, а не мета. Теорія управління радить: не тисніть на те, що вимірюєте.”

“Спадання швидкості. Якщо графік швидкостей показує стійкий негативний ріст, то найбільш вірогідною причиною є якість коду. Команда, імовірно, застосовує недостатньо рефакторинга, і код починає псуватися. Одна з причин того, чому команди не в змозі здійснити рефакторинг: вони пишуть недостатньо модульних тестів, тому й бояться, що рефакторинг порушить те, що раніше працювало. Боротьба зі страхом перед змінами є головною метою управління командою, і все це зводиться до дисципліни тестування.”

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

“Еталонна історія. Одним зі способів уникнути знецінення є постійне порівняння історій з початковою еталонною, стандартом, за яким будуть оцінюватися інші історії. Памʼятайте, що вхід був нашою первинною еталонною історією, і вона оцінювалася 3 одиницями. Якщо нова історія, наприклад виправити помилку в пункті меню, отримує оцінку 10, то стає зрозуміло, що в хід пішло знецінення.”

“То що таке специфікація? Специфікація, по суті, є тестом.”

“Коли тестування переноситься на кінець, уся відповідальність за затримки падає на плечі спеціалістів із контролю якості.”

“У Scrum клієнта називають власником продукту. Це людина (або група), яка обирає історії, установлює пріоритети та надає своєчасний зворотний зв’язок.”

“Коли цілісна команда ділить між собою один простір, може статися магія.”

“Коли члени команди перебувають у межах одного простору, робота йде рівномірніше.”

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

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

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

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

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

“Подвійна бухгалтерія. Бухгалтери мають алгоритм дії, винайдений 1000 років тому. І на- зивається він подвійна бухгалтерія». Кожна транзакція, яку вони проводять, вноситься до книги двічі: уперше як кредит на один рахунок, а вдруге як дебет — на інший. Ці рахунки зрештою зливаються в єдиний документ, який називається баланс, де від суми активів віднімається сума боргових зобовʼязань та власного капіталу. Така різниця повинна дорівнювати нулю. Якщо вона не дорівнює нулю, то десь допущено помилку?.”

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

“Ці два напрямки — ведення подвійної бухгалтерії та керована тестами розробка — рівнозначні. Вони обидва виконують ту саму функцію - запобігати помилкам у критично важливих документах, де кожен символ повинен бути правильним.”

“Керовану тестами розробку можна описати трьома простими пра- вилами. 1) Не пишіть готовий код, доки спершу не буде написано тест, який не вдасться пройти саме завдяки відсутності виробничого коду. 2) Не пишіть тестів більше, ніж це необхідно для провалу. Збій під час компіляції також уважається провалом. 3) Не пишіть коду більше, ніж достатньо для проходження тесту, який до цього завершився провалом.”

“Покриття тестами трохи більше за 90 %, імовірно, буде достатнім і справді досяжним.”

“Застереження. Повнота тесту — це показник для команди, а не для менеджерів. Менеджери навряд чи в курсі, що саме він означає. Менеджери не повинні використовувати цей показник як напрямок дій або ціль. Команда має використовувати його виключно для інформування про свою стратегію тестування.”

“Коли у вас є повний набір тестів, ви втрачаєте страх здійснити зміни в коді. Утрачаєте страх очищення коду. Отже, ви таки почистите код. Ви будете тримати систему акуратною та впорядкованою. Ви збережете структуру системи незмінною. Ви не створите масу кодового перегною, яка затягне команду в депресію низької продуктивності та спричинить подальші невдачі. Ось чому ми застосовуємо керовану тестами розробку. Ми практикуємо її, бо вона дає нам сміливість підтримувати код чистим і впорядкованим. Сміливість діяти як професіонали.”

“Рефакторинг - це метод удосконалення структури коду без зміни поведінки, визначеної тестами. Інакше кажучи, ми змінюємо імена, класи, функції та вирази, не провалюючи жодного тесту. Ми вдосконалюємо структуру системи, не впливаючи на і поведінку.”

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

“Правила простого проєктування Кента Бека. 1. Пройдіть всі тести. 2. Розкрийте наміри. 3. Видаліть продубльовані елементи. 4. Скоротіть кількість елементів.”

“Завдання простого проєктування - зберегти проєктну вагу коду якомога меншою.”

“Складність програмного проєкту варіює від досить простого до надзвичайно складного. Що складніша конструкція, то більшим є когнітивне навантаження на програмістів. Це навантаження - проєктна вага. Що більша вага цієї конструкції, то більше часу й сил потрібно програмістам для осягнення системи й управління нею.”

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

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

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

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

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

“Мета полягає в поширенні та обміні знаннями, а не в їхньому одноосібному накопиченні.”

“Важко виміряти витрати на парне програмування. Найбільш пряма витрата — це те, що над виконанням одного завдання працюють двоє людей. Здається очевидним, що на це витрачаються не подвійні зусилля, проте, імовірно, якісь витрати є. Різні дослідження показали, що прямі витрати можуть становити близько 15 %. Інакше кажучи, знадобиться 115 програмістів, які працюють у парі, аби виконати роботу, котру зроблять 100 осіб (без аналізу коду). Примітивний розрахунок дозволив би припустити, що втрати команди, яка працює в парі 50 % часу, будуть менші за 8 %. З іншого боку, якщо робота в парі замінює огляд коду, то, найвірогідніше, зниження продуктивності взагалі не відбудеться. Тоді ми повинні врахувати переваги взаємного навчання та обміну знаннями. Такі переваги неможливо порахувати, але вони, схоже, є значними.”

ніколи-ніколи не просіть дозволу на роботу в парі. Або на тестування. Чи на рефакторинг. Або… Ви тут фахівець. І вам вирішувати.

Цінності Agile… Кент Бек назвав чотири цінності Agile. Це сміливість, комунікація, зворотний звʼязок та простота.

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

“Віра в те, що якість та дисципліна підвищують швидкість, смілива, оскільки їй постійно будуть кидати виклик впливові, але наївні колеги, котрі поспішають.”

“Комунікація. Ми цінуємо пряму та часту комунікацію, що застосовує перехресні канали зв’язку. Члени команди Agile хочуть поговорити одне з одним. Програмісти, замовники, тестувальники та менеджери хочуть сидіти поруч і часто комунікувати між собою, і не лише в робочому контексті. Не лише електронною поштою, у чатах та за допомогою службових листів. Вони поціновують неформальне міжособистісне спілкування.”

“Команда, члени якої сидять разом і підтримують тісне спілкування, може творити дива.”

“Зворотний зв’язок. Практично всі напрямки Agile, які ми вивчали, спрямовано на забезпечення швидкого зворотного звʼязку для людей, які приймають важливі рішення.”

“Простота. Наступна цінність Agile — це простота, інакше кажучи, прямота, чесність.”

“Коли ви визнаєте проблему, але мовчки дозволяєте собі перекласти її розв’язання на когось іншого, то поводитеся нечесно. Коли ви пристаєте на вимоги менеджера чи замовника, усвідомлюючи катастрофічність наслідків, ви чините нечесно.”

“Простота — це прямота, прямота в коді та безпосередність і чесність у спілкуванні та вчинках.”

“Зберігайте простоту коду. Створіть у команді атмосферу простої взаємодії”

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

“У 2010 році Ліса повністю описала власний підхід до коучингу у своїй книжці Coaching Agile Teams. [Adkins, L. 2010. Coaching Agile Teams: A Companion for ScrumMasters, Agile Coaches, and Project Managers in Transition. Boston, MA: Addison-Wesley.]”

“Одна з цінних навичок коуча — це вміння проводити ефективне опитування, одним із призначень якого є «постановка запитань, які призводять до відкриттів, осяянь, зацікавленості та дій».”

Прямувати до великого, зосереджуватися на малому

“У нас зʼявилися списки невиконаних завдань та користувацькі історії замість документів із вимогами. У нас були дошки та діаграми згоряння завдань замість діаграм Ганта. Ми мали стікери, які щоранку рухали відповідно до нашого просування в процесі роботи. У стікерах відчувалася потужна енергетика — те, що викликало глибоку психологічну залежність. Вони ніби репрезентували нашу приналежність до Agile. Що більше стікерів у нас було на стінах, то більший звʼязок із Agile ми відчували. Ми стали командою Scrum, а не будівельною бригадою.”

“Компанії ще недостатньо дозріли, аби зрозуміти, що технічні проблеми насправді є бізнес-проблемами.”

“Майстерно продумане програмне забезпечення означає добре розроблений і протестований код. Це код, який ми не боїмося змінювати і який дозволяє бізнесу швидко реагувати на зміни. Це гнучкий і надійний код.”

“Ідеологія — це система ідей та ідеалів. Методологія ж — це система методів і практик. Ідеологія визначає ідеали, на які слід орієнтуватися. Для досягнення цих ідеалів можна використовувати одну або кілька методологій. Вони є засобом для досягнення мети.”

“Highsmith, J. 2009. Agile Project Management: Creating Innovative Products, 2nd ed. Boston, MA: Addison-Wesley, 85”

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

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

“Розмови між розробниками та бізнесом повинні вестися про те, чому, що і коли відбуватиметься, а не присвячуватися питанню як.”

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

“Професія — це те, у що ми вкладаємо гроші. Це те, у чому ми хочемо покращити свої вміння. Ми хочемо здобути більше навичок і мати довготривалу та повноцінну карʼєру.”

“професія. Це щось додаткове, що приносить нам задоволення і доповнює нашу особистість. Професія наповнює сенсом наше життя.”

“Ці основи — цінності, принципи й методи, зазначені в книжці Extreme Programming Explained Кента Бека. Ці основи - мотива-ція, прийоми та методи з книжки в Refactoring? Мартіна Фаулера. Їх було викладено Бучем, ДеМарко, Юрдоном, Константином, Пейдж- Джонсом та Лістером. [1) Beck, K. 2000. Extreme Programming Explained: Embrace Change. Boston, MA: Addison-Wesley. 2) Fowler, M. 2019. Refactoring: Improving the Design of Existing Code, 2nd ed. Boston, MA: Addison - Wesley.]”

#1 Додаток для Швидкочитання (promo) 

Колір магії (Terry Pratchett)

  Кращі нотатки з книги: “На дискосвіті тиждень, звісно, має вісім днів, а спектр світла поділяється на вісім кольорів. Вісімка тут - узагал...