Firmy, które stosują dobre praktyki i pokonały w grze rynkowej JanuszSofty.

0

Mam nadzieję, że także według pozostałych, ten wątek pasuje do działu Kariera, bo też może pomóc osobom szukającym pracy dokonać odpowiedniego wyboru. Oczywiście chcę tu nawiązać do dyskusji o dobrych praktykach z wątku "Gdzie są te słynne JanuszSofty".

Czy może opisać tutaj swoje doświadczenia ktoś, kto uczestniczył od początku w projekcie, w którym od razu zostały zastosowane tzw. "dobre praktyki" i projekt wszedł w jakąś niewykorzystaną wcześniej niszę, albo wygryzł z niej nie-stosującego dobrych praktyk JanuszSofta?
Interesują mnie również doświadczenia, gdy JanuszSoft przestał być JanuszSoft-em, a zaczął być firmą stosującą "dobre praktyki" i wskutek wprowadzenia tych dobrych praktyk w szybkim tempie zmniejszała się liczba błędów, a dodawanie nowych funkcjonalności było łatwiejsze niż przed wprowadzeniem tych praktyk.

Nawet jeśli ktoś ma opory przed wskazaniem firmy z nazwy - interesują mnie także same osobiste obserwacje, pozbawione informacji pozwalającyh rozpoznać firmę.

Czym konkretnie są te "dobre praktyki" pozostawię ocenie osób, które chciałyby pochwalić swoje obecne lub poprzednie firmy za ich wykorzystywanie.

3

Np. moja firma. Szczegóły dostępne po podpisaniiu NDA.

1

@Coredump:
Weź pod uwagę to, że nie wszystkie projekty startują w JanuszSoftach. To jedno. A drugie to to, że jak masz wprawę w TDD to pisanie testów wcale cię nie spowalnia, w perspektywie co najmniej kilku miesięcy.

0

Startupy z doliny krzemowej ktre miały na start większą kapitalizacjde niż całe forum razem wzięte zarobi w życiu.

0
Mały Karp napisał(a):

Startupy z doliny krzemowej ktre miały na start większą kapitalizacjde niż całe forum razem wzięte zarobi w życiu.

Masz na myśli jakieś serwisy społecznościowe? Takich są setki. Zdecydowana większość zdycha od razu, część trafia w zapotrzebowanie rynkowe i się wybija. Poza tym wybicie się dzisiaj na serwisie społecznościowym jest znacznie trudniejsze niż zrobienie stronki wizytówki czy małego sklepu internetowego. Społecznościówka ma tysiące czy miliony użytkowników i musi sobie radzić z takim obciążeniem. To samo w sobie jest wyzwaniem.

0

OMG każda normalna firma pokonuje januszsoftmaxów. KAŻDA! złudzenie januszy że mają projekty jest totalnie z czapy bo oni dostają jakieś CRUD-y do klepania. W normalnej firmie naprawdę znajdziesz projekty o których ci się nie śniło że się je w Polsce realizuje ale o tym sie nie mówi bo kasa jest inna i umowa. Umowa potrafi np. precyzyjnie określić, że dopiero za 5lat od końca projektu dana firma może się pochwalić, że wykonywała taki soft albo produkt. Kasa jest wtedy większa ale wszystko praktycznie robi się na top secret. A dowiedziałem się właśnie o tym gdy opuściłem szeregi januszsoftów.

1

Google? :P

1

To pytanie jest bez sensu, bo celem firm tworzących dobry soft nie jest wygryzanie z rynku słabych firm. Zresztą, trudno wygryzać z jakiegoś rynku, jeśli się operuje na innym.

0
somekind napisał(a):

To pytanie jest bez sensu, bo celem firm tworzących dobry soft nie jest wygryzanie z rynku słabych firm. Zresztą, trudno wygryzać z jakiegoś rynku, jeśli się operuje na innym.

Pytanie jest jak najbardziej z sensem. Nie mogłem całego pytania zamieścić w temacie, ale w treści jest, że interesują mnie również przypadki wejścia w niszę niezajętą przez JanuszSofty.

To co mnie interesuje, to ile osób widziało w praktyce, że zastosowanie tzw. "dobrych praktyk" pokazało swoją praktyczną przewagę nad ich niestosowaniem. Nad tworzeniem oprogramowania na wyczucie, na minimalizowanie wkładu pracy, bez dbania o to, jaką "jakość kodu" w ocenie jakiegoś teoretyka się uzyska.

Chodzi mi o dwa przypadki:

  1. Oprogramowanie tworzone od początku "dobrze" - i doprowadzone do stanu używalności.
  2. Oprogramowanie tworzone bez "dobrych praktyk", po czym zaczyna się wprowadzać "dobre praktyki" i szybko maleje liczba błędów, a dodawanie nowej funkcjonalności jest łatwiejsze niż przed wprowadzeniem tych praktyk.

