Pozwól użytkownikom przejąć kontrolę: jak klienci poprawili naszą najnowszą funkcję
Studium przypadku dotyczące zapobiegawczego rozwiązywania problemów klientów poprzez ich zachowanie
Funkcja, która niedawno pojawiła się w naszym planie produktów w Visibuild, to możliwość eksportowania wielu plików PDF dla Visis za pośrednictwem dowolnej strony lokalizacji projektu , trafnie nazwanej Bulk PDF Exports. Biorąc pod uwagę nasze poprzednie aktualizacje, które umożliwiały użytkownikom filtrowanie Visis na podstawie wybranej lokalizacji, następnym logicznym krokiem było umożliwienie użytkownikom eksportowania tych danych.
Uwaga: Visi to szerokie pojęcie, którego używamy do opisania zadań, inspekcji lub problemów w produkcie”
Praca w startupie stanowi interesujące wyzwanie dla osób pracujących nad rozwojem produktu, a rozpoczęcie nowego projektu wymaga od naszego zespołu zebrania się i ponownego ustalenia funkcji i jej miejsca na naszej liście priorytetów, szczególnie biorąc pod uwagę niewielki rozmiar naszego zespołu produktowego!
Szybkie wejście na rynek i doprowadzenie produktu do konkurencyjności funkcji oraz zbudowanie fosy „dlaczego jesteśmy inni” wymaga bezwzględnego ustalania priorytetów, a także kreatywnych, krótkich harmonogramów udostępniania funkcji z gotowością do rozwijania lub obracania w krótkim czasie zauważyć.
Szybkie wejście na rynek i doprowadzenie produktu do konkurencyjnych funkcji oraz zbudowanie fosy „dlaczego jesteśmy inni” wymaga bezwzględnego ustalania priorytetów.
Dla każdej wprowadzanej przez nas funkcji produktu, jako zespół dokonujemy szacunków najlepszych starań wokół kilku kluczowych kompromisów:
- Czas na rynek.
- Walidacja funkcji.
- Cykle informacji zwrotnych od użytkownika końcowego.
W Visibuild ściśle współpracujemy z naszymi klientami i zachowujemy przejrzystość, dzięki czemu trzymamy rękę na pulsie i możemy ustalać priorytety, co należy zrobić tak skutecznie, jak to możliwe. Po podjęciu tych decyzji wewnętrzny zespół pracuje razem, aby zebrać wizję funkcji i pracować wstecz nad podzieleniem celu końcowego na możliwe do wykonania elementy, które pomogą jak najszybciej przynieść wartość klientowi. Częścią tego procesu są nasze wysiłki mające na celu przewidywanie rzeczy, które mogą pójść nie tak, jak możemy zapobiegawczo śledzić te wyniki, a także jak możemy przejść do przodu w przypadku, gdy problem zostanie uznany za „zrywający umowę” z obietnicą, którą składa ta funkcja.
Jedną z niedawno opracowanych przeze mnie funkcji była możliwość masowego eksportu plików PDF naszych klientów „Visis” (uniwersalny termin obejmujący inspekcje projektu, problemy, zadania i raporty o niezgodnościach).

