Goed… lang verhaal, ik hoop dat je het interessant genoeg vind om te lezen. 
Inleiding / Aanleiding
Vraag een ontwikkelaar wat het moeilijkste is van software ontwikkeling en hij zal waarschijnlijk zeggen dat het in goede banen leiden van een project het grootste probleem is. Hoe zorg je er voor dat de van te voren vastgestelde functionaliteit daadwerkelijk datgene is dat de gebruiker verwacht? Hoe zorg je er voor dat die functionaliteit ook uiteindelijk terecht komt in het eindproduct?
Op de markt zijn programma’s genoeg voor het realiseren van de techniek, zoals IDE’s, DBMS etc. Maar hoeveel software is die je ondersteunt in het beheren van het project? Een aantal site springen daar handig op in en starten open source management platformen zoals SourceForge. Ik speel al een tijdje met de gedachte om een tool te schrijven die ondersteuning biedt voor het beheren van een ontwikkel project. Mijn primaire doel is de open source markt en eventueel later ook meer commerciële projecten.
Projectmanagement
Veel van de problemen in de open source wereld komen ook voor in de commerciële software markt. Ik loop zelf als commercieel ontwikkelaar tegen de volgende problemen aan:
Onduidelijke eisen en wensen. Hoe gaat het eindproduct eruit zien? Is het voldoende dichtgetimmerd? Sluit het aan op de wensen van de klant?
Aannames, aannames zijn fataal en leveren soms erg vreemde eindproducten op. Bijvoorbeeld: laatst moest ik een import service maken voor orders. In de omschrijving stond duidelijk vermeld dat de klant een complete order inclusief regels zou aanleveren en deze totaal ingelezen moest worden. Mijn aanname was dat ik hiervoor wel een andere bestaande tabel kon gebruiken. Het eindresultaat was dat maar de helft van de velden ingelezen werden. Vraag me niet hoe ik ooit die aanname heb kunnen doen, maar laat het duidelijk zijn dat de klant niet kreeg wat hij verwachte.
Slechte planning, de klant verwachte het al een week eerder!?
Slechte communicatie, Projectleiders communiceren slecht met de projectleden met als gevolg dat de verkeerde communicatie op de goede plekken is, of andersom.
Vanuit mijn ervaring in open source projecten loop ik tegen de onderstaande problemen aan:
Weinig tot geen visie en geen concrete plannen. Met als gevolg dat iedereen maar wat doet zonder daar bij na te denken.
Vrijwilligers, mensen die vrijwillig werken zijn minder betrouwbaar dan mensen die er voor betaald krijgen. Je zult dus ook regelmatig contact op moeten nemen met je projectleden om de voortgang te bespreken.
Communicatie, communicatie via het Internet is lastig en blijft lastig.
Planning, wat is dat? Het when it’s done principe komt vaak voor in de open source wereld met als gevolg dat het nooit komt.
Geen leiding, of projectleden zijn bang om strakke leiding te hanteren.
Project (evt)
Het doel van het project is vooral het aanpakken van de organisatorische problemen bij midden en kleine ontwikkelprojecten. Hoe beheer je een project en zorg je er voor dat de projectleden met plezier aan een product werken?
Initiële ideeën/functionaliteiten
Project is aan zaak die men denkt uit te voeren of te onderzoeken.
Projectteam is een verzameling mensen die aan een project werkt.
Taak is het werk dat iemand is opgelegd.
Analyseren is het onderzoeken van situatie en het vaststellen van probleem.
Ontwerpen is het bedenken van een oplossing en het uitwerken daarvan.
Inplannen. Toewijzen van taak en uitstippelen van plan.
Uitvoeren. Het bouwen of verwerken van bedachte oplossing.
Reviewen, controleren van de uitgevoerde taak,
Verwerken, eventueel toevoegen van wijziging aan product
Testen, controleren of eindproduct voldoet aan vastgestelde wensen en eisen.
Onderhoud, bugs, features herhaling van voorgaande stappen.
Precieze details van de functionaliteit nog nader te omschrijven.
Project, verschillende teams, taken, analyseren, ontwerpen, ontwerp goedkeuren, inplannen, uitvoeren, voltooien, reviewen, goedkeuren, verwerken, testen, onderhoud.
Integratie met svn?
Integratie met een PHP IDE?
Tools en technieken
- Microsoft visual C# en Microsoft SQL Server. Waarom? Mooie balans tussen ontwikkeltijd en functionaliteit.
- UML
Toekomst
Is er vraag naar zoiets?
Hoe zou het er uit moeten zien?
Welke project methoden kunnen hierbij helpen?
Zijn er mensen die wat antwoorden, feedback, commentaar etc hebben?
Inleiding / Aanleiding
Vraag een ontwikkelaar wat het moeilijkste is van software ontwikkeling en hij zal waarschijnlijk zeggen dat het in goede banen leiden van een project het grootste probleem is. Hoe zorg je er voor dat de van te voren vastgestelde functionaliteit daadwerkelijk datgene is dat de gebruiker verwacht? Hoe zorg je er voor dat die functionaliteit ook uiteindelijk terecht komt in het eindproduct?
Op de markt zijn programma’s genoeg voor het realiseren van de techniek, zoals IDE’s, DBMS etc. Maar hoeveel software is die je ondersteunt in het beheren van het project? Een aantal site springen daar handig op in en starten open source management platformen zoals SourceForge. Ik speel al een tijdje met de gedachte om een tool te schrijven die ondersteuning biedt voor het beheren van een ontwikkel project. Mijn primaire doel is de open source markt en eventueel later ook meer commerciële projecten.
Projectmanagement
Veel van de problemen in de open source wereld komen ook voor in de commerciële software markt. Ik loop zelf als commercieel ontwikkelaar tegen de volgende problemen aan:
Onduidelijke eisen en wensen. Hoe gaat het eindproduct eruit zien? Is het voldoende dichtgetimmerd? Sluit het aan op de wensen van de klant?
Aannames, aannames zijn fataal en leveren soms erg vreemde eindproducten op. Bijvoorbeeld: laatst moest ik een import service maken voor orders. In de omschrijving stond duidelijk vermeld dat de klant een complete order inclusief regels zou aanleveren en deze totaal ingelezen moest worden. Mijn aanname was dat ik hiervoor wel een andere bestaande tabel kon gebruiken. Het eindresultaat was dat maar de helft van de velden ingelezen werden. Vraag me niet hoe ik ooit die aanname heb kunnen doen, maar laat het duidelijk zijn dat de klant niet kreeg wat hij verwachte.
Slechte planning, de klant verwachte het al een week eerder!?
Slechte communicatie, Projectleiders communiceren slecht met de projectleden met als gevolg dat de verkeerde communicatie op de goede plekken is, of andersom.
Vanuit mijn ervaring in open source projecten loop ik tegen de onderstaande problemen aan:
Weinig tot geen visie en geen concrete plannen. Met als gevolg dat iedereen maar wat doet zonder daar bij na te denken.
Vrijwilligers, mensen die vrijwillig werken zijn minder betrouwbaar dan mensen die er voor betaald krijgen. Je zult dus ook regelmatig contact op moeten nemen met je projectleden om de voortgang te bespreken.
Communicatie, communicatie via het Internet is lastig en blijft lastig.
Planning, wat is dat? Het when it’s done principe komt vaak voor in de open source wereld met als gevolg dat het nooit komt.
Geen leiding, of projectleden zijn bang om strakke leiding te hanteren.
Project (evt)
Het doel van het project is vooral het aanpakken van de organisatorische problemen bij midden en kleine ontwikkelprojecten. Hoe beheer je een project en zorg je er voor dat de projectleden met plezier aan een product werken?
Initiële ideeën/functionaliteiten
Project is aan zaak die men denkt uit te voeren of te onderzoeken.
Projectteam is een verzameling mensen die aan een project werkt.
Taak is het werk dat iemand is opgelegd.
Analyseren is het onderzoeken van situatie en het vaststellen van probleem.
Ontwerpen is het bedenken van een oplossing en het uitwerken daarvan.
Inplannen. Toewijzen van taak en uitstippelen van plan.
Uitvoeren. Het bouwen of verwerken van bedachte oplossing.
Reviewen, controleren van de uitgevoerde taak,
Verwerken, eventueel toevoegen van wijziging aan product
Testen, controleren of eindproduct voldoet aan vastgestelde wensen en eisen.
Onderhoud, bugs, features herhaling van voorgaande stappen.
Precieze details van de functionaliteit nog nader te omschrijven.
Project, verschillende teams, taken, analyseren, ontwerpen, ontwerp goedkeuren, inplannen, uitvoeren, voltooien, reviewen, goedkeuren, verwerken, testen, onderhoud.
Integratie met svn?
Integratie met een PHP IDE?
Tools en technieken
- Microsoft visual C# en Microsoft SQL Server. Waarom? Mooie balans tussen ontwikkeltijd en functionaliteit.
- UML
Toekomst
Is er vraag naar zoiets?
Hoe zou het er uit moeten zien?
Welke project methoden kunnen hierbij helpen?
Zijn er mensen die wat antwoorden, feedback, commentaar etc hebben?
http://hawvie.deviantart.com/