Методология и екипи9 мин

Софтуерният ви проект се проваля по същата причина като едно парти изненада

От Dorian Chávez · основател на Hábil и архитект по интеграция ·

Задачи без собственик, късно забелязано червено и теми, които никой не решава. Шест решения, за да стигне проектът до датата, и шест въпроса към доставчика.

София навършва 25 години в събота, 14 ноември. Тримата ѝ най-добри приятели искат да ѝ направят парти изненада: 30 гости, 9000 мексикански песо и четири седмици. Нищо особено. И въпреки това почти всички партита, които се провалят, се провалят по едни и същи три причини:

  • Никой не знаеше точно какво трябва да се направи. «Някой щеше да донесе леда.» Кой? Никой.
  • Разбраха късно. В петък вечерта откриват, че залата е искала капаро още от вторник.
  • Никой не провери. Всеки мислеше, че другият вече го е направил.

Сменете партито с интеграцията на системата ви за фактуриране, новото приложение за клиенти или прехвърлянето на един процес в ERP и трите причини остават, само с друго име. Технологията има своите рискове и те се решават с инженерство. Но много софтуерни проекти засядат по същата причина като едно парти: задачи без собственик, проблеми, които се виждат късно, и решения, които никой не взема.

Хубавото е, че и в двата случая това се поправя с едни и същи практики. Да започнем с партито, защото се разбира от първия път, а на всяка стъпка ще ви казвам как изглежда това във вашия проект.

1. Цел, която се проверява с «да» или «не»

«Да направим парти» не е план, а желание. С едно желание Ана си представя вечеря за 10 души, Бето — парти с диджей за 60, а Карла — барбекю в двора. И тримата работят, но по три различни партита.

Затова, преди да мръднат пръст, записват какво означава, че е минало добре:

София не разбра предварително · дойдоха поне 25 гости · не похарчихме повече от 9000 песо · в 20:30 всичко беше готово.

Не пише «всички да се забавляват», защото това не може да се провери. Пише четири неща, на които в неделя се отговаря с «да» или «не».

Във вашия проект това са критериите за успех на проекта, а по-надолу — критериите за приемане на всеки резултат. «Порталът да е по-гъвкав» е желание. «Клиент, вече влязъл в портала от телефона си, да изтегли фактурата си с три клика или по-малко» е цел: в деня на предаването се изпробва с реални потребители и спорът приключва.

Ако не може да се провери с «да» или «не», още не е цел.

2. Всяка задача: глагол, един човек, дата и доказателство

Списъкът за партито започва като мозъчна атака: място, храна, торта, музика, лед. Това още не са задачи, а теми. «Храна» не е нещо, което някой може да свърши във вторник.

Истинската задача има четири части:

2. Всяка задача: глагол, един човек, дата и доказателство
ЧастЗлеДобре
Глагол«Място»«Да се запази залата»
Един човек«Всички»«Бето»
Дата«При първа възможност»«Събота, 24 октомври»
Готова е, когато…«Говорих с човека от залата»«Имаме разписка за капарото»

Четвъртата част, «готова е, когато…», е онази, която почти всички забравят, и онази, която спестява най-много проблеми. «Говорих с човека от залата» не означава «залата е запазена». Без разписка не е запазена.

И правилото, което спасява най-много партита: задача с двама отговорници е ничия, защото всеки мисли, че я върши другият. Може да помагат мнозина; отговаря един.

Във вашия проект това е разликата между «напредваме с интеграцията» и «поръчката стига от портала до ERP, със своя номер, в тестова среда, и вашият финансов отдел я валидира». Първото изречение може да се повтаря три седмици подред. Второто или е факт, или не е.

3. Веригата, която определя срока

Някои задачи не могат да започнат, докато друга не приключи. Не се запазва зала без пари, не се кани без място и не се казва на кетъринга с такос колко души ще дойдат, преди гостите да са потвърдили:

пари → място → покана → потвърждения → окончателен брой за храната.

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

Във вашия проект критичният път не минава само през кода. Често минава през достъпа до вашите системи, тестовата среда на външен доставчик, договореността какви данни се предават и в какъв формат, или човека от вашия екип, който познава сегашния процес. Ако никой не ги е поискал за датата, на която планът ги изисква, проектът вече закъснява, макар никой да не го е забелязал.

4. Да планираш не е да организираш

С целта, задачите, реда и бюджета тримата приятели имат много красив план. И пак им липсва половината.

Да планираш означава да решиш какво ще се постигне, какво трябва да се направи и кога.

Да организираш означава да решиш кой го прави, с какво, кой решава и как се координират.

