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

  • BPMN

    Certificate of Basic BPMN Competence

    25 kwietnia zdałem państwowy egzamin z posiadania podstawowych kompetencji w posługiwaniu się notacją Business Process Model and Noatation (BPMN) zgodnie z wymogami zawartymi w normie  ISO / IEC 19510:2013. Egzamin przeprowadzony był przez Instytut Badań Systemowych Polskiej Akademii Nauk.       Egzamin obejmował: 1. Podstawowe pojęcia z zakresu opisu procesów biznesowych: Proces i podproces Cel procesu i cel modelowania Mapa procesów Model procesu Proces a Procedura Mierniki procesu Uczestnik procesu (rola biznesowa i stanowisko) 2. Podstawowe pojęcia związane z modelami procesów w notacji BPMN Obiekty na diagramach procesów: Baseny i tory Obiekty przepływu (czynności, zdarzenia i bramki) Połączenia Dane Artefakty Dozwolone i niedozwolone konstrukcje Przepływ procesu i przepływ komunikacji…

  • Uncategorized

    4Developers conference in Warsaw

    Bardzo się cieszę, ponieważ będę prelegentem na konferencji 4Developers. Konferencja odbędzie się 4 kwietnia 2014 w Hotelu Gromada Airport w Warszawie. Będę miał przyjemność poprowadzić tam dwie sesje na temat ciągłej integracji w .NET. Tak właściwie to będzie to moja flagowa sesja na temat CI podzielona na dwie części po 45 minut. Szczegóły dotyczące mojego wystąpienia można znaleźć na stronie konferencji. Zapraszam!

  • Uncategorized

    (polski) Kuźnia majsterkowicza w “Młodym techniku”

    W aktualnym numerze “Młodego Technika” (czerwiec 2013) ukazał się mój artykuł pod tytułem „Kuźnia majsterkowicza”. Pokazuję w nim jak za pomocą sprzętu Tinkerforge zbudować prostą stację pogodową i podłączyć ja do internetu. Tinkerforge to ten sam sprzęt, który użyliśmy w CODEFUSION do budowy RoboTouch. Zapraszam do lektury fragmentu na stronie www.mt.com.pl lub zakupu aktualnego numery w kiosku albo na App Storze. Myślę, że warto!