Software development management ( angl. Software project management ) je speciální typ projektového managementu , v rámci kterého probíhá plánování, sledování a kontrola projektů vývoje softwaru . Klíčem k řízení projektu vývoje softwaru je výběr správné metody vývoje.
Vzhledem k rychlému nárůstu výkonu počítačů v 60. a 70. letech 20. století se problémy, které bylo možné s jejich pomocí vyřešit, staly obtížnějšími. Proto byly vyžadovány větší projekty , které zahrnovaly koordinaci práce více lidí a psaní mnohem více kódu . Metody používané k řízení takových projektů však byly navrženy tak, aby odpovídaly výzvám mnohem menších projektů. Nedostatek potřebné metodiky vedl k obrovskému počtu neúspěšných projektů. Pokusy o změnu situace k lepšímu vedly k vytvoření nového modelu vývojového procesu , zaměřeného více na shodu finálního softwarového produktu s původními požadavky zákazníka .
Studie neúspěšných projektů ukázaly, že nejčastější příčiny neúspěchu byly: [1]
Od té doby bylo zavedeno několik vylepšení již existujících ( iterativní přístup ) a zcela nových ( testem řízený vývoj ) metod řízení vývoje softwaru. Dnes však existuje tendence přejít od vodopádového modelu k cyklickému modelu , který napodobuje fáze vývoje softwaru .
GOST 19 "Jednotný systém dokumentace softwaru" [2] a GOST 34 "Normy pro vývoj automatizovaných systémů" [3] jsou zaměřeny na konzistentní přístup k vývoji softwaru. Vývoj v souladu s těmito standardy se provádí v etapách, z nichž každá zahrnuje provádění přesně definovaných prací. Přísné dodržování těchto GOST vede ke kaskádovému modelu. Na základě těchto standardů jsou vyvíjeny softwarové systémy pro vládní zakázky v Rusku.
Tento model byl vyvinut v polovině 80. let Institutem softwarového inženýrství na Carnegie Mellon University za účelem vytvoření referenčního modelu pro organizaci vývoje softwaru. Je založena na kontrole dodržování určitých požadavků organizací a stanovení úrovně vyspělosti procesu vývoje softwaru.
Unified Process byl vyvinut společností Rational Software jako doplněk k UML . Model RUP popisuje abstraktní obecný proces, na jehož základě by měla organizace nebo projektový tým vytvořit konkrétní specializovaný proces zaměřený na její potřeby.
Microsoft Solutions Framework je postaven na iterativním vývoji. Zvláštností Lékařů bez hranic je velká pozornost věnovaná vytvoření efektivního a nebyrokratického týmu.
Proces osobního softwaru definuje požadavky na kompetence vývojáře, aby mohli získat dovednosti nezbytné pro proces týmového softwaru. Týmový softwarový proces v kombinaci s osobním softwarovým procesem se opírá o samostatně řízené týmy o 3-20 lidech. Týmy musí:
Základní myšlenkou všech agilních modelů je, že proces vývoje softwaru by měl být adaptivní. Jejich cílem je zaměřit se spíše na lidi a jejich interakce než na procesy a nástroje. Všechny flexibilní modely jsou založeny na iteraci, inkrementalitě, týmové samořízení a adaptabilitě procesů.
Proces řízení projektu vývoje softwaru zahrnuje další, specifičtější procesy zaměřené na přijímání určitých obchodních rozhodnutí. Mnohé z nich lze aplikovat i na jiné typy projektů. Například:
Obecně platí, že řízení vývoje softwaru, které má mnoho výpůjček z projektového řízení, lze aplikovat na metody tradičního řízení . Vzhledem k jedinečnosti tohoto odvětví však zkušenosti profesionálů nashromážděné ve výrobě materiálů a uvedené například ve standardu PMI PMBOK přispívají k úspěchu při řízení softwarového projektu jen málo. Existuje mnoho názorů na to, jaké znalosti a dovednosti by měl mít projektový manažer vývoje softwaru. Například slavný americký počítačový vědec John Reynolds napsal:
Někteří tvrdí, že je možné řídit tvorbu softwaru, aniž byste měli nějaké programátorské dovednosti . Zdá se, že tato důvěra pramení z mylné představy, že vývoj softwaru je formou výroby. Ale produkce je vytváření opakujících se identických objektů, zatímco softwarová výroba je vytváření jedinečných objektů, to znamená, že je to jedna z forem kreativity . Produkce softwaru je tedy podobná publikování — manažer vývoje softwaru, který neumí kódovat, je jako redaktor novin, který neumí psát.
Původní text (anglicky)[ zobrazitskrýt] "Někteří tvrdí, že lze řídit výrobu softwaru bez schopnosti programovat. Zdá se, že tato víra vychází z mylného názoru, že výroba softwaru je formou výroby. Výroba je však opakovaná konstrukce identických objektů, zatímco výroba softwaru je konstrukce unikátní předměty, tj. celý proces je formou designu.Nefunkční odkaz