Spisu treści:
Czy Twoja organizacja programistyczna działa tak, jak powinna? Zawsze jest miejsce na poprawę, ale niektóre organizacje potrzebują pomocy bardziej niż inne. Gdziekolwiek jesteś na kontinuum, ważne jest, aby zidentyfikować, dokąd chcesz się udać i jak się tam dostać, ponieważ organizacje potrzebują jasnej wizji, aby pomóc wszystkim podążać w tym samym kierunku. Powinniśmy ocenić nasze procesy, technologię, linię produktów, dokumentację, kulturę i samych naszych pracowników. Ale przed czym je oceniamy? Jak mierzymy nasze postępy? Uważam, że istnieją trzy kluczowe mierniki oceny zespołu lub organizacji, a jeśli skupimy się na tych kwestiach, wydajność gwałtownie wzrośnie.
- Jakość
- Wydajność
- Saldo
Przyjrzyjmy się uważnie każdemu z nich.
Jakość
jak usprawnić biznes
Pixabay
Jakość ma kluczowe znaczenie dla każdej organizacji. To słowo odnosi się do wszystkiego, co robimy, a nie tylko do liczby znanych błędów w naszym oprogramowaniu. Wyobraź sobie, co możesz zrobić, mając 40 godzin wysokiej jakości - możesz nie potrzebować pożyczać z nocy i weekendów, aby nadrobić zaległości. Jeśli piszesz test automatyczny, zrób z niego dobry, dodający wartości, w przeciwnym razie po co zawracać sobie głowę?
Współpraca jest kluczem do stworzenia wysokiej jakości produktu, ponieważ nasi współpracownicy zobaczą rzeczy, których my nie dostrzegamy. Jeśli coś musi być dobrze zrobione, szczególnie jeśli jest skierowane do klienta, dobrze jest pozwolić na to dodatkowym oczom. Kiedy autorzy chcą wiedzieć, czy ich artykuły są wysokiej jakości, proszą o krytykę, ponieważ rozumieją, że w liczbach jest siła. Niezależnie od tego, czy chodzi o przegląd kodu, programowanie parami, czy po prostu „Hej, czy możesz na to spojrzeć?”, Wykorzystanie dodatkowych par oczu wokół nas pomoże nam utrzymać się na szynach.
Uważam, że przy próbach poprawy jakości oprogramowania najważniejsze są testy automatyczne. Ręczne przypadki testowe są tańsze w tworzeniu niż automatyczne przypadki testowe. Jednak testy ręczne są znacznie droższe do wykonania, szczególnie jeśli musisz wykonać wiele przejść, aby przetestować wszystko w wielu przeglądarkach, systemach operacyjnych i typach urządzeń. Programiści powinni przeprowadzać znaczące testy z Karmą, Spockiem lub JUnitem, ale powinny być również testy funkcjonalne z czymś takim jak Selenium, SOASTA lub Cucumber. Tym, czego naprawdę potrzebujesz w tym wszystkim, jest wczesne wykrywanie defektów, ponieważ im dalej od momentu napisania kodu przez programistę, tym więcej pracy potrzeba do rozwiązania problemu. Dużo łatwiej jest usunąć błąd w kodzie, który napisałem wczoraj, niż w kodzie, który napisałem 3–6 tygodni temu.
Wydajność
Poprawa procesu biznesowego
Pixabay
Skoncentrowanie się na wydajności pomaga usprawnić organizację i zminimalizować nakład pracy wymagany do wykonania każdego zadania. Powtarzalne procesy, które stały się drugą naturą, wymagają znacznie mniejszego wysiłku. Automatyzacja również odgrywa ważną rolę w wydajności, ponieważ chcesz, aby pracownicy skupili się na wykonywaniu zadań, które nie są powtarzalne i wymagają dużej inteligencji (pisanie, kodowanie, projektowanie, planowanie itp.). Gdy kod jest gotowy, automatyzacja powinna przejąć kontrolę, aby kod był budowany, testowany i wdrażany automatycznie. Ten sam zautomatyzowany proces wdrażania powinien obsługiwać każde kolejne środowisko, w tym produkcję. Łatwe wdrożenia umożliwiają częstsze dostawy do produkcji, dzięki czemu można znacznie lepiej reagować na potrzeby firmy.
Ważne jest, aby wszyscy w organizacji ocenili, jakie rzeczy robią ręcznie. Czy można to usprawnić lub zautomatyzować? Jeśli często to robisz, prawdopodobnie jest to dobry kandydat do automatyzacji. W niektórych przypadkach wystarczy przedefiniować nasze procesy, aby wyeliminować niepotrzebne kroki. W innych musimy znaleźć lepsze narzędzia, które automatyzują lub przyspieszają więcej tego, co robimy każdego dnia.
Należy również ocenić narzędzia do zarządzania biletami, takie jak Quality Center czy Jira. Jakie dane śledzisz? Jakie raporty generujesz? Czy co tydzień spędzasz dużo czasu w programie Excel, uzyskując liczby, które musisz wysłać do zespołu kierowniczego? W przypadku zespołów zwinnych, jak obliczyć prędkość zespołu? Czy Twoje narzędzie obsługuje to za Ciebie? Szukaj narzędzi, które oszczędzają Twój wysiłek (np. Wersja pierwsza), zamiast robić tylko to, co wiesz.
Saldo
proces oprogramowania
Pixabay
Równowaga jest kluczowym elementem zwiększania wydajności w Twojej organizacji. Możesz myśleć o swojej organizacji jak o żaglówce. Jeśli łódź jest niezrównoważona, wystąpi opór, który spowoduje, że będzie wolniej poruszać się po wodzie. Ponadto ster może nie działać prawidłowo, co znacznie utrudnia skręt łodzi. Kiedy ludzie popełniają błędy, często rekompensują to, pędząc na „przeciwną stronę łodzi”. Kiedy organizacje programistyczne znoszą ból i cierpienie, ponieważ ich produkt wyszedł za drzwi bez wystarczających testów lub planowania, często pędzą szybko i wściekle w kierunku ciężkich procesów, bramek akceptacji i paraliżu analitycznego. Biegną od jednego problemu do czekających ramion drugiego.
„Ile dokumentacji powinno być wymagane?” Napisz tylko, co jest potrzebne, aby ludzie zrozumieli, co należy zrobić. Jeśli dokumentacja jest pisana, aby spełnić wymagania dopuszczenia lub zaznaczyć pole, powinniśmy prawdopodobnie zatrzymać się i rozważyć, czy jest to konieczne. „Ile potrzeba procesu?” Wystarczy. „Ile czasu należy poświęcić na tworzenie architektury i projektowania?” Wystarczy. Chociaż przeróbki są z pewnością nieefektywne, czasami lepiej jest odłożyć prawdziwe rozwiązanie i wdrożyć szybką poprawkę, aby reagować na pilne potrzeby klientów. Życie to równowaga. Dotyczy to wszystkiego, co robimy jako firma. Złotowłosa desperacko szukała równowagi. Może też powinniśmy.
Poprawa rozwoju
Wszyscy chcemy, aby nasze życie było lepsze. Chcemy łatwiejszych dostaw, płynniejszych przejść, szczęśliwszych zespołów i zadowolonych klientów, przy minimalnym bólu i cierpieniu. Kiedy zaczynamy patrzeć na naszą organizację przez te trzy soczewki, pomaga nam to oceniać i ustalać priorytety zmian. Skupia naszą uwagę na rodzajach zmian, które rzeczywiście przyniosą korzyści organizacji i pomogą jej działać płynniej. Będziesz szczuplejszy i wredniejszy, więc z czasem zauważysz wzrost produktywności, a zmniejszy się stres i frustracja.
Jakość, wydajność i równowaga ostatecznie prowadzą do czegoś, do czego dąży każda organizacja: szybkości. Chcemy szybkości wprowadzania produktów na rynek, reagowania na naszych klientów i możliwości włączenia się w mgnieniu oka, ale w rzeczywistości osiągnięcie tego nie jest intuicyjne. „Po prostu zatrudnijmy więcej osób, abyśmy mogli jechać naprawdę szybko!” Dodanie wielu ludzi z pewnością pomoże ci jechać naprawdę szybko, niestety czasami pomagają ci naprawdę szybko wjechać do rowu. Mądry kolega powiedział mi kiedyś, że trzeba zwolnić, żeby jechać szybciej, i to absolutna prawda. Szybkość wymaga przemyślenia i wysiłku, szczególnie w obszarze automatyzacji. Jeśli poświęcisz czas, aby zapewnić jakość, wydajność i równowagę, będziesz szybko poruszać się w sposób naturalny. Ryczcie jak lew, biegnijcie jak gazela.
© 2017 Mike Shoemake