Over Atos Origin
Contact
Diensten
Nieuws
Home
Feedback  |  Atos Origin.com  |  Syndicatie
Syndicatie
 
Links
Archief
Meer over de bloggers
Onderwerpen
Alle onderwerpen
Agile
Algemeen
Architectuur
Besturingssystemen
Bpm
Business intelligence
Business proces design
Cloud computing
Eai
Governance
Ibm
Integratie
It consultancy
Java
Microsoft
Nljug
Open source
Oracle
Process standaarden
Project management
Requirements engineering
Rich internet applications
Saas
Security
Sharepoint
Soa
Testing
Virtualisatie
Xml

Outsystems Business Case: Outsystems is hoog productief
Geplaatst op 10 July 2009, 13:34 door Hans ten Berge in java, microsoft, oracle, open source, integratie, project management, architectuur, it consultancy, agile, algemeen, governance, process standaarden, business intelligence

In een onderzoek dat is gedaan binnen Atos Origin naar de productiviteit van Outsystems is naar voren gekomen dat Outsystems 22 % goedkoper is voor agile software ontwikkeling. Bij gelijke kwaliteit, hogere werkdruk en een kortere doorlooptijd. An english version of this blog can be found here.


In dit onderzoek is de productiviteit van een outsystems project bij een klant van Atos Origin, afgezet tegen de productiviteit van een ander agile project binnen Atos Origin, tegen niet agile projecten in 4GL talen en projecten in een wereldwijde QSM database.
We meten grofweg drie eenheden; Ontwikkel inspanning + Software Omvang + Ontwikkel tijd.
In deze blog ga ik niet in op "wat" Outsystems is. Hiervoor verwijs ik naar een eerdere blog: Outsystems, agile Application Lifecycle Management.
Ik ga in op de productiviteitskenmerken van Outsystems en het project dat succesvol is opgeleverd.


Uitgangs punten:

Het betreft een eerste project met Outsystems. Dit wil zeggen: de mensen die aan dit project hebben deelgenomen hebben de online certificering doorlopen en een bootcamp van 2 weken gevolgd. Het zijn ervaren .NET software engineers maar hebben nog nooit een outsystems project in de praktijk uitgevoerd. Het project is een nieuwbouwtraject en was voor de projectleden, behalve de engagement manager, het eerste Outsystems project. De engagement manager is het de contactpersoon tussen de business en het team en vervult hiermee een cruciale rol in het vertalen van business requirements naar het ontwikkelteam.


Project karakteristieken:

  • Project omvang 444 functiepunten
  • Ontwikkel methodiek: Agile, de outsystems agile methodiek (Time Boxed door Sprints van 2 weken)
  • Nieuwbouw
  • Contract type: Fixed Price/ Fixed Date
  • Teamomvang: 1 Engagement Manager, 1 Delivery Manager, 3 Ontwikkelaars
  • Eerste outsystems project van de ontwikkelaars
  • Achtergrond ontwikkelaars Microsoft .NET

Vergelijkings criteria:

