Cztery kroki do efektywnej automatyzacji

Programowanie to bardzo ważny element w dziedzinie sterowania. Poniżej przedstawiamy cztery reguły pomagające nawet najbardziej wymagający projekt przekuć w sukces.
A gdyby tak pomyśleć w ten sposób: interakcje i obsługa klienta dają więcej niż tylko narzędzia i procesy, sprytnie działające oprogramowanie jest więcej warte niż kompleksowa dokumentacja, współpraca z klientami i słuchanie ich potrzeb jest ważniejsze niż negocjowanie obszernego kontraktu, a sprawna reakcja na zmiany zapewnia więcej korzyści niż ślepe podążanie za z góry ustalonym planem? Tak, to prawda – każda z czterech przedstawionych poniżej reguł ma istotne znaczenie dla efektywnego i skutecznego rozwoju oprogramowania. Może zaważyć o sukcesie projektu.
1. Ludzie i interakcje ponad procesy i narzędzia
Procesy i narzędzia są użyteczne, jednak czasami hamują proces tworzenia. Owszem, przydają się do zbudowania szkieletu lub większej części projektu, jednak na tym koniec. Próba stworzenia całego oprogramowania ze sztywnym bazowaniem na jednym narzędziu programistycznym to droga donikąd. Podobnie próba podążania za ustalonym procesem na siłę – sprawdzi się to tylko w przypadku niektórych projektów (w końcu wszystkie mają różną specyfikę). Kolejne kroki opisane według jakiegoś procesu to tylko wskazówki postępowania, a nie drogowskazy, za którymi mamy ślepo podążać.
Chociaż procesy i narzędzia są niezwykle przydatne, to w ostatecznym rozrachunku na skuteczną pracę nad danym projektem wpływają jego mocne i słabe strony, a także wzajemne interakcje między ludźmi. Procesy czy odpowiednie narzędzia mogą ewentualnie pomóc w pracy, wzmacniając dobre interakcje i uwydatniając pozytywy –jednak nigdy nie mogą być ich substytutem.
2. Działające oprogramowanie ponad obszerną dokumentację
Prawie każdy spotkał się kiedyś z ciągłym poprawianiem projektu w drodze do „idealnego” rozwiązania – zazwyczaj nie sprawia to, by efekt zyskał doskonałość. Po drodze tworzymy masę zbędnych, aczkolwiek bardzo szczegółowych, dokumentów, a przecież dopiero testy gotowego produktu pokazują ewentualne niedociągnięcia czy usterki. Stąd tak ważny jest etap prób, testów i symulacji.
Dodawanie czy usuwanie funkcjonalności, kolejnych pętli sterowania lub oprzyrządowania jest dużo łatwiejsze, jeżeli wcześniej możemy to zasymulować. Na kartce papieru wszystko wydaje się możliwe, ale zrozumienie zasady np. konkretnego procesu produkcyjnego wymaga już odrobinę większej wyobraźni. Często popełnianym błędem jest spędzanie wielu godzin na przeprojektowywaniu i przebudowywaniu na podstawie oceny tylko tego, co widzimy na „papierze” – podczas gdy wystarczy przygotować nawet wstępną wersję działającego oprogramowania, aby zweryfikować jego pracę.
3. Współpraca z klientem ponad formalne ustalenia
Tutaj zasada jest prosta: poznaj odbiorcę swojego oprogramowania, a wasza współpraca będzie bardziej przypominała stare dobre małżeństwo niż zjeżone strony tuż przed rozwodem. Obie strony muszą ściśle współpracować, aby efekt był korzystny dla wszystkich. Wzajemne zaufanie i zaangażowanie są niezbędne i trudne do sformalizowania. Dlatego nie możemy pozwolić, aby brnięcie w kolejne strony obszernych umów przysłaniało nam to, co najważniejsze – dobro naszego klienta i jego potrzeby.
4. Reagowanie na zmiany ponad podążanie za planem
Gdy słyszymy stwierdzenie o niezbędnych „dodatkowych pracach”, zazwyczaj z góry traktujemy je jak zło koniecznie. Z doświadczenia można jednak powiedzieć, że naprawdę rzadkością są projekty, które nie wymagają jakichkolwiek „dodatkowych” prac. Zmiany są naturalnym elementem naszego życia – sztywne podążanie za planem jest czymś bardzo utopijnym, bo nieoczekiwane sytuacje okazują się codziennością. Czasem jesteśmy pewni, że dane rozwiązanie zadziała, a w rzeczywistości dzieje się odwrotnie. Dlatego elastyczność i umiejętność adaptacji do nieoczekiwanych zdarzeń jest bardzo ważną umiejętnością.
***
Oczywiście powyższe punkty nie oznaczają, że od dzisiaj w naszych projektach „odpuszczamy sobie” harmonogramy, wykonywanie dokumentacji, negocjacje warunków umowy i zapominamy o dostępnych narzędziach i procesach… Chodzi o to, że z każdym kolejnym przedsięwzięciem zbieramy doświadczenie, jak doprowadzić kolejne projekty do pomyślnego rozwiązania. Nie istnieje tylko jeden, jedyny, absolutnie właściwy sposób na sukces. Musimy umiejętnie wypośrodkować nasze działanie, balansując pomiędzy sztywnymi zasadami a tzw. czynnikiem ludzkim.
Autor: Rocky Chambers jest specjalistą systemów sterowania w firmie Maverick Technologies.
Tekst pochodzi z nr 4/2017 magazynu "Control Engineering". Jeśli Cię zainteresował, ZAREJESTRUJ SIĘ w naszym serwisie, a uzyskasz dostęp do darmowej prenumeraty w formie drukowanej i/lub elektronicznej.