Porównanie z JanuszSoftami jest o tyle wartościowe, że JanuszSoft ma ograniczone zasoby, więc według wielu teoretyków, to właśnie tutaj SZCZEGÓLNIE WAŻNE powinno być stosowanie "dobrych praktyk", aby jak najmniej tych ograniczonych zasobów zmarnować.

0

Pierwszy przypadek, Firma Remontowo-Budowlana Jan Kowalski i Syn. Remonty mieszkań, roboty murarskie, malowanie, gładzie gipsowe, kafelkowanie.
Drugi przypadek, Kuchnie na Wymiar.
Trzeci, firma Łazienki na zamówienie od A do Z.

Czwarty, developer przemysłowy branży sklepów wielkopowierzchniowych.
Piąty, weźmy branżę biurowców.

W przypadkach 1 do 3 działa jak działa to działa dobrze.
Dopiero 4 i 5 bez dobrych praktyk projektowo budowlanych nie da rady.

Produkcja software to biznes jak każdy inny, duża skala ma inne wymaganie od małych firm. Duzi i mali robią tak jak im najlepiej, zamienienie się metodami pracy dobrymi dla dużych na sposoby dobre dla małych nie byłoby dobrym pomysłem ani w jedną ani w drugą stronę.

0
Pan Kracy napisał(a):

Pierwszy przypadek, Firma Remontowo-Budowlana Jan Kowalski i Syn.
[...]
Produkcja software to biznes jak każdy inny, duża skala ma inne wymaganie od małych firm. Duzi i mali robią tak jak im najlepiej, zamienienie się metodami pracy dobrymi dla dużych na sposoby dobre dla małych nie byłoby dobrym pomysłem ani w jedną ani w drugą stronę.

Porównanie tworzenia oprogramowania z przemysłem budowlanym jest nietrafione.
W budownictwie musi być zachowana kolejność - najpierw fundamenty, dekoracje na końcu. W programowaniu można zastosować kolejność dowolną. Można też wrócić do wybranego, wcześniejszego, etapu i wykonać go ponownie, jeśli się nie udał. Na przykład znana - i lubiana lub nie - idea "agile" w przemyśle budowlanym jest kompletnie niewykonalna.

1
Coredump napisał(a):
Pan Kracy napisał(a):

Pierwszy przypadek, Firma Remontowo-Budowlana Jan Kowalski i Syn.
[...]
Produkcja software to biznes jak każdy inny, duża skala ma inne wymaganie od małych firm. Duzi i mali robią tak jak im najlepiej, zamienienie się metodami pracy dobrymi dla dużych na sposoby dobre dla małych nie byłoby dobrym pomysłem ani w jedną ani w drugą stronę.

Porównanie tworzenia oprogramowania z przemysłem budowlanym jest nietrafione.
W budownictwie musi być zachowana kolejność - najpierw fundamenty, dekoracje na końcu. W programowaniu można zastosować kolejność dowolną. Można też wrócić do wybranego, wcześniejszego, etapu i wykonać go ponownie, jeśli się nie udał. Na przykład znana - i lubiana lub nie - idea "agile" w przemyśle budowlanym jest kompletnie niewykonalna.

Agile w przemyśle budowlanym xD
"Nie, wie pan co, jednak nie pasuje mi tu ta ściana, proszę ją przesunąć o 2 metry"

1

Już dajcie spokój z tymi JanuszSoftami. Ile można pisać o tym samym? Cały temat jest bez sensu. W JanuszSoftach chodzi o szacunek do kadr, konkurencji, uczciwość w przestrzeganiu tego na co ludzie się umówili, przestrzeganie prawa i ogólnych zasad życia w społeczeństwie, a nie o sposób klepania kodu nieważne czy do prostych CRUDów czy do prototypu łazika marsjańskiego. Ilość trolów na tym forum przekroczyła masę krytyczną.

1
Coredump napisał(a):

Pytanie jest jak najbardziej z sensem. Nie mogłem całego pytania zamieścić w temacie, ale w treści jest, że interesują mnie również przypadki wejścia w niszę niezajętą przez JanuszSofty.

A jakie nisze zajmują JanuszSofty? Do głowy mi przychodzi tylko klepanie prostych stronek dla małych firemek, ewentualnie konfigurowanie CMSów. Większość firm nie jest tym w ogóle zainteresowana.

To co mnie interesuje, to ile osób widziało w praktyce, że zastosowanie tzw. "dobrych praktyk" pokazało swoją praktyczną przewagę nad ich niestosowaniem. Nad tworzeniem oprogramowania na wyczucie, na minimalizowanie wkładu pracy, bez dbania o to, jaką "jakość kodu" w ocenie jakiegoś teoretyka się uzyska.