In het onderzoek is het nieuwbouw Outsystems project vergeleken met

  1. Een agile project uitgevoerd in Microsoft .NET in de Atos Origin Software Factory, het SDMC
  2. Een Unified Process Microsoft 4GL (alle 4GL talen onder andere Microsoft .NET, uitgevoerd in de Atos Origin Software Factory, het SDMC
  3. Een vergelijking met de internationale QSM business 2005 traditioneel uitgevoerd (Dit is de wereldwijde benchmark uit de QSM Database, Quantitative Software Management)

Voor de goede orde, er is geen vergelijking gedaan met 3e generatie talen (3GL als Java). In deze blog geef ik ook geen cijfers over de andere projecten en ervaringscijfers omdat deze concurrentie gevoelige informatie bevatten. Deze informatie wordt alleen op verzoek gedeeld met klanten concreet met Atos Origin een Outsystems ontwikkeltraject willen starten.


Productiviteit vergelijkingsplan:

Atos Origin houdt van de projecten zogenaamde projectmetrics bij in een eigen database. Daarbij wordt gebruik gemaakt van SLIM Datamanager, het QSM hulpmiddel om een eigen database met projectmetrics op te zetten.
Larry Putnam, oprichter van QSM, definieerde de QSM Software Proces Vergelijking (QSM staat voor Quantitative Software Management) en implementeerde die in de SLIM toolset (SLIM staat voor Software Lifecycle Management).

Om een vergelijking te maken is een vergelijkingsplan gemaakt voor projecten in Microsoft .NET die agile zijn ontwikkeld, 4-GL projecten die traditioneel zijn ontwikkeld (niet agile) en een vergelijking met alle projecten uit de QSM Database (niet Atos Origin projecten). Deze laatste bevat de vergelijkingsgegevens van alle gemeten projecten, een soort internationale benchmark.

De volgende projectmetrics voor zowel geplande als gerealiseerde projecten
worden vergeleken:

  • Doorlooptijd (Start en einde van het project)
  • Inspanning per activiteiten groep (in uren)
  • Omvang (in Functiepunten en/ of Lines of Code)
  • Kwaliteit gedurende het project (aantal geconstateerde fouten)
  • Global Sourcing Ratio (succes vol uitvoeren in bijvoorbeeld India)
  • Invloedsfactoren op de productiviteit (hier vallen een aantal parameters onder die de productiviteit kunnen beïnvloeden oa: clean order, complexiteit, ontwikkel proces, project omstandigheden)
  • Andere specifieke KPI's
  • Specifieke project voorwaarden

Conclusies:

Ontwikkelen met outsystems heeft geleid tot een zeer positief beeld met betrekking tot de productiviteit. Outsystems claimt zelf twee tot viermaal hogere productiviteit bij het ontwikkelen en tien maal hogere productiviteit in beheer.

In dit onderzoek heeft Atos Origin alleen naar het ontwikkelen (nieuwbouw) gekeken en is tot de conclusie gekomen dat een onervaren team (alleen opleiding gehad, maar wel ervaren .NET developers) met Outsystems  22,9 % productiever ontwikkeld dan een vergelijkbaar 4GL project en 29% productiever dan een vergelijkbaar Microsoft.net project uitgevoerd met Unified Process. Ten opzichte van de wereldwijde QSM benchmark is Outsystems 260% productiever.


Team Efficiency

De team Efficiency (QSM PI - De Productiviteits Index) ligt op 20,8. Hierbij geld hoe hoger hoe beter.
De team Efficiency heeft te maken met de processen en tooling. Het resultaat van deze twee parameters leidt tot een productiviteit en efficiency.
Concluderend is de team effeciency goed te noemen.

team Efficiency (QSM PI


Tijdsdruk

De TimePressure (QSM MBI - De Manpower Buildup Index) is 6,8. Het meet de tijdsdruk op de software ontwikkelingen op een 14 punts management schaal. Als deze boven de 8 komt heb je een probleem met de tijdsdruk. Dan werkt het niet meer lekker en is iedereen onder bovennormale stress. De druk lag dus hoog maar nog goed voor dit project. Algemeen kan worden gezegd dat de (goede) druk in Agile projecten vrij hoog ligt. Je kunt spreken van een gezonde tijdsdruk.

 TimePressure QSM MBI


De kwaliteit

De kwaliteit (Quality) van het programmeren wordt bepaald door het aantal defects uit de systeemtest te filteren. Hoe lager hoe beter natuurlijk. De kwaliteit is 78. Dat is niet onderscheidend van andere 4-GL projecten. Deze is gewoon goed. Het internationale gemiddelde ligt wat lager maar wordt natuurlijk vertekend doordat dit traject agile is ontwikkeld. Agile gaat uit van wijzigingen tijdens het traject.


Productiviteit en Doorlooptijd

Als we de productiviteit in functiepunten omrekenen naar een algemene factor bijvoorbeeld SLOC (Service Lines of Code) voor de bouw fase, kun je zien dat outsystems veel code levert in korte tijd. Op de onderste lijn (x-as) staan de Lines of code afgezet tegen de tijd (y-as). Dan zie je dat je meer code in minder tijd oplevert dan gemiddeld. Het valt zelfs buiten de normale schaal van aantal Lines of code. Kortom Outsystems levert veel code in korte tijd.

 kwaliteit (Quality QSM)

 

Productiviteit en Inspanning

Als we tot slot de kosten per eenheid van functiepunten omrekenen naar Service Lines of Code (SLOC) en deze afzetten tegen de inspanning (effort) in plaats van tijd krijgen we het volgende overzicht.
Hier uit kunnen we concluderen dat Outsystems hoog productief is.

Productiviteit en Doorlooptijd omgerekend naar SLOG
Productiviteits beïnvloedings factoren

Dit getal wordt bepaald door een set van 18 vragen waaraan een bepaalde rating wordt gegeven. Hoe hoger de factor hoe complexer en dit heeft een negatieve invloed op de productiviteit. Ik zal niet alle factoren benoemen maar je kunt denken aan de programmeertaal, aanwezigheid van een projectmanagement standaard als Prince2, clean order (in hoeverre is de specificatie helemaal klaar en geaccordeerd), technische complexiteit en andere projectomstandigheden. De productiviteits invloedsfactor voor dit project was 51 ten opzichte van het standaard gemiddelde van 41. Het betrof dus een complexere materie dan gemiddeld.


Samenvatting

Ontwikkelen met Outsystems is zeer interessant. Het is een hoog productieve ontwikkel omgeving. Als we er van uitgaan dat bovenstaande productiviteit voor een eerste project al wordt bereikt kan de productiviteit waarschijnlijk nog een stuk hoger bij het doen van meer projecten met dus meer ervaren mensen. Daarnaast is hier alleen de nieuwbouw meegerekend. Outsystems is een livecyle management omgeving en claimt dat het beheer 10 x sneller is. Dit hebben wij nog niet onderzocht.
Voor het ontwikkelen van nieuwe software projecten is het 22,9 % productiever dan een standaard agile .NET web ontwikkelproject. Omdat het tevens een livecycle management omgeving is en in productie (beheer) de software met one-click-deployment kan worden gemonitord, onderhouden en beheerd, zal Outsystems in het beheer waarschijnlijk nog productiever zijn.


De doorlooptijd van het project was >40% lager dan gemiddeld en de relatieve tijdsdruk was >25% hoger dan een gemiddeld project. De kwaliteit is vergelijkbaar met andere projecten die Atos Origin levert.


In tijden van krimpende budgetten en stijgende ambities is voor web en mobile applicaties, die agile kunnen worden uitgevoerd, Outsystems een zeer goed alternatief. Daar waar time to market cruciaal is kan Outsystems een goed alternatief zijn ten opzichte van de reguliere ontwikkeltrajecten.


Hans ten Berge
Principal consultant Atos Origin
Hans ten Berge BLOG:


Voor meer informatie:
Outsystems, agile Application Lifecycle Management 
http://en.wikipedia.org/wiki/OutSystems
http://www.outsystems.com/




Share this | 2406 keer bekeken | 8 reacties
Reacties Syndicatie en RSS

Mark Lammerse reageert, op July 10, 2009 om 23:16 (GMT +01:00):

Hans,

Een mooi overzicht en zeker niet overdreven. Ik hoop ook dat er nog een vervolg komt van deze meting als het Outsystemsproject een nieuwe versie ingaat. Ik denk dat dan de effectiviteit van het agile team nog hoger wordt. Immers development, projectmanagement en runtime zijn en blijven één geheel.



Hans ten Berge reageert, op July 11, 2009 om 17:24 (GMT +01:00):

@ Mark

Zeker als we volgende trajecten doen kunnen we vergelijkingen maken. Meten is weten dus we kunnen de effectiviteit en productiviteit verhogen.

Hans


Tijs Rademakers reageert, op July 12, 2009 om 10:18 (GMT +01:00):

Hans,

Interessant stuk, maar kun je toelichten hoe de vergelijking is gedaan met de andere projecten die je noemt.
Verder vind ik het jammer dat je in een artikel over Outsystems de volgende zin opneemt zonder verdere toelichting:

"Voor de goede orde, er is geen vergelijking gedaan met 3e generatie talen (3GL als Java). Omdat de productiviteit van deze omgevingen aanzienlijk lager ligt."

Ten eerste is dit statement nogal achterhaald, dat hebben verschillende RAD races wel bewezen.  Verder doet geen enkel project meer pure Java ontwikkeling, maar worden er altijd additionele (open source) frameworks zoals Spring, Hibernate, GWT etc gebruikt.

Verder valt het me op dat je .NET 4GL noemt en Java 3GL, waar is dit op gebaseerd? Welke taal binnen .NET bedoel je daarmee? Aangezien C# naar mijn weten gewoon als 3GL wordt getypeerd, ook al omdat het zeer veel weg heeft van Java.


Hans ten Berge reageert, op July 12, 2009 om 11:27 (GMT +01:00):

@Thijs

Dank voor je toelichting. Ik heb de cijfers van het SDMC en ja er is veel discussie over is .NET 3gl of 4gl. In het SDMC wordt geteld met cijfers die we in de vergelijking hebben opgenomen. En ik ga uit van de definities die ze handteren in het SDMC. Vandaar dat we .NET onder 4gl scharen.

Het is wellicht interessant ook een vergelijking te maken met java Spring, Hibernate en GWT. Ik heb dan alleen jullie input nodig denk ik. En als deze projecten al in de QSM database zitten kunnen we de vergelijking gaan maken.

Verder is Outsystems natuurlijk voor .NET én voor JAVA. Je kunt er namelijk beide platforms mee genereren. Het is dus interessant of je voor JAVA ook een productiviteits vergelijking kunt maken. Native of met Outsystems. 

Wat uit bovenstaande blijkt is dat voor die specifieke applicaties als web en mobile en Agile, outsystems productiever is dan .NET C# en ASPX. 

Ik stel voor dat we ook een business case opnemen met Java. 

Hans 




Hans ten Berge reageert, op July 12, 2009 om 13:59 (GMT +01:00):

@Thijs

Ik heb de bijzin ook aangepast over de productiviteit van Java, had geen toegevoegde waarde.

Hans


Michael van der Veeken reageert, op July 13, 2009 om 15:41 (GMT +01:00):

Goede post om te lezen!

Ik heb in 1,5 dag een workshop OutSystems mee mogen draaien, en ik was bijzonder onder de indruk. Naar mijn idee word het 'modeleren' van software steeeds meer het toekomstbeeld.

Om me heel even te mengen in het 3GL vs 4GL verhaal. Naar mijn idee kan je 'Microsoft .NET' niet zomaar plaatsen in 3GL of 4GL. Microsoft .NET is een software framework. Het duidt geen specifieke programmeertaal aan. Er zit wezenlijk verschil in VB.NET, C#, F# of IronPython. Naar mijn idee is C# bijvoorbeeld een 3GL taal, en F# een 4GL taal.

Daarnaast zet ik mijn vraagtekens bij de productiviteit vergelijking. Deze is gemeten in SLOC (Source Lines Of Code) tegen de doorlooptijd.

Het feit dat de SLOC van Outsystems hoger ligt dan die van een .NET project zegt in mijn ogen niets. Outsystems genereert C# of Java code. Gegenereerde code (zeker voor een project als dit) zal altijd meer volume hebben dan niet gegenereerde code. Daarnaast kan ik in .NET 3.5 met een LINQ query/lambda expressie doen, waar ik in .NET 2.0 vele regels voor nodig had!





Hans ten Berge reageert, op July 13, 2009 om 19:25 (GMT +01:00):

@Michael

Je maakt een fout in je redenatie. De productiviteit wordt door veel zaken bepaald maar wij handteren het aantal uur per functiepunt. Dat ligt 22% hoger.

Verder is het in QSM termen goed om ook de productiviteit naar een uniforme maatstaf te herleiden. Dan moet je naar Service Linces Of Codes (SLOC).

Maar de 22% en 29% en de 260 % zijn niet op basis van SLOG maar op basis van wat ik beschrijf.

Hans


Hans ten Berge reageert, op July 15, 2009 om 22:09 (GMT +01:00):

All

I got a lot of request from other countries if this blog was also available in english. Because this blog is targeted to dutch audience it is in Dutch.

But for the greater cause I translated the blog in english.

You can find the translation here:
http://adi.atosoriginblog.nl/2009/07/15/outsystems-business-case-outsystems-highly-productive/

Hans ten Berge


Reageer
 
 
Top artikelen
  • J-Spring 2009:Hop on board the Java Troubleshooting Platform
  • Softwaredocumentatie met Sandcastle
  • Agile Springboard
  • Blik op kwaliteit door middel van Six Sigma
  • Developers zijn kikkers
Recente reacties
  • IDC voorspelt dat SaaS mainstream wordt binnen paar ...
  • PrimeFaces is nauwelijks nog bekend terwijl het veel ...
  • Dank!
  • Het bijwerken is met behulp van if(contains()) remove() ...
  • Alleen keuren de bovengenoemde alternatieven duplicate entries af ...
  • Terms of use
  • Legal