Books,  Continuous Integration,  Software Engineering

MCET-SEC

Minęło naprawdę sporo od kiedy opublikowane zostało ,,Continuous Integration in .NET”. Upływ czasu jest widoczny szczególnie w kontekście tak prężnie rozwijającej się dziedziny jaką jest inżynieria oprogramowania. Ponad osiem lat temu kiedy razem z Craigiem Bertson’em pisałem książkę o ciągłej integracji ,wciąż pracowałem jako główny programista w średniej wielkości niemieckim przedsiębiorstwie. Wiele się zmieniło. Obecnie jestem właścicielem małej firmy w Opolu, która zatrudnia developerów. Tworzenie stabilnego i dobrze prosperującego biznesu to praca bardzo pracochłonna i absorbująca. Przyznaję, do tego stopnia, że zaniedbałem swoją pasję, która zainspirowała mnie do napisania książki. Pasję, której celem jest ułatwianie pracy innym programistom. Dzięki automatyzacji każdego procesu, który się da, poprzez pozostawianie prostymi aspektów, które muszą takie pozostać. Chciałbym, aby produkcję oprogramowania można było porównać do taśmy działającej w fabryce, albo przynajmniej odseparować sztukę wdrażania kodu do określonych procesów inżynierii oprogramowania.

W mojej firmie stworzyliśmy szereg autorskich narzędzi programistycznych, które przez lata świetnie sprawdzały się w codziennej pracy. W sumie nadal sprawdzają, bo do dzisiaj z nich korzystamy. Niestety powoli czujemy, że nadgryzł je ząb czasu. Na rynku pojawiają się rozwiązania, które korzystają z nowocześniejszego podejścia. Podczas współpracy z częścią klientów musimy korzystać z ich własnych zestawów narzędzi i zdarza się, że są naprawdę dobre. Konkurencja wydaje ogromne pieniądze na ich tworzenie ale widocznie to dobra inwestycja, ponieważ część naszych developerów zaczyna dostrzegać braki w naszym własnym systemie. Jak to zwykle bywa wśród programistów nikt nie chce podjąć się tak trywialnego zadania jak napisanie nowego wewnętrznego systemu. W porządku. Pozwólmy programistom zajmować się ich własnymi problemami – ja wymyślę nowy toolchain. Wracam do pracy w mojej dziedzinie. Wymyślę nowoczesny i wydajny zestaw narzędzi programistycznych dla małych i bystrych firm informatycznych (MCET-SEC).

Od czego zaczynamy:

  1. Repozytorium programistyczne: SCMManager
  2. Server produkcyjny: Jenkins
  3. Detektor problemów/miernik czasu: Redmine

Prosty i wydajny układ. Kiedyś to połączenie było nowoczesnym kombajnem. Dzisiaj wygląda bardziej jak kosiarka. Działa płynnie ale chciałbym żeby miała wszystkie funkcjonalności, które oferują nowoczesne rozwiązania.

  1. Brakuje możliwości, aby robić formalne code review w parach.
  2. Nasz krajobraz ciągłej aktualizacji kodu jest ograniczony przez sieć lokalną i za bardzo polega na infrastrukturze MSDeoploy.
  3.  Nasze oprogramowanie do wykrywania problemow/mierzenia czasu nie posiada funkcji śledzenia wydania/uwag.
  4. Kiedyś oprogramowanie do zarządzania testami było niepotrzebne, ponieważ nie było testerów. Teraz kiedy zatrudniamy zarówno developerów jak i testerów – problem jego braku zaczyna się uwydatniać.
  5. Kiedy firma była mniejsza licencjonowanie oprogramowania, którego używamy nie było kłopotem. Teraz, kiedy liczba programistów osiąga kilkanaście, pojawia się problem.

Pora się za to porządnie zabrać. Zaczynam od zaraz(marzec 2019). Dołącz do mnie w tej przygodzie – tworzeniu MCET-SEC.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *