Softwarová společnost - Software company
Tento článek má několik problémů. Prosím pomozte vylepši to nebo diskutovat o těchto problémech na internetu diskusní stránka. (Zjistěte, jak a kdy tyto zprávy ze šablony odebrat) (Zjistěte, jak a kdy odstranit tuto zprávu šablony)
|
A softwarová společnost je společnost, jejíž primární produkty jsou různé formy software, softwarová technologie, distribuce a vývoj softwarových produktů.[1] Tvoří softwarový průmysl.
Typy
Existuje řada různých typů softwarových společností:
- Velké a známé společnosti vyrábějící komerčně dostupné (COTS), jako je Microsoft, SAP AG, Oracle Corporation, HP, Adobe Systems a červená čepice[Citace je zapotřebí ]
- Menší společnosti které produkují vlastní software pro ostatní společnosti a podnikatele
- Společnosti vyrábějící specializovaný komerční běžný software, jako např Panoráma, Hyperion, a Siebel Systems
- Společnosti vyrábějící software jako službu SaaS, jako Google, Facebook, a LinkedIn
- Společnosti vyrábějící softwarové komponenty, jako Dundas
- Poskytovatel aplikačních služeb jako Salesforce
- Společnosti vyrábějící software na zakázku pro vertikální odvětví nebo konkrétní geografické regiony
- Nezávislí prodejci softwaru (ISV) které budují, vyvíjejí a prodávají spotřebitele nebo podnikový software kterou spotřebovává koneční uživatelé
Všechny z nich lze rozdělit do jedné nebo mnoha z následujících možností:[2]
- smluvní - když má softwarová společnost uzavřenou smlouvu na dodávku určitého konkrétního softwaru zvenčí (software outsourcing )
- vývoj produktu - když produkuje balený software připravený k použití; Komerční běžně
Běžné role v softwarové společnosti
Organizace a software Společnost je velmi specializovaný typ manažerských dovedností, kde zkušení lidé mohou přeměnit organizační problém na jedinečnou výhodu. Například mít dílčí týmy rozšířené v různých časová pásma může umožnit 24hodinový pracovní den společnosti, pokud jsou týmy, systémy a postupy dobře zavedené. Dobrým příkladem je testovací tým v časovém pásmu 8 hodin před nebo za vývojovým týmem, který provede opravu softwarové chyby nalezeni testery.
Profesionální softwarová společnost se obvykle skládá z nejméně tří specializovaných dílčích týmů:
- Obchodní analytici kteří definují obchodní potřeby trhu
- Vývojáři softwaru kdo vytváří technické specifikace a napsat software
- Softwarové testery kteří jsou zodpovědní za celý proces řízení jakosti
Ve větších softwarových společnostech se používá větší specializace a poměrně často existují také:
- Technické spisovatele kdo píše všechny dokumentace jako uživatelské příručky
- Uvolněte specialisty, kteří jsou zodpovědní za sestavení celého produktu a verze softwaru
- Návrháři uživatelských zkušeností, kteří vytvářejí designovou architekturu na základě obchodních požadavků, uživatelského výzkumu a odborných znalostí v použitelnost
- Grafičtí designéři kteří jsou obvykle odpovědní za koncepci grafické uživatelské prostředí.
- Inženýři údržby, kteří jsou za dvěma, třemi nebo více liniemi podpory
- Za zprovoznění řešení jsou odpovědní konzultanti, zejména pokud jsou nutné určité odborné znalosti. Mezi příklady patří: budova vícerozměrné kostky v software pro business intelligence, integrace s existujícími řešeními a implementace obchodních scénářů v systému Windows Řízení podnikových procesů software.
Struktura
Manažer softwarové společnosti se obvykle nazývá Head Of Development (HOD),[3] a hlásí se zúčastněné strany. Vede dílčí týmy přímo nebo prostřednictvím manažerů / vedoucích v závislosti na velikosti týmu organizace. Obvykle jsou nejvíce funkční týmy do 10 osob. Ve větších organizacích obecně existují dva modely hierarchie:
Všechny týmy jsou zcela nezávislé a pracují samostatně na různých projektech. Struktura je poměrně jednoduchá a všichni zaměstnanci se hlásí k jedné osobě, což situaci zcela objasňuje, není to však dobré řešení z hlediska výměny znalostí a optimálního využití lidských zdrojů.
V tomto modelu existují specializovaní manažeři / vedoucí pro každou hlavní specializaci, kteří „pronajímají“ své lidi konkrétním projektům vedeným produktovými / projektovými manažery, kteří formálně nebo neformálně kupují lidi a platí za jejich čas. To vede k tomu, že každý soukromý zaměstnanec má dva šéfy - produktového / projektového manažera a specializovaného manažera „zdrojů“. Na jedné straně optimalizuje využití lidských zdrojů, na druhé straně může vést ke konfliktům, u nichž má jeden manažer ve struktuře přednost.
Existuje také řada variant těchto struktur a řada organizace nechat tuto strukturu rozšířit a rozdělit v rámci různých oddělení a jednotek.
Metodiky
Softwarové společnosti mohou k vytvoření kódu použít řadu různých metodik. Mohou zahrnovat:
- the model vodopádu, včetně metodik řízení projektů jako PRINCE2[4] nebo PMBoK[5]
- agilní vývoj softwaru, jako Extrémní programování[6] a SKRUMÁŽ[7]
Existuje také několik metodik, které kombinují obojí, například spirálový model, Racionální jednotný proces (RUP)[8] nebo Lékaři bez hranic.[9]
Životní cyklus produktu
Bez ohledu na použitou metodiku životní cyklus produktu vždy sestává z nejméně tří fází:
- Design - včetně obchodní i technické specifikace
- C - samotný vývoj
- Testování - řízení kvality
Každá fáze ideálně zabírá 30% z celkového času, zbývajících 10% v rezervě.
The UML sekvenční diagram interakce mezi těmito skupinami může vypadat takto:
V každé fázi hraje klíčovou roli jiná skupina, avšak každý typ role musí být zapojen do celého procesu vývoje:
- Analytici po dokončení obchodní specifikace zvládnou měnící se obchodní situaci, aby minimalizovali možnost změny v průběhu času. Podporují také programátory i testery během celého procesu vývoje, aby zajistili, že konečný produkt splní obchodní potřeby uvedené na začátku. Tento proces v ideálním případě staví obchodní analytiky jako klíčové hráče při konečném dodání řešení zákazníkovi, protože mají nejlepší předpoklady k zajištění nejlepší obchodní vrstvy.
- Programátoři provádějí technickou specifikaci během fáze návrhu, proto se jim říká programátoři / designéři a během doby testování opravují chyby.
- Testeři dokončují testovací scénáře během fáze návrhu a hodnotí je během fáze kódování
Systémy a postupy
softwarové společnosti vlastní různé systémy a postupy implementované a interně fungující ve všech dílčích týmech. Tyto zahrnují:
Obchodní analytici
- Modelovací nástroje jako Systémy Sparx Enterprise Architect nebo IBM Rational Rose
Programátoři
- Systémy pro správu verzí a verze softwaru postupy
- Nástroje pro analýzu kódu a standardy kódování, ověřeno ručně nebo automaticky
- Mechanismy nasazení
Testeři
- Systémy pro sledování chyb
- Automatizace testů nástroje
- Nástroje pro výkon a zátěžové testy
Projektoví / produktoví manažeři
- Řízení podnikových projektů Systémy a postupy (EPM)
- Správa produktového portfolia (PPM)
- Řízení změn systémy a postupy
Jsou tu také Správa životního cyklu aplikace (ALM), které vkládají některé z těchto funkcí do jednoho balíčku a používají se napříč skupinami. Jsou dodávány od různých prodejců jako Borland, ECM nebo Compuware.
Audity účinnosti
Osvědčené softwarové společnosti mají obvykle nějaký způsob, jak měřit svou vlastní efektivitu. To se obvykle provádí definováním množiny klíčové indikátory výkonu (KPI), jako je
- Průměrný počet chyb provedených vývojářem za jednotku času nebo zdrojové řádky kódu
- Počet chyb nalezených testerem za testovací cyklus
- Průměrný počet zkušebních cyklů do Odrazení nulové chyby (ZBB)
- Průměrná doba zkušebního cyklu
- Odhadovaný čas úkolu ve srovnání se skutečným časem úkolu (přesnost plánování)
- Počet oprav k základní linii
Řada organizací se zaměřuje na dosažení optimální úrovně EU Model zralosti schopností (CMM), kde „optimální“ nemusí nutně znamenat nejvyšší. Existují také další systémy, jako např Carnegie-Mellon University je SEMA, nebo konkrétní ISO standardy. Malé softwarové společnosti někdy použijí méně formalizované přístupy. Každý organizace vypracuje svůj vlastní styl, který leží někde mezi totální technokracií (kde vše je definováno čísly) a celkovou anarchií (kde nejsou vůbec žádná čísla). Ať už se organizace vydá jakýmkoli způsobem, vezme v úvahu pyramidu popisující náklady a riziko zavedení změny do již zahájených vývojových procesů:
Viz také
Reference
- ^ „Co je to dnes softwarová společnost?“. RedMonk. 2014. Citováno 2. června 2017.
- ^ Softwarový proces: Principy, metodologie a technologie Autor: Jean Claude Derniame, Badara Ali Kaba, David Wastell str.166
- ^ Greenlit: Rozvíjení myšlenkových / realistických televizních nápadů od konceptu po hřiště str.12
- ^ Správa úspěšných projektů s PRINCE2
- ^ Uživatelská příručka k příručce PMBOK Guide
- ^ Plánování extrémního programování
- ^ Agilní řízení projektů pomocí Scrumu
- ^ Racionální jednotný proces byl snadný: průvodce odborníka k RUP
- ^ Microsoft Solutions Framework (MSF): Kapesní průvodce