Uprzedzając pytania i pouczenia - nie chodzi mi o funkcjonalność tworzonego systemu i rzeźbienie ficzerów na wyrost, lecz o sposób, w jaki (nie)powstaje jego design, architektura etc ;)
Pytam dlatego, że mam (nie pierwszy raz zresztą) déjà vu, gdy patrzę na rzeczy, które klepię lub inni klepią i już sam nie wiem, czy to objawy syndromu niemieckiego architekta lub innego strasznego choróbska, czy co.
Piszę o déjà vu dlatego, że przeważnie wygląda to w miarę podobnie i ma podobne etapy - z moim udziałem lub bez, lub tylko częściowym i w niektórych etapach, nieważne:
- zaczyna się projekt
- jak się go zaczyna robić, to realizacja przebiega w ogólnie akceptowanym przez zespół planie minimum, to może oznacza na przykład "encja na twarz i pchasz" lub klasyczna trójwarstwowa lazania z frameworkiem X z przodu i bazą Y z tyłu w backendzie, ale tak naprawdę w grę wchodzą dowolne drogi na skróty, które krótkoterminowo nie spowodują większych reperkusji
- z początku z wybranym planem minimum da się jakoś żyć, w projekcie nie ma dużo skomplikowanych zależności więc jeszcze się to nie mści - nie ma bodźca by odejść od planu minimum, bo YAGNI, nie twórzmy architektury na wyrost, jest dobrze jak jest, jakoś się żyje, nie wiadomo co będzie potrzebne więc po co wymyślać, jesteśmy agile a nie waterfall
- kula błota powoli rośnie, na tyle wolno że działa efekt gotowanej żaby
- przy odrobinie szczęścia projekt umiera lub przechodzi w utrzymanie zanim kula błota przekroczy masę krytyczną
- jak szczęścia zabraknie, to drogi na skróty zaczynają w końcu kopać w d**ę przy wprowadzaniu kolejnych zmian, strach to ruszać, no i tak się żyje z legacy czasu rzeczywistego
Co więcej, widzę to nawet wtedy, gdy nie gonią terminy i nie trzeba dowozić na wczoraj. Nie ukrywam, że sam też długo kierowałem się takim myśleniem, radośnie produkowałem legacy na bieżąco i dawałem złapać na gotowaną żabę :D Niemniej jednak coraz bardziej mi ten stan rzeczy - i jego (postrzegana przeze mnie) wszechobecność - przeszkadza. No, ale jako cienki bolek z mlekiem pod nosem to sobie mogę.. ;)
Jak wy do tego podchodzicie? Trzymacie się do końca tego planu minimum, umiecie powiedzieć "sprawdzam" i popchnąć projekt w kierunku, który uważacie za słuszny, zanim dotychczasowy będzie zbyt upierdliwy albo nawet później? A może od samego początku nie akceptujecie pewnych dróg na skróty - jeśli tak, to gdzie wyznaczacie granicę?
@Charles_Ray @Afish @Shalom @hauleth @kq @krwq @jarekr000000 jeśli macie czas i chęci, podzielcie się swoją perspektywą ;)