2008-06-04 03:48
- Computer Sweden:
Så här går outsourcing till
Av
| 
Utveckling Förra veckan skrev jag om hur outsourcing kan gå fel, se cstjanster.idg.se/d/513. Nu ska jag förklara mer i detalj hur det kan gå till.

Ivar Jacobson är utvecklingschef på Ivar Jacobson International (www.ivarjacobson.com) och medverkar regelbundet som teknikkrönikör i CS.
För några veckor sedan satt jag i ett möte med en amerikansk delstatsregering. Delstaten har outsourcat utvecklingen av ett system till en mjukvaruleverantör som vi kan kalla Smarty, till en summa av flera hundra miljoner dollar.
Smarty ska utveckla systemet under tre år, installera det och sköta underhållet under 18 månader. Det är fast pris som gäller, men förändringar efter godkännande av specifikationen kostar extra. Smarty ska skapa specifikationen.
Leveransen ska ske i fyra faser: högnivådesign, lågnivådesign, kod och enhetstester. Alla svåra tester ska utföras av delstaten: integrations-, prestanda-, belastnings- och systemtester.
Det här är ett drömkontrakt för Smarty, det kan inte gå fel.
Delstaten har gått med på att godkänna specifikationerna som skapas av Smarty. Det kanske låter okej, men det är fruktansvärt fel. Det är inte mänskligt möjligt att godkänna specifikationer för ett stort system. Ingen känner till de detaljerade kraven.
Affärsfolk, användare och alla andra intressenter har några mer eller mindre klara idéer om vad de vill ha. Men deras detaljerade krav förändras alltid när de börjar använda systemet.
Att leverera specifikationer, ritningar och kod är enkelt, det handlar bara om pappersvara. Man behöver inte ens riskera förseningar, det är bara att skriva lite mindre. Ironiskt nog är fördelen för Smarty att pappersvara inte kan testas, så inget kan gå fel.
Allt kommer att gå bra fram till integrations- och acceptanstesterna, som delstaten ska sköta. Då öppnas helvetets portar.
För det första blir det svårt att få mjukvaran att fungera enligt specifikationerna och det är i den här fasen som projekt blir försenade. Än värre är att det är extremt svårt att kontrollera att mjukvaran fungerar som verksamheten och användarna vill. Smarty är skyddat: ”Vi gjorde det vi sa att vi skulle göra”.
Det går inte att testa kravet på att underhålla och förändra mjukvaran under den tid systemet ska fungera i framtiden. Det kan nämligen inte testas. Det kan bara uppnås genom goda byggprinciper – practices, om man så vill. Delstaten kommer inte att veta hur bra det kravet uppfylls innan den tagit över mjukvaran, och då har Smarty försvunnit för länge sedan.
Kunderna litar på leverantörerna som tror sig kunna lyckas. När projekten har satts igång är det nästan omöjligt att rädda dem. Det hade aldrig behövt hända om man varit smart.
Krönikan
CS dreglar över...
Mest läst just nu
Under snedstrecket
Nyheter
OBS! Denna artikel är mer än tio dygn gammal och är därför stängd för vidare debatt.