Ta funkcja była bardzo pożądana i chcieliśmy podzielić wynik końcowy na iteracje, które umożliwiłyby nam szybsze udostępnienie tej funkcji użytkownikom.
Podzieliliśmy iteracje dla tej funkcji na dwie części:
- Pierwsza iteracja polegałaby na wprowadzeniu interfejsu użytkownika skierowanego do klienta w aplikacji internetowej i wykorzystaniu przepływu zaplecza, który już mieliśmy do wysyłania e-mailem eksportowanych plików PDF dla pojedynczego Visi jako załącznika do wiadomości e-mail.
- Druga iteracja skupiłaby się na zastąpieniu przesyłanych e-mailem plików ZIP plikami PDF, zdalnym przechowywaniu tych plików ZIP i zastąpieniu załącznika wiadomości e-mail łączem do plików do pobrania.
Gdy użytkownicy zaczynają częściej korzystać z naszej funkcji, prawdopodobieństwo napotkania tego problemu znacznie wzrosło. Niektóre z czynników, które wpłynęły na to (które mogliśmy zidentyfikować) obejmowałyby liczbę załączników do wizy, a także kwotę wizy wymaganej do eksportu.
Biorąc pod uwagę to znane założenie podczas definiowania naszej pierwszej iteracji, ograniczyliśmy eksport masowy do maksymalnie pięćdziesięciu wiz, o które można było poprosić o eksport w jednym czasie. Ten limit nie został zaprojektowany w celu nałożenia limitu na naszych klientów, ale wiedzieliśmy, że zmierzenie tego i wyegzekwowanie limitu da nam możliwość wcześniejszego udostępnienia tej funkcji i zebrania statystyk użytkowania, które pomogą nam podjąć świadomą decyzję o drugiej iteracji przeniesienia do linków pobierania. Ograniczenie nie zapobiegłoby możliwości niepowodzenia z powodu dużego rozmiaru załącznika, ale biorąc pod uwagę arbitralny charakter rozmiaru załącznika PDF, uznaliśmy, że z pewnością pomogłoby to zmniejszyć ryzyko zbyt wielu nieudanych eksportów.
Decyzja o ograniczeniu dała naszemu zespołowi produktowemu chwilę wytchnienia, co z kolei dało nam szansę dopracowania rozwiązania dla drugiej iteracji wymiany spakowanych plików PDF przy jednoczesnym szybszym dostarczaniu wartości klientom.
Statystyki z wczesnego przyjęcia
Naszym celem w Visibuild jest umożliwienie, aby opinie klientów i śledzone działania kierowały kierunkiem naszych produktów.
Biorąc pod uwagę uzgodnione ograniczenia załącznika do wiadomości e-mail dla pierwszej iteracji, dodano śledzenie, aby zobaczyć, które projekty korzystały z nowej funkcji, ile Visis próbowały wyeksportować w ramach żądania oraz sposób na przechwycenie błędów, jeśli eksport stał się zbyt duży dla załączników wiadomości e-mail.
Jak się okazuje, już w ciągu pierwszego tygodnia eksport masowy był wykorzystywany do eksportu w większych partiach niż początkowo zakładano.

Powyższy wykres przedstawia liczbę Visis żądanych do generowania plików PDF na żądanie. W ciągu pierwszego tygodnia pojawiły się pierwsze oznaki, że użytkownicy wymagają pełnego zakresu ograniczonego limitu eksportu nowej funkcji.
W ciągu pierwszego tygodnia pojawiły się pierwsze oznaki, że użytkownicy wymagają pełnego zakresu ograniczonego limitu eksportu nowej funkcji.
Jedna prośba spełniła nawet dokładnie taki scenariusz, jakiego chcieliśmy uniknąć: niemożność wysłania wiadomości e-mail z powodu przekroczenia limitu rozmiaru załącznika w postaci pliku ZIP.
Nasz zespół pomocy technicznej pracował nad zapewnieniem, że nieudany eksport został dostarczony użytkownikowi, który złożył żądanie, ale zidentyfikowaliśmy i zrozumieliśmy również przed wydaniem, że takie problemy byłyby kosztowne dla naszego zespołu pomocy technicznej, gdyby nadal występowały, szczególnie jako funkcja adopcja wzrosłaby wykładniczo .
Ostatecznie mieliśmy tylko jedną awarię z pierwszych stu próśb. Nasza decyzja o wydaniu pierwszej iteracji nadal działała na naszą korzyść. Dostarczyliśmy klientom wartość dla 99% żądań . To powiedziawszy, to wczesne użycie, bezpośrednie opinie klientów i pierwszy incydent były referencjami, które wpłynęły na naszą decyzję o przyspieszeniu kolejnej iteracji korzystania z linków do pobierania zamiast załączników na liście priorytetów.
Wczesne użycie, bezpośrednie opinie klientów i pierwszy incydent były referencjami, które wpłynęły na naszą decyzję o przyspieszeniu kolejnej iteracji.
Przejście do drugiej iteracji
Pod koniec pierwszej iteracji przepływ pracy dla eksportu wielu Visis można uprościć do następującego wykresu stanu:

