De opbouw van een productsoftwarebedrijf Drs. B.J. van der Veldt (
[email protected]) Directeur Productontwikkeling AFAS Erp Software B.V.
Inhoud • • • •
De AFAS Groep Status Quo in software-ontwikkeling Toekomst van software-ontwikkeling Gouden tips voor overleven in softwareontwikkelingsland • Samenvatting
1
De AFAS Groep • AFAS Software – Sinds 1996 – 200 medewerkers – 21 miljoen omzet – 6 miljoen winst – 11.000 klanten – 1 ERP product
AFAS Productstrategie
2
Wat is de basis van ons succes? • Duidelijke keuzes gemaakt in techniek: - 1 platform - 1 database - 1 geïntegreerd product • Klantgericht: - luisteren naar de klant - branchekennis - duidelijk zijn in wat wel en niet kan • Voltooid tegenwoordige tijd verkopen
Status Quo in software • We staan in de kinderschoenen – Software is vaak onbegrijpelijk – Kwaliteit is meestal belabberd – Oplevering is altijd te laat • Beter een plaatje dan een praatje
3
Voorbeelden
Voorbeelden
4
Redenen van de misère • 2 softwarewerelden • Veelal geen sprake van architectuur – Te weinig standaarden • Managen op planning/budget en uiterlijk maar niet op architectuur en inhoud
2 softwarewerelden De mensen voor de software
De mensen achter de software
½
0 of 1
Groei
Wereld verbeteren
Kaviaar
Pizza
Vrouwen
Internet
Scarface
The Texas Chainsaw Massacre
Phill Collins
ACDC
Cocaïne
Marihuana
Winst
Gamen
Volkswagen Golf
Volkswagen bestelbus
5
De mensen VOOR de software
De mensen ACHTER de software
6
Misvattingen software-ontwikkeling 1. Met meer programmeurs kun je meer software maken 2. Programmeurs kunnen samenwerken 3. (Project)managers van softwareontwikkelprojecten hoeven geen inhoudelijke/technische kennis te hebben 4. Software-ontwikkeling is complex 5. Best-of-breed heeft de toekomst
Toekomst in software-ontwikkeling • Van programmeren naar definiëren • Automatiseren van de automatisering
7
Het ontwikkelproces nu
Visievorming Visievorming
Functioneel Functioneel ontwerp ontwerp
Technisch Technisch ontwerp ontwerp
Documenteren Documenteren
Testen Testen
Programmeren Programmeren
Het ontwikkelproces straks
Visievorming Visievorming
Documenteren Documenteren
Functioneel Functioneel ontwerp ontwerp
Testen Testen
Technisch Technisch ontwerp ontwerp
Programmeren Programmeren
8
Automatiseren van automatisering • • • • •
Automatische ontwerpen Automatische codegeneratie Automatische tests Automatische documentatie Automatische uitrol
• Ondersteund door workflows
Gouden Algemene tips • • • • • •
Creëer 1 cultuur Combineer jong en oud Laat medewerkers de gevolgen van hun fouten “voelen” Los problemen niet op door mensen aan te nemen Centraliseer de productontwikkeling Maak intensief gebruik van standaarden. Los een probleem 1x op.
9
Meer Gouden Algemene tips • Registreer IEDERE fout en IEDERE wens • Geef “brede” functionaliteit voorrang (zelfs t.o.v. “betaalde” functionaliteit) • Bij een overname: – Integreer het overgenomen product met de bestaande producten – Neem het overgenomen product z.s.m. uit de handel – Integreer de overgenomen medewerkers met de bestaande medewerkers
Visievorming tips 1. 2. 3. 4.
Luister eerst naar jezelf….en dan naar de klant! Ontwerp een architectuur Strategie is vooral zeggen wat je NIET gaat doen. Er hoeft niet ieder jaar een nieuwe visie gevormd te worden.
Visievorming Visievorming
Documenteren Documenteren
Functioneel Functioneel ontwerp ontwerp
Testen Testen
Technisch Technisch ontwerp ontwerp
Programmeren Programmeren
10
Ontwerp tips 1. 2. 3. 4.
Ontwerp 300% en bouw 110%. Doorbreek de functionaliteit/complexiteitspiraal. Beter goed gepikt dan slecht gemaakt. Geen gebruikersgroepen maar interactieve sessies.
Visievorming Visievorming
Documenteren Documenteren
Functioneel Functioneel ontwerp ontwerp
Testen Testen
Technisch Technisch ontwerp ontwerp
Programmeren Programmeren
Programmeertips 1. Source is sores! 2. Leef je in de nerd in. Beheers technische details. 3. Een programmeur dient te beschikken over super gereedschap.
Visievorming Visievorming
Documenteren Documenteren
Functioneel Functioneel ontwerp ontwerp
Testen Testen
Technisch Technisch ontwerp ontwerp
Programmeren Programmeren
11
Test tips 1. 2. 3. 4.
Je test iets maar 1x. Daarna gaat het geautomatiseerd Testen is bovenal een kwestie van risico inschatten en samenwerken. Betrek een tester zo vroeg mogelijk in het proces Bezuinig niet op testers
Visievorming Visievorming
Functioneel Functioneel ontwerp ontwerp
Documenteren Documenteren
Testen Testen
Technisch Technisch ontwerp ontwerp
Programmeren Programmeren
Documentatie tips 1. Investeer fors in documentatie. Dit verdien je terug op support/consultancy 2. Met een goed ontwerp is documenteren geen grote klus meer. 3. Laat de documentatie ook testen
Visievorming Visievorming
Documenteren Documenteren
Functioneel Functioneel ontwerp ontwerp
Testen Testen
Technisch Technisch ontwerp ontwerp
Programmeren Programmeren
12
Samenvatting • • • •
De AFAS Groep Status Quo in software-ontwikkeling Toekomst van software-ontwikkeling Gouden tips voor overleven in softwareontwikkelingsland
Met AFAS meer rust en rendement!
13
Wat is Offshoring? • Letterlijk: buitengaats werken. De term is afkomstig van de olie- en gaswinning op zee. • Nieuwe betekenis: het verplaatsen van een deel van de bedrijfsprocessen naar lagelonenlanden (Oost-Europa of Zuidoost Azië) • Nieuwe wijn in oude zakken • Aanname bij offshoring is dat kostenbesparing gerealiseerd kan worden
Geschiedenislessen • Fabricage van auto’s • Verwerking betalingsverkeer • Geen loon is goedkoper dan een laag loon!
14
Wanneer Offshoren? • Zinvolle Offshoring: – Bij ontwikkeling van eenmalige software – Als tijdelijke oplossing • Zinloze Offshoring: – Repeterende software-ontwikkeling – Cultuur/landgebonden eenmalige software
De toekomst van Offshoring • Er wordt steeds meer hoogwaardiger werk uitbesteed • Technologie kan veel communicatieproblemen oplossen • Lagelonenlanden worden hogelonenlanden • Nederland moet lagekostenland worden
15