Чи патчі є поганим знаком для клієнта? [зачинено]


14

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

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

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

Тож моє запитання більш докладно: Чи часто оновлюються повідомлення, що надсилають одержувачу "негативне" повідомлення

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

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


@downvoter, хочете пояснити?
Mixxiphoid

6
Якщо ви турбуєтесь про сприйняття клієнтів, можливо, опишіть їх як "оновлення", а не "патчі"? :)
Кріс Тейлор

Хоча це не пряма відповідь, якщо ви можете тримати розгортання патчів як можна не нав'язливим і автоматичним (наприклад, завантажуйте оновлення у фоновому режимі, працює служба оновлення, яка застосовується в режимі очікування), ви можете пом'якшити тривогу кінцевого користувача, не що робить оновлення очевидними. Наприклад: Скільки оновлень Google Chrome ви отримали за останній місяць або близько того? (Відповідь: партії ) Вони могли випускати 5 патчів для Chrome на день, і ніхто не підніме брів. Автоматичні оновлення Windows (якщо вони включені) - ще один приклад.
Джейсон C

"Час на оновлення програмного забезпечення для клієнтів становить менше 30 секунд, тому я не очікую жодних проблем, пов’язаних із часом. Однак їх потрібно вийти із системи". А як же клієнт тестує патч? Я не знаю, з яким типом програмного забезпечення ви працюєте, але якщо він знаходиться десь поруч із важливою для будь-кого місією, вони захочуть протестувати оновлення, перш ніж працювати з ним у виробничих умовах. Хоча установка виправлення може бути швидкою і простою, проте тестування забирає багато часу і сил з боку замовника.
CVn

@ MichaelKjörling Проблема полягає в тому, що в цей період критичні особливості місії виявилися невдалими, тому було неважливо, чи було оновлено виробниче середовище чи тестове середовище спочатку. Це просто потрібно було працювати якомога швидше.
Mixxiphoid

Відповіді:


24

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

введіть тут опис зображення

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


3
Можливо, це має бути інше питання, але все одно: ми знали, що тестуємось через своїх клієнтів, але не могли зупинити, що в той час ми потрапили в пастку. Що ми могли б зробити, щоб вийти?
Mixxiphoid

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

2
@DocBrown: Графік все ще правильний. Коротші цикли розвитку означають меншу вартість за цикл, що відповідає графіку. Але це все ще не означає, що ви повинні альфа-тестувати своє програмне забезпечення на своїх клієнтах, якщо тільки немає чіткого розуміння та згоди, що це є частиною процесу.
Роберт Харві

Ну а вартість дефектів зменшується, чим раніше виявлена та виправлена помилка . І шанс виявити помилку різко зростає, чим раніше ви вийдете програмне забезпечення з дверей. Це не означає, що, звичайно, слід підштовхувати неперевірене програмне забезпечення до виробництва. Я рекомендую, наприклад, цю статтю agileelements.wordpress.com/2008/04/22/cost-of-software-defects
Doc Brown

1
Все, що потрібно, - це трохи саморефлексія, щоб побачити, що сам принцип є здоровим, навіть якщо цифри або форма кривої - лише здогадки. У нас навіть є ім'я в програмуванні: Fail Fast.
Роберт Харві

10

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

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

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


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

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

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

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

7

Все більше і більше компаній слідують крокам Chrome і все частіше випускають клієнтів.

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

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

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

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


2
+1, як частий замовник програмного забезпечення, я хочу, щоб хлопці мали часті оновлення та хороші способи їх розгортання. Продукти, які застоюються, є справжнім червоним прапором тут - принаймні, це означає, що продавець не інвестує в продукт. Або інвестувати у vNEXT, що вони хочуть, щоб ви заплатили за все заново.
Wyatt Barnett

Що я розумію з вашого останнього пункту, це те, що ми завжди повинні бути чесними та прозорими у спілкуванні з клієнтом. Чи є ситуації, коли ми не повинні (поки) інформувати замовника про певні речі?
Mixxiphoid

1
Звичайно, бути чесним із замовником не означає залишати лінію відкритою, коли ви скликаєте панічну нараду, щоб пом'якшити щойно знайдене лихо. Ви повинні повідомити інформацію після того, як ви оцінили ситуацію, маєте стратегію її виправлення та можете чесно сказати, що все під контролем. Можливо, ви виявите, що ви прикрашаєте правду, але відверта брехня може переслідувати вас пізніше ...
Урі Агассі,

2

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

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

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

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

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

Програми SaaS обходять всю проблему, роблячи оновлення у фоновому режимі.

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


+1, це ключовий момент - чим швидше ви зможете виправити помилку (і розгорнути), тим краще - до тих пір, поки користувач / клієнт не докладе додаткових зусиль з розгортанням. Коли замовник має розгорнутись вручну або оновлення просто перерве його робочий процес, важливо знайти правильну частоту для розгортання. Такі сайти, як Facebook, розгортатимуть кілька патчів на день, і більшість людей навіть не помітять.
Док Браун

тому я думаю, що нам пощастило в цій частині. Наші оновлення коштують нам (окрім напруги та кодування та всіх) лише 1 чи 2 години. Повернутись на роботу коштує клієнту 1 хвилину. Я перегляну підхід до "пакета послуг", це дійсно може стати в нагоді для тих, кому патч не потрібен безпосередньо.
Mixxiphoid

Знайдено цю посилання для Facebook: blogs.wsj.com/cio/2013/04/17/… , тому, здається, щодня випускається два випуски, а не кілька. Досі вражаюче, гадаю.
Док Браун

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

@Encaitar: Так, архітектура Amazon має сотні взаємодіючих служб. Тож я не здивований, якщо вони штовхають щось надзвичайно часто, але я дуже сумніваюся, що кожен натиск безпосередньо впливає на більш ніж один компонент. Те, що ви бачите як єдиний веб-сайт, не обов'язково має загальну версію. Це більше як сказати, що мережа доріг міста оновлюється кожні 17 секунд, тому що ваші екіпажі малюють загалом 5 тисяч свіжих ліній в день :-)
Стів Джессоп
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.