Oto krótkie i słodkie: nabierze rozpędu.
Wielu pracodawców położyło duży nacisk na wcześniejsze doświadczenia, szkoły, do których chodziłeś i - z braku lepszego sposobu na powiedzenie „poparzył się”. Wbrew powszechnemu przekonaniu, tworzenie oprogramowania nie jest tak kreatywne, jak wielu z nas w technologii chciałoby wierzyć. W obszarach, w których pozwala, a nawet wymaga kreatywności, zazwyczaj wymaga zrozumienia osobowości / historii użytkowników końcowych, wymagań systemowych, domen biznesowych, ekonomii, procesu inżynierii oprogramowania i architektury oprogramowania na długo przed rozpoczęciem programowania [kodowania].
Od czasu powstania Ruchu Zwinnego błędnie przyjęto konsensus, aby na pierwszym miejscu położyć nacisk na kodowanie i programowanie. W rzeczywistości była to błędna interpretacja tego, do czego dążyli autorzy Manifestu Zwinnego, chociaż może być trudno zebrać to z Manifestu. Agile mocno pożyczył, a nawet bezpośrednio przyjął zasady LEAN. LEAN koncentruje się na pracownikach wdrożeniowych, ale tylko z punktu widzenia faktu, że osoby te są najbliżej rzeczywistych klientów firmy [ czytaj: klient kontraktowy ].
Dlaczego to rozróżnienie jest ważne? Pracownicy wdrożeniowi bezpośrednio odczuwają wpływ wielu decyzji - zarówno dobrych, jak i złych. Jako takie, mają wyjątkową pozycję do wprowadzania prostych zmian, które mogą mieć dramatyczny wpływ na wydajność i jakość. Niestety, często nie są w pełni zaangażowani w swoją wiedzę o kliencie końcowym, co pozostawia wiele możliwości poprawy wydajności i jakości produktu na stole. Misją LEAN jest konsekwentne dostarczanie większej wartości klientowi końcowemu poprzez osiąganie coraz wyższych poziomów efektywności poprzez usuwanie odpadów, zwiększając szybkość dostaw i poprawę jakości. Zwinnie przesunęło kopertę na usuwanie odpadów w przestrzeni konstrukcyjnej oprogramowania, ale prawdziwa skuteczność z punktu widzenia klienta końcowego [jak również klienta końcowego z umowy] była minimalna.
W tym celu warto odnotować pozytywne osiągnięcia w zakresie szybkości i jakości, takie jak wyraźna poprawa kunsztu artystycznego [połączenie nauki i sztuki] doprowadziły nas do przodu w dziedzinie konstrukcji, ale w tym procesie straciliśmy z oczu to, co jest ważne - klient. I nie chodzi mi tylko o użytkownika końcowego, ale o klienta końcowego przedsiębiorstwa. Podobnie jak w LEAN wszystko zaczyna się od faktycznego klienta i działa wstecz. Co to ma wspólnego z CSDA i CSDP IEEE? Dużo.
Po pierwsze, osoba często zakorzeniona w zrozumieniu odzwierciedlonym w dyscyplinach inżynierskich musi w pełni zrozumieć, że proces musi zawsze koncentrować się na ogólnym celu, biorąc pod uwagę jego faktyczną skuteczność, kamienie milowe i cechy jakościowe. Jeśli brakuje Ci którejkolwiek z tych cech, nie możesz dostarczyć pełnej wartości swojemu klientowi [przedsiębiorstwu] umownemu, co z kolei może wygenerować falę zdarzeń, która obniża wartość dla klientów końcowych / klientów firmy. Niedobrze.
Co więcej, umiejętność przejęcia obowiązków przywódczych [co jeśli masz samokierujący zespół (jak wymaga tego Agile}), każdy musi być w stanie prowadzić do pewnego stopnia] zazwyczaj wymaga dobrego i dogłębnego zrozumienia omawianego tematu, funkcje, z którymi współpracuje, a także możliwość przekazywania tej wiedzy wielu interesariuszom z różnych środowisk. Rzeczywistość jest taka, że bez względu na opis pracy ludzie oczekują, że programiści są inżynierami głęboko. To, że są inteligentnymi, utalentowanymi ludźmi z szerokim zakresem umiejętności, które obejmują opanowanie ich podstawowych działań, a także umiejętność zrozumienia i rozwiązania każdej problematycznej dziedziny klienta.
Skąd więc tak duża uwaga na temat Agile podczas dyskusji na temat CSDA i CSDP? Prosty - Podstawa. Jeśli masz zespół CSDA i CSDP, nawet jeśli w jakiś sposób oszukują, nadal będą mieli przyzwoitą wiedzę o tym, gdzie idą wszystkie procesy i dyscypliny w inżynierii oprogramowania, dlaczego tam są i kiedy powrócić do nich jako środka jednoczącego zrozumienia przed pójściem w nowym kierunku. Ta fundacja stworzy okazję do konsekwentnego dostarczania praktyk rozwoju oprogramowania, poprzez metodologie SDLC i możliwość dość łatwego przestawiania się i / lub łączenia metod SDLC. IEEE stworzyło drogę dla specjalistów w dziedzinie informatyki - czy to kierunków inżynierskich, absolwentów CS, profesjonalistów IT, czy samouków - aby ujednolicić i zademonstrować podstawową wiedzę na temat tworzenia oprogramowania, dostarczania, oraz proces wycofywania z eksploatacji jako dyscypliny inżynierskiej, która jest godna szacunku i powinna być traktowana z szacunkiem. I z powodu tych czynników nabierze rozpędu.