Да планираш е да напишеш рецептата; да организираш е да разпределиш кухнята. Рецепта без разпределена кухня не се сготвя. За да организират партито, вземат шест решения:

  1. Собственици. Всеки блок (място, гости, храна, пари) има човек, който отговаря за него изцяло. Ако се появи нещо ново от този блок, вече се знае чие е.
  2. Ресурси. Парите са в отделна сметка и ги управлява Карла; никой не плаща от джоба си, без да предупреди.
  3. Кой какво решава. В рамките на блока и бюджета си решава собственикът. Преразход или преместване на датата решават тримата. И от самото начало определят водеща на събитието, Карла, която има последната дума, когато тримата не се разберат.
  4. Как се координират. Група за разговори, среща за решения и споделена таблица като единствена истина: ако не е в таблицата, не се е случило.
  5. Кой следи цялото. Един човек, с име, от първия ден.
  6. Кой кого замества. Всеки собственик на нещо критично има заместник, който знае достатъчно, за да продължи, без да му звъни.

Във вашия проект това са въпросите, на които едно добро стартиране отговаря писмено: кой е собственик на всеки фронт, от вашата страна и от нашата; кой одобрява промяна в обхвата; къде се разговаря, къде се решава и къде остава истината; кой води проследяването; и какво става, ако ключовият човек излезе в отпуск. Ако някой от тези въпроси остане без отговор, проектът има план, но няма кой да го изпълни.

5. Един човек, който следи цялото

Това е точката, която се забравя най-често. Всеки отговорник се грижи за своята задача и почти никога не вижда тези на другите. Бето е доволен, защото тонколоната му вече е изпробвана, и не забелязва, че никой не е потвърдил гостите. Ако всички проверяват, никой не проверява.

В партито този човек е Карла. Пита ден-два преди всеки краен срок, не след него. Когато някой каже «готово е», иска доказателството. Съобщава за проблем още същия ден, без да чака срещата. И не върши задачите на другите, защото тогава престава да следи всичко останало.

Карла гледа две различни неща:

  • Изпълнение: всяка задача свършена ли е и добре ли? Проверява се задача по задача, с доказателството ѝ.
  • Напредък: вървим ли с нужното темпо? В понеделник, 26 октомври, по график трябваше да са готови 6 задачи, а с доказателство са 4: 4 от 6, т.е. 67 %. «Почти всичко е готово» и въпреки това седмицата е в червено, защото една от двете липсващи е на критичния път: избраната зала вече нямаше свободна онази събота, а без зала поканата не излиза.

За да не спорят за мнения, ползват светофар с писани правила:

  • Зелено: готова и с доказателство. «Почти», «вече го гледам» и «вече говорих» не са зелено.
  • Жълто: още не е готова, но ще стане навреме.
  • Червено: няма да стане навреме или е блокирала. На следващата среща се решава нещо, не по-късно.

Във вашия проект този светофар или съществува, или не. Ако доставчикът ви цял месец ви отчита «90 % напредък», светофар няма: има мнение. Попитайте колко резултата по план е трябвало да са приети към днешна дата, колко са приети, с доказателство, и дали някой от липсващите е на критичния път.

6. Ранното червено е добра новина

Да видиш червеното е наблюдението. Да направиш нещо с него е контролът. След загубената зала на срещата в понеделник минават през четири въпроса: какво точно стана, какво засяга, какви са възможностите и какво решават. Решението излиза с име и дата: Бето запазва зала Б на следващия ден. Струва 400 песо повече, така че резервът за непредвидени разходи пада от 700 на 300 песо и от този ден знаят, че вече не могат да увеличат разходите за храна.

Това работи не заради срещата, а защото червеното се появи, когато до партито оставаха три седмици, а не в навечерието му. Затова най-лошата грешка е да скриеш червеното, «за да не тревожиш никого»: проблемът расте мълчаливо и стига, когато вече няма възможности.

И един детайл, който почти никой не планира: хората също отпадат. Разболяват се, остават без батерия, не отговарят. Резервният план на партито казва какво става, ако Карла се разболее в седмицата на събитието, и кой започва да украсява, ако в 18:30 никой не може да открие Бето. За да свърши работа един заместник, телефоните, разписките и уговорките не могат да живеят в телефона на един-единствен човек.

Във вашия проект неудобният въпрос е: какво става, ако утре си тръгне човекът, който знае най-много? Ако отговорът е «ще заседнем», проектът зависи от това на този човек нищо да не му се случи.

7. Темите, които никой не решава

Не всичко, което засяда, е задача в червено. Има нещо по-тихо: темите, които никой не решава. «После ще видим.» «Трябва да го обсъдим.»