A kiedy przestałeś bić żonę?
Celem stosowania dobrych praktyk jest minimalizowanie nakładu pracy, lepsza jakość kodu jest tego efektem ubocznym.

Chodzi mi o dwa przypadki:

  1. Oprogramowanie tworzone od początku "dobrze" - i doprowadzone do stanu używalności.
  2. Oprogramowanie tworzone bez "dobrych praktyk", po czym zaczyna się wprowadzać "dobre praktyki" i szybko maleje liczba błędów, a dodawanie nowej funkcjonalności jest łatwiejsze niż przed wprowadzeniem tych praktyk.

Dobre praktyki to nie jest coś, co łatwo można wprowadzić do istniejącego oprogramowania. Zazwyczaj w przypadku 2. prościej jest przepisać wszystko od nowa.

Porównanie z JanuszSoftami jest o tyle wartościowe, że JanuszSoft ma ograniczone zasoby, więc według wielu teoretyków, to właśnie tutaj SZCZEGÓLNIE WAŻNE powinno być stosowanie "dobrych praktyk", aby jak najmniej tych ograniczonych zasobów zmarnować.

To raczej jest tak, że w JanuszSofcie dziesięć słabo opłacanych osób klepie po godzinach soft, który w dobrej firmie robią trzy bez żadnej spiny.

0

A jakie nisze zajmują JanuszSofty? Do głowy mi przychodzi tylko klepanie prostych stronek dla małych firemek, ewentualnie konfigurowanie CMSów. Większość firm nie jest tym w ogóle zainteresowana.

Zajmują różne nisze. Wiele jest nisz niepowiązanych z tworzeniem stronek ani prostych ani złożonych. Na pograniczu z elektroniką, czy z elektryką [o elektryce dużych mocy nie wiem], JanuszSofty żyją sobie w jako-takiej harmonii z dużymi firmami. A czy te duże firmy samodzielnie coś opracowały, czy po prostu w przeszłości wykupiły jakiegoś JanuszSofta - nie wiem.

A kiedy przestałeś bić żonę?
Celem stosowania dobrych praktyk jest minimalizowanie nakładu pracy, lepsza jakość kodu jest tego efektem ubocznym.

Na początek proszę o zmianę sposobu wypowiadania się. Dyskusja będzie lepsza, jeśli żaden z nas na starcie nie będzie przyjmował założenia, że drugi rozmówca jest idiotą. Proszę więc o odrobinę dobrej woli i zrezygnowanie z prób takiego interpretowania moich wypowiedzi, aby ta interpretacja była jak najgłupsza.

Ja jako metodę JanuszSoftową (i działającą - sam też stosuję) rozumiem minimalizowanie nakładu pracy, jaki muszę wykonać w najbliższym czasie, kosztem hipotetycznego dużo większego nakładu w dłuższej perspektywie czasowej.
Metoda oczywiście uwzględnia uczenie się - jeśli doświadczenie W TEJ KONKRETNEJ NISZY pokazało, że W TEGO RODZAJU JEDNOSTKOWYM PRZYPADKU, trzeba postąpić inaczej i poświęcić więcej czasu, to się go poświęca.

Dobre praktyki to nie jest coś, co łatwo można wprowadzić do istniejącego oprogramowania. Zazwyczaj w przypadku 2. prościej jest przepisać wszystko od nowa.

W takim razie interesują mnie również doświadczenia osób, które najpierw pracowały przy pierwszej wersji produktu - bez dobrych praktyk, po czym pracowały na drugą wersją, tym razem uwzględniającą "dobre praktyki" i w tej drugiej wersji szybko były usuwane błędy, a rozwijanie produktu do pojawiających się nowych potrzeb było łatwiejsze.

To raczej jest tak, że w JanuszSofcie dziesięć słabo opłacanych osób klepie po godzinach soft, który w dobrej firmie robią trzy bez żadnej spiny.

Założenia poparte wiarą, a nie praktyką.

0
Coredump napisał(a):

Na początek proszę o zmianę sposobu wypowiadania się. Dyskusja będzie lepsza, jeśli żaden z nas na starcie nie będzie przyjmował założenia, że drugi rozmówca jest idiotą. Proszę więc o odrobinę dobrej woli i zrezygnowanie z prób takiego interpretowania moich wypowiedzi, aby ta interpretacja była jak najgłupsza.

Zdanie o żonie napisałem, bo to Ty zacząłeś presupozycje pisząc: "Nad tworzeniem oprogramowania na wyczucie, na minimalizowanie wkładu pracy, bez dbania o to, jaką "jakość kodu" w ocenie jakiegoś teoretyka się uzyska." To zdanie sugeruje jakoby dobre praktyki były wymysłami teoretyków i nie powodowały minimalizowania wkładu pracy, co jest bzdurą.