Uzgodnione rozwiązanie techniczne, aby przenieść to do następnej iteracji, oznaczało, że należało wprowadzić następujące zmiany:
- Wprowadź sposób śledzenia stanu zadania eksportu masowego, np . czy zadanie jest oczekujące, w toku, zrealizowane czy odrzucone?
- Upewnij się, że pojawiają się powiadomienia zarówno o udanych, jak i nieudanych zadaniach, aby informować użytkownika końcowego.
- Zbuduj bezpieczny mechanizm przechowywania i uzyskiwania dostępu do wyeksportowanych plików ZIP.

To rozwiązanie oznaczało, że rozwiążemy problem związany z rozmiarami załączników, a także będziemy bardziej proaktywni w informowaniu klientów o problemach, które wystąpiły podczas procesu eksportu zbiorczego.
Ostateczne rozwiązanie
Po współpracy z resztą zespołu produktu w celu zdefiniowania kolejnej iteracji środowiska użytkownika wdrożyliśmy zaktualizowany zestaw przepływów poczty e-mail, aby informować użytkownika. Zdefiniowaliśmy również, wdrożyliśmy i śledziliśmy zestaw stanów, w których może znajdować się zadanie, i jak najlepiej odzwierciedlić to w interfejsie użytkownika na naszej stronie pobierania eksportu, aby mieć pewność, że wszelkie dalsze problemy będą na pierwszym planie i zostaną rozwiązane przez naszych zespół produktowy.
Nowy przepływ rozpoczyna się od zażądania przez użytkownika nowego eksportu, a powiadomienie o powodzeniu określa ramy czasowe eksportu, aby dać użytkownikowi lepsze wyobrażenie o tym, jak długo może potrwać eksport.

Gdy eksport zakończył się pomyślnie i był gotowy do pobrania, zaktualizowana wiadomość e-mail zawierała teraz łącze zamiast załącznika. To rozwiązuje nasz problem dotyczący rozmiaru załącznika, który napotkaliśmy. Łącze przekierowuje użytkownika do naszej nowej strony pobierania eksportu, która zawiera informacje o bieżącym stanie eksportu oraz link do pobrania eksportu, jeśli jest gotowy (i nie wygasł).

Kliknięcie łącza pobierania spowoduje wyświetlenie strony pobierania, na której użytkownik może pobrać plik PDF.

Obok łącza pobierania podajemy czas do wygaśnięcia łącza. Decyzja została podjęta, aby upewnić się, że ustawiliśmy link jako „wygasł” po 14 dniach, biorąc pod uwagę, że wyeksportowane pliki PDF zazwyczaj przechodzą w nieaktualny stan wkrótce po wyeksportowaniu.
To nowe podejście z wbudowanym wygaśnięciem umożliwiło nam przemyślenie kosztów hostingu tych żądań eksportu PDF jako zdalnych plików ZIP. Pomogło nam to zaplanować budżet nowej funkcji na dużą skalę, a nasz backend automatycznie usuwał te nieaktualne pliki ZIP i oszczędzał na kosztach danych, które nie byłyby już używane.
To nowe podejście z wbudowanym wygaśnięciem umożliwiło nam przemyślenie kosztów hostingu tych żądań eksportu PDF jako zdalnych plików ZIP. Pomogło nam to zaplanować budżet nowej funkcji na dużą skalę.
W przypadku awarii mieliśmy również ustawiony e-mail informujący użytkownika o wystąpieniu problemu w celu rozwiązania problemu „cichych” awarii, które powodują, że klienci kontaktują się z nami w sprawie problemów. Umożliwiło nam to proaktywną przejrzystość wobec klienta, a także dało mu możliwość skontaktowania się z nami w celu uzyskania dalszych informacji w razie potrzeby.