При мозъчната атака се появи «подарък», но така и не стана задача. На 5 ноември Ана пита за него: тя иска тримата заедно да подарят нещо за 1500 песо, а Бето предлага всеки да даде свой подарък. Не се разбират и остават на «после ще видим». Ако никой не направи нищо, в събота идват без подарък или някой го плаща с парите за партито и пробива бюджета. Да не решиш също е решение, почти винаги най-лошото.

Решението има две части. Първо, никоя тема не живее само в паметта: записва се в списък с отворени теми, със собственик и дата за решаване, и се преглежда в края на всяка среща, от най-старата към най-новата. Второ, ако една тема мине през две срещи без съгласие, решава водещата, и го прави в шест стъпки:

  1. Съобщава, че ще реши, и кога.
  2. Изслушва, с ограничение: кратко предложение от всеки, с мотива му, до неделя в 20:00.
  3. Решава с информацията, която има. Подаръкът за 1500 песо не се побираше в оставащите 300 песо резерв и това беше достатъчно.
  4. Обяснява защо.
  5. Записва го: какво, защо, кой и до кога.
  6. Не го отваря отново, освен ако не се появи нова информация. «Помислих пак» не е нова информация.

Решението: от парите за партито подарък не излиза. Всеки дава свой подарък със свои пари, а Ана организира отделно събиране, извън 9000-те песо, за слушалките, които София искаше. София получи подаръци, а партито не излезе от бюджета.

Във вашия проект висящите теми са тези, които струват най-много време: бизнес правилото, което никой от вашата страна не довършва да определи, полето, което отдел А иска, а отдел Б не, или одобрението, което чака човек, който никога не е на срещата. Всяка от тях има нужда от собственик, дата и някой с последната дума, договорено още при стартирането.

8. Затваряне, за да излезе следващото по-добре

В неделя тримата преглеждат четирите условия от началото. София не разбра, дойдоха 27 гости и похарчиха 8850 песо, под тавана. Но тортата пристигна в 20:50, не в 20:30. Резултат: три от четири.

След това търсят причината: тортата беше поръчана «за следобеда», без точен час. А действието за следващия път се побира в един ред: всяка доставка се поръчва с точен час и с резерв преди момента, в който е нужна.

Във вашия проект първо идва прегледът спрямо критериите за успех; второ — ретроспективата: какво мина добре, какво се обърка, защо и какво се променя следващия път, със собственик. Почти винаги се пропуска, защото «вече е предадено», а точно тя прави така, че вторият проект със същия доставчик да излезе по-добре от първия.

Шест въпроса към проекта ви в понеделник

Не е нужно да сте експерт по софтуер, за да знаете дали проектът ви върви добре. Задайте тези въпроси на доставчика или на екипа си:

  1. Как ще разберем, с «да» или «не», че проектът е минал добре?
  2. Всяка задача има ли един-единствен отговорник и доказателство, че е завършена?
  3. Коя е веригата от задачи, която, ако закъснее, забавя всичко? Какво от тази верига зависи от нашата страна?
  4. Колко резултата трябваше да са готови към днешна дата и колко са готови, с доказателство?
  5. Кои теми са отворени, кой е собственик на всяка и кой има последната дума?
  6. Какво става, ако утре си тръгне човекът, който знае най-много за проекта?

Ако на някой от тях няма ясен отговор, със собственик, дата или доказателство, вече сте открили къде е рискът.

А методологията?

Нищо от това не зависи от това дали проектът ви върви по етапи, в спринтове или със смесица от двете. Изборът на подход е друго решение, което обясняваме в Водопад или Scrum: как да изберете начина за изпълнение на вашия проект. Всеки подход се проваля, ако никой не е собственик на задачите, ако червеното се вижда късно или ако темите не се решават. И всеки работи много по-добре, когато тези шест въпроса имат отговор от първия ден.

Какво прави Hábil

Hábil е мексиканска инженерна консултантска компания, основана през 2006 г., която изгражда и интегрира системи, които не могат да се провалят. При стартирането на проект договаряме с вас отговорите на тези шест въпроса и ги записваме. След това вие следите напредъка в споделено табло със задачи — ClickUp, Jira или вашето: всяка задача със своя отговорник, дата и доказателство, че е завършена, и отворените теми със собственика им. Не е нужно да чакате срещата в края на месеца, за да знаете как върви. Вижте страницата Как работим. Ако проектът ви е приложение или портал за вашите клиенти, вижте също Уеб, мобилни и настолни приложения.

Първият разговор е безплатен. Да обсъдим вашия проект: този, който предстои да стартира, или онзи, който вече е в ход и не напредва както очаквахте. Пишете ни в WhatsApp.

Вашата дейност среща ли тези предизвикателства?

Да обсъдим вашия проект

Предпочитате имейл? Пишете ни на hola@habil.mx