Czym charakteryzuje się Dobry Software?
Co powoduje, że oprogramowanie które tworzymy jest dobre? Czy to tylko chodzi o jakość kodu, który został wytworzony przez programistów? Czy chodzi o kwestie wizualne? Czy może o to, że mamy wszystkie najpopularniejsze featury? Dziś postanowiłem pochylić się nad tym tematem.

Co powoduje, że oprogramowanie które tworzymy jest dobre? Czy to tylko chodzi o jakość kodu, który został wytworzony przez programistów? Czy chodzi o kwestie wizualne? Czy może o to, że mamy wszystkie najpopularniejsze featury? Dziś postanowiłem pochylić się nad tym tematem.
Przecież stworzyć aplikacje w tych czasach może niemal każdy. Jest mnóstwo kursów, bootcampów, szkoleń przybliżających kwestie techniczne. Tylko czy dobra aplikacja/dobry soft to jedynie ładnie napisany kod?
Z perspektywy programisty z wieloletnim doświadczeniem z całą stanowczością mogę powiedzieć, że kod nie determinuje, czy nasz produkt będzie dobrym i chętnie używanym oprogramowaniem ale bez niego nie jesteśmy w stanie żadnej aplikacji stworzyć. Zatem co powoduje, że to nad czym pracujemy będziemy mogli nazwać dobrym software'm?
Zagłębiając się w ten temat można zidentyfikować ogromną ilość mniejszych lub większych składowych. Ja dziś przybliżę 7 moim zdaniem najważniejszych z nich.
Zaczynamy!
- Dobre oprogramowanie jest innowacyjne
Stare oprogramowanie aktualizujmy o najnowsze trendy technologiczne, by nadążać za zmianami i usprawniać to co już mamy. Nowe oprogramowanie twórzmy za pomocą sprawdzonych rozwiązań, dopasowanych do potrzeb, tak aby wprowadzać je na rynek szybko i bez większych potknięć po drodze.
Ogólnie starajmy się wprowadzać do naszego świata coś nowego, inspirujmy się użytkownikami i ich potrzebami, tak aby to co robimy zmieniało ich życie i było im faktycznie potrzebne - Dobre oprogramowanie jest użyteczne
To co tworzymy powinno być naprawdę przydatne dla naszych potencjalnych użytkowników. Badajmy i mierzmy, czy to co robimy przynosi ludziom wartość i są tym czego potrzebują, a rzeczy zbędne eliminujmy - Dobre oprogramowanie jest estetyczne
Estetyka jest ważna w wielu aspektach aplikacji. Po pierwsze ważne, żeby była ona estetyczna dla użytkowników, wiec dbajmy o UI i UX, tak aby użytkownik łatwo i bez większy problemów był w stanie korzystać z aplikacji. Jeśli chodzi o techniczną stronę naszego projektu to kod, nad którym pracują programiści, także powinien być estetyczny, tak aby praca była dla nich przyjemnością. Im łatwiej i czytelniej jest utrzymywany kod w projekcie, tym łatwiej będzie do niego dodać nowe funkcje - Dobre oprogramowanie jest łatwe do zrozumienia
Użytkownicy muszą mieć łatwość poruszania się po aplikacji, którą dla nich tworzymy. Wszystkie element powinny być rozmieszczone w zrozumiały sposób, więc dbajmy o UX. Również programiści muszą mieć odpowiednią ilość czasu, aby przygotować kod, w taki sposób, aby było im łatwo do niego wrócić i zrozumieć o co chodziło. - Dobre oprogramowanie jest dopracowane w najdrobniejszych szczegółach
Musimy mieć pewność, że każda sytuacja w naszej aplikacji jest odpowiednio obsłużona. Upewnijmy się, że każdy błąd jest obsłużony w sposób dający użytkownikom odpowiednie informacje. Im więcej jasnych informacji użytkownik dostanie, tym mniej frustracji będzie pojawiać się w jego głowie. - Dobre oprogramowanie jest przyjazne dla środowiska
Zadbajmy o to, aby nasza aplikacja nie zużywała niepotrzebnych zasobów. Nadmiarowe wykorzystanie serwerów pod kątem pamięci czy zasobów, może spowodować, że serwer będzie musiał zużywać więcej energii elektrycznej niż powinien w optymalnych warunkach. Dbajmy o to aby monitorować na bieżąco co się dzieje jeśli chodzi o zasoby na serwerze i optymalizujmy! - Dobre oprogramowanie to takie, które zawiera jak najmniej oprogramowania
Ten punkt może wydawać się enigmatyczny. Chodzi tutaj o to, że jeśli tworzymy nowe oprogramowanie, to musimy dbać o to, żeby nie spędzać ogromnej ilości czasu żeby tworzyć maksymalną ilość funkcjonalności, które wcale nie muszą być atrakcyjne dla użytkowników. Im mniej niepotrzebnego kodu wytworzymy, tym lepiej. Poznawajmy naszych userów i dostarczajmy dla nich odpowiednie rozwiązania skrojone do potrzeb
Tworząc produkt należy pamiętać, że nie zawsze ilość napisanego kodu i ilość funkcji, które mamy w aplikacji jest najważniejszą sprawą. Musimy sie skupiać na naszych użytkownikach. Dostarczać takie funkcjonalności, które będą odpowiadać ich potrzebom i nieść za sobą wartość. Każda duża firma jak google, czy facebook, bada rozwiązania i stosuje tylko takie, które mają racje bytu.