
Jak funguje programování v týmu?
Ahoj,
mohl by se, prosím, někdo podělit o informace, jakým způsobem probíhá programování v týmu?
Já jsem zatím takový mírně pokročilý, dělám si jen tak pro radost na localhostu vše, co je potřeba, bez gitu a tak nějak si neumím představit mnohonásobně větší projekt, na kterým dělá více lidí.
Mám nějakou představu, že jsou dílčí úkoly a každý si v scrumu nebo kanbanu vybere něco a dělá na tom. Zřejmě to určitě bude v Gitu.
Blíží se to slutečnosti? Jak ale třeba probíhá to, že na jednom úkolu dělá více lidí.
Je to přibližně stejný styl pracovat na PHP jako třeba v Javě nebo C#/.NET?
Díky.
Ten jeden úkol se rozpadá na dílčí podúkoly tak, aby je zvládnul jeden člověk za určitý čas.
Na použitém jazyce vůbec nezáleží.
Aha. A stává se hodně, že se programuje metodou pokus-omyl?
Pokud se to stává hodně, tak takový "programátor" brzo skončí.
Jasně, to chápu. Já jen jestli se to stane třeba i pokročilému programátorovi, že prostě neví, a tak zkouší, dokud se mu to nepovede.
Zkušený programátor nejede (až na výjimky - viz Wikan) systémem pokus-omyl, ale:
1. provede detailní analýzu problému (pokud už to před ním - ve větším týmu - neudělal nějaký analytik) a navrhne (si) řešení
2. nalezené řešení si algoritmizuje a programuje už podle navrženého algoritmu
Právě u analýzy a algoritmizace se tříbí programátorské "zrno od plev"...
A to rozdělení může třeba fungovat tak, že jedni programátoři dělají komunikační modul(y), další zase programují vnitřní jádro a jiní grafické rozhraní s uživatelem. Samozřejmě musí mít předem definováno rozhraní mezi moduly, co, kde ajak si budou předávat, atd. atd.
Tou detailnou analýzou myslíš vývojový diagram?
Vývojový diagram už je v podstatě výsledek algoritmizace jednoho konkrétního problému.
Detailní analýzou myslím to, co tomu předchází - kde a jak program poběží (jedna aplikace či server-klient), jestli a jak bude potřebovat a využívat databázi, kde bude uložena konfigurace a co bude pevné či uživatelsky nastavitelné, kdo a jak bude program využívat, jak bude vypadat GUI (pokud ho bude program používat), atd. atd.
Samozřejmě se tu bavíme o složitém systému, ne a aplikacích typu kalkulačka.