Ostatni element układanki polegał na tym, aby interfejs użytkownika naszej strony pobierania eksportu zawierał informacje o różnych stanach zadań, w których może się znajdować. wygasł lub znajduje się w nieoczekiwanym stanie błędu.
Niektóre z tych stanów były reprezentowane w interfejsie użytkownika w następujący sposób:




Dzięki zaktualizowanemu interfejsowi użytkownika mogliśmy zapewnić użytkownikom możliwość sprawdzania postępów każdego żądania eksportu i zrozumienia, gdzie znajduje się to żądanie na dowolnym etapie cyklu życia zadania.
Zaktualizowany cykl życia naszego nowego przepływu w czasie można uprościć i podsumować w następujący sposób:

Ten przepływ zawiera przegląd cyklu życia wszystkich naszych eksportów PDF w przypadku pojedynczych eksportów PDF, masowych eksportów PDF (więcej niż jeden eksport PDF w żądaniu) oraz przepływ niepowodzeń zarówno w przypadku pojedynczego, jak i masowego eksportu PDF podczas uruchamiania tych przepływów nadgodziny.
Opowiadanie, wynik i wyniki
W chwili pisania tego tekstu nasza iteracja tej funkcji została wysłana i uważnie obserwowaliśmy wynik i wyniki.
Dla przypomnienia, zaczęliśmy od pierwszej iteracji, która koncentrowała się na udostępnieniu klientom możliwości, mając na uwadze koniec, aby zrozumieć kolejne kroki, zachowując jednocześnie wystarczającą płynność planu działania, aby wykonać te kroki we właściwym czasie. Po rozważeniu analiz użytkowania i opinii klientów promowaliśmy wdrożenie naszej drugiej iteracji w planie działania.
Celem tej drugiej iteracji było rozwiązanie i obejście problemu rozmiarów załączników oraz praca nad odblokowaniem sztywnego limitu eksportu Visi, który ustaliliśmy dla klientów . Zrobiliśmy to, migrując nasze poprzednie podejście polegające na bezpośrednim dołączaniu wyeksportowanych plików ZIP do wiadomości e-mail jako załączników i zamiast tego zdecydowaliśmy się skorzystać z tymczasowego rozwiązania do przechowywania i linków do pobierania.
Dzięki tej ostatniej iteracji udało nam się złagodzić te problemy i nie otrzymaliśmy więcej próśb o nieudany eksport ze względu na rozmiar załącznika.
W czasie od wydania tej nowej iteracji adopcja tej funkcji wzrosła o ponad 370% . Nasza decyzja o przesunięciu iteracji w harmonogramie prawdopodobnie zapobiegła kilku bólom głowy i trudnym rozmowom z naszymi klientami.
Ten projekt pokazał mentalność współpracy, którą podzielamy w firmie. Pamiętając o końcu, zapobiegawczo rozpoznajemy potencjalne pułapki we wczesnych iteracjach, a także wzmacniamy wartość naszej firmy, aby zmienić i rozwiązać wszelkie problemy wysokiego ryzyka i problematyczne, jeśli wystąpią wcześniej niż przewidywano.
Pamiętając o końcu, zapobiegawczo rozpoznajemy potencjalne pułapki we wczesnych iteracjach, a także wzmacniamy wartość naszej firmy, aby zmienić i rozwiązać wszelkie problemy wysokiego ryzyka i problematyczne, jeśli wystąpią wcześniej niż przewidywano.
Dwie iteracje funkcji masowego eksportu plików PDF, które zostały omówione w tym zestawieniu, pokazują znaczenie wczesnej wartości wysyłki i podejmowania decyzji na podstawie użytkowania przez klienta.
Napotkanie problemu użytkowników, którzy chcą w pełni wykorzystać funkcję, to dobry problem. Jak często mówi się w biurach naszych zespołów: „Wysyłka, aby się uczyć”.