• Continuous Integration,  Software Engineering,  Testing

    MCET-SEC 6: Plan / Najważniejsze narzędzia

    Tworząc MCET-SEC – nowoczesny i oszczędny zestaw narzędzi dla małych ale sprytnych firm z branży inżynierii oprogramowania, działam według planu. W związku z tym wpadłem na pomysł, żeby podzielić się moimi zamiarami. 1. Nowoczesne repozytorium (system, który nie tylko przetrzymuje kod źródłowy ale umożliwia również pracę nad nim – pull-requesty, komentarze i tak dalej).  -> To już skończone. Z jedną małą pomyłką w postaci Gogsa, rozwiązaną za pomocą Gitei. 2. Oprogramowanie do zarządzania testami. -> Załatwione i działa świetnie z TestLinkiem. 3. Server budujący produkt. -> Zrobione dzięki Jenkinsowi. 4. Ciągłe dostarczanie/integracja. 5. Statyczna analiza kodu z centralnym raportowaniem. 6. Automatyzacja testów. 7. Bilety/śledzenie błędów/mierzenie czasu pracy. 8. Baza wiedzy o…

  • CODEFUSION,  Software Engineering

    MCET-SEC 5: Repozytorium po raz drugi

    W drugiej części serii moich artykułów gdzie tworzę MCET-SEC: nowoczesny i wydajny toolchain dla małych ale przedsiębiorczych firm informatycznych wybrałem Gogsa jako repozytorium dla mojej firmy – CODEFUSION. Działa sprawnie już mniej więcej od miesiąca i zajmujemy się jednym z projektów właśnie na nim. Właśnie otrzymałem pierwsze oceny od moich programistów. Były one dość krytyczne. Jest jeden aspekt, który nie spodobał się szczególnie moim deweloperom: sposób w jaki komentowane są pull requesty. Przywykli oni do sposobu w jaki robi się to w Bitbuckecie gdzie możesz skomentować i dołączyć się do dyskusji osobno przy każdej linii kodu. W praktyce wygląda to jak na zrzucie poniżej: Niestety w Gogsie można otworzyć tylko…

  • CODEFUSION,  Continuous Integration,  Software Engineering

    MCET-SEC 4: Build server

    Świetnie, świetnie! Zdecydowałem się przyjrzeć Dockerowi podczas tworzenia mojego wydajnego zestawu narzędzi dla firm korzystających z Windowsa. Docker to pierwsze co usłyszałem jako odzew od moich programistów w CODEFUSION. Zapytali mnie – „Czy będziemy korzystać z kontenerów?”. „Po co?” odpowiedziałem. Nie dlatego, że byłem uprzedzony, po prostu uważam, że są inne sposoby, z których moglibyśmy skorzystać. Nie mam żadnego doświadczenia z kontenerami. Od zawsze korzystam z Windowsa. Wiem, że Microsoft bardzo promuje Dockera ale myślałem, że nie mam czasu, aby zaglębiać się w nową technologię. Wtedy zacząłem ustawiać wszystko na Windowsie. Postawienie repozytoriów z funkcją pull request, które bazowały na Gogu to była bułka z masłem. Za to stawianie TesLinka…

  • CODEFUSION,  Software Engineering,  Testing

    MCET-SEC 3: Oprogramowanie zarządzające testami

    Moja firma, CODEFUSION, ma już dziewięć lat. Rozrastamy się jako organizacja. W momencie, kiedy piszę ten tekst(marzec 2019) jest nas czternaścioro. Jesteśmy firmą programistyczną założoną i prowadzoną przez programistów. Od samego początku jasnym dla nas było, że ta branża nie może być prowadzona tylko przez developerów. Wiedzieliśmy, że jednym z najważniejszych aspektów bycia fabryką kodu jest zatrudnianie dobrych testerów. Tak więc zatrudniliśmy kilku inżynierów odpowiedzialnych za jakość produktów, przy próbie zachowania proporcji 80 do 20(developerzy do testerów). Kiedy rozpoczynali oni swoją pracę, bez problemu radzili sobie ze swoimi obowiązkami. Było nas naprawdę niewielu, więc wszystko było łatwe do zarządzania. Kiedy chcieliśmy komuś coś przekazać po prostu mu to mówiliśmy. Teraz…

  • CODEFUSION,  Continuous Integration,  Software Engineering,  Windows

    MCET-SEC 2: Repo

    To jest druga część serii MCET-SEC, gdzie tworzę nowoczesny i wydajny toolchain dla małych ale bystrych firm z branży inżynierii oprogramowania. Zarządzam małym przedsiębiorstwem posiadającym zespół składający się z ponad dziesięciu programistów. Specjalizujemy się w platformie .NET(desktopy,web i serwisy) ale tworzymy także w nowoczesnych technologiach webowych(Angular/TS) i mobilnych(Xaramin, natywny Android i IOS). Trochę czasu minęło, od kiedy napisałem ,,Continuous Integration in .NET” i zbudowałem toolchain dla swojej firmy. Teraz pora na jego renowacje. Zacznijmy od utworzenia nowego repozytorium. Repozytorium jest powszechną wśród programistów nazwą, którą określają najważniejsze narzędzie w ich zestawie: bibliotekę kodu źródłowego. Miejsce, w którym przechowujemy owoce naszej ciężkiej pracy – tekst, który zamienia się w oprogramowanie. Fascynujące…

  • 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…

  • Article,  Books,  CODEFUSION,  Continuous Integration,  DotNet,  Software Engineering

    Ciągła integracja – cechy dobrego wdrożenia

    Prawie równo 8 lat temu, w marcu 2011 roku, ukazała się książka mojego współautorstwa „Continuous Integration in .NET”. Książka powstawała równolegle z moją firmą. Z CODEFUSION. Książka sprzedawała się całkiem nieźle. Zresztą sprzedaje się nadal (na szczęście Amerykanie przestali przysyłać czeki pocztą, teraz przychodzą zwykłe przelewy na konto). Powstał pomysł przekucia jej w kurs. Pomysł został zrealizowany. Powstał dwudniowy kurs i oferta konsultacji indywidualnych. Zacząłem podróżować po Polsce – bardzo miło wspominam pobyty w TIETO w Szczecinie, eSky w Katowicach czy Pramerica oraz Hypermedia Isobar w Warszawie. Dla mnie, umiarkowanego introwertyka, były to bezcenne doświadczenia. Zabawa w Continuous Integration była jednak bardzo czasochłonna, a nie budowała wartości dodanej w tej…