Zrozumienie specyfiki małych firm i ich problemów w procesie wytwarzania oprogramowania wymaga zrozumienia ich rodowodu. Bardzo często organizacje takie ewoluowały od inicjatywy, która zjednoczyła ledwie kilka osób. Niewielkie zespoły stopniowo powiększały się, podejmowały coraz bardziej złożone zadania i większe projekty.
Co tak szczególnego zagraża małym firmom? Często może być to fakt, że nie zauważają momentu, kiedy przestają być firmami bardzo małymi – kilkuosobowymi. Z czasem liczba pracowników rośnie i okazuje się, iż organizacja nie funkcjonuje już w niewielkim zespole, który ma możliwość bezpośredniej komunikacji. Małe firmy mogą przeoczyć moment, kiedy jeden zespół dzieli się na kilka odrębnych grup, tworzy się hierarchia, komunikacja każdego z każdym nie jest już możliwa, a spotkania i realizacja zadań wymaga zwiększonych nakładów na zorganizowanie pracy.
Zdaje się, że aby wprowadzić standardy w procesie wytwarzania oprogramowania małej firmy potrzebne byłoby podjęcie świadomego wysiłku oraz posiadanie jasnej wizji strategii organizacji, zaplanowanego podążania ku wyznaczonym celom.
Gdy w firmie pracują już dziesiątki osób, wyłania się potrzeba standaryzowania procesów. Coraz częściej projektom mogą zagrażać niepowodzenia, niezgodność wypracowanych samodzielnie przez każdego schematów postępowania może znacznie utrudniać realizację zadań. Potrzeba standaryzowania procesów staje się widoczna dla pracowników na różnych szczeblach.
Seria artykułów, którą rozpoczyna ten, opisuje często występujące trudności firm w podziale na te, które wynikają z kwestii samej organizacji, oraz te związane z prowadzeniem projektów. W kolejnym artykule przedstawione zostaną różne podejścia do doskonalenia procesów.
Obszary związane z organizacją, w których rozwijające się firmy napotykają na trudności:
1. Strategia biznesowa organizacji,
2. Struktura organizacyjna,
3. Kultura organizacyjna,
4. Zarządzanie wiedzą,
5. Zarządzanie programem i portfelem.
Obszary związane z prowadzeniem projektów, w których rozwijające się firmy napotykają na trudności:
1. Planowanie projektu,
2. Zarządzanie wymaganiami,
3. Zarządzanie konfiguracją,
4. Pomiary i analiza,
5. Monitorowanie i kontrola,
6. Zapewnianie jakości procesu i produktu.
Artykuł powstał na podstawie fragmentu pracy:
Wesołowska H.: Narzędzie i procedury wspomagające pracę w małej firmie programistycznej, praca magisterska, Katedra Inżynierii Oprogramowania, WETI, Politechnika Gdańska 2011.