Ja jako metodę JanuszSoftową (i działającą - sam też stosuję) rozumiem minimalizowanie nakładu pracy, jaki muszę wykonać w najbliższym czasie, kosztem hipotetycznego dużo większego nakładu w dłuższej perspektywie czasowej.

Metoda januszsoftowa to raczej zatrudnianie za minimalną krajową, reszta kasy pod stołem, wszystkie zadania na wczoraj, bezpłatne nadgodziny, praca na prehistorycznym komputerze oraz brak wody i okien w biurze.
To co Ty opisałeś, to normalna dobra praktyka inżynierska. W programowaniu ma dodatkowo nazwę YAGNI.

Metoda oczywiście uwzględnia uczenie się - jeśli doświadczenie W TEJ KONKRETNEJ NISZY pokazało, że W TEGO RODZAJU JEDNOSTKOWYM PRZYPADKU, trzeba postąpić inaczej i poświęcić więcej czasu, to się go poświęca.

Tak, doświadczenie jest jednym z filarów inżynierii.

W takim razie interesują mnie również doświadczenia osób, które najpierw pracowały przy pierwszej wersji produktu - bez dobrych praktyk, po czym pracowały na drugą wersją, tym razem uwzględniającą "dobre praktyki" i w tej drugiej wersji szybko były usuwane błędy, a rozwijanie produktu do pojawiających się nowych potrzeb było łatwiejsze.

No ok, i co mam Ci napisać - że fajniej jest rozwijać kod, w którym panuje porządek, a biznes się cieszy, gdy dodanie nowego ficzera zajmuje 2 dni zamiast dwóch tygodni, sama zaś aplikacja wymaga do działania jednego serwera a nie czterech?

Założenia poparte wiarą, a nie praktyką.

Doświadczenie to praktyka, a nie wiara. Nieraz już zdarzało mi się przepisywać w kilka dni kod pisany przez wiele osób w ciągu tygodni. W większości wypadków wystarczy użyć istniejących bibliotek/funkcji frameworka zamiast pisać wszystko po swojemu oraz testy jednostkowe w typowych przypadkach zamiast tracić czas na uruchamianie aplikacji i testowanie jej ręcznie.

0

Co to jest januszsoft?

Czy jak firma jest mala to jest już januszsoftem?
Czy jak firma mnie zwalnia za poglądy to jest już januszsoftem?
Czy jak firma oszukuje klientów to jest januszsoftem?
Czy jak płaci mi 20% tego co za mnie dostaje to jest januszsoftem?

Jakie są warunki konieczne do spełnienia żeby firmę nazwać januszsoftem?

Mam wrażenie, że w tym temacie ludzie z różnymi deinicjami januszsoftu zacięcie dyskutują ze sobą, tylko, że jedna osoba pisze o A a inna o B.

4

Ja pracowałem kiedyś w wielkim korpo gdzie rozwijałem bardzo duży, wewnętrzny system używany początkowo przez 2 teamy, było nas 3 developerów, pokrycie testami jakieś 20%, był tylko CI, ale biedny z powodu braku testów.

Projekt był wdrażany na produkcję raz w tygodniu albo raz na dwa tygodnie. Często zdarzało się, że ktoś popełnił błąd, który nie wyszedł w review (projekt miał z 2 miliony lini kodu i nie był trywialny) i po deploymencie wszystko leżało. Sytuacja trwała 5 lat.
Postanowiliśmy skupić się na poprawianiu jakości, a nie ma ficzerach. Zajęło nam to ponad rok, podniśliśmy pokrycie do 75%, do tego testy funkcjonalne, integracyjne, testy frontendu, testy na różnych platformach, TDD (jak coverage spadało to build nie przechodził i zmiana nie mogła być zmergowana), statyczna analiza kodu. Do tego wszystkie logi do elasticsearcha, dobry monitoring. Po tym czasi doszliśmy do automatycznego Continuous Delivery i liczba nieudanych wdrożeń spadła do zera, a jak ktoś napisał ficzer i wstrzelił się w okienko deploymentu (dni robocze 9-14) to miał swój kod na produkcji tego samego dnia. Projekt zyskał kilka tysięcy użytkowników z kilkunastu zespołów na całym świecie, wszyscy zadowoleni.

Nie wiem tylko jakby to wyglądało jakby projekt od początku korzystał z dobrych praktyk.

Ogólnie to polecam ten stan, żal mi tylko trochę tych 3 ludzi, których praca polegała na tym, żeby pilnować, żeby system się nie wyłożył. Ich praca przestała być potrzebna, na szczęści firma ogromna więc znaleźli sobie nowe zajęcie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1