Projectafsluiting
Projectdatabases
Het probleem
Meestal werk ik met projectdatabases. Gedurende een project onstaan daar steeds meer tabellen en sprocs (en incidenteel views & functies). Een deel van deze objecten wordt geïmporteerd uit database dwh_org.
Zo'n project produceert vaak tabellen die de moeite waard zijn om daarna in dwh_org te bewaren. Probleem: Steeds onduidelijk waar de meest recentelijke versie van zo'n tabel staat: In dwh_org of in de projectdatabase? (concurrency-probleem)
Als het project is afgerond:
- Hoe voorkom ik dat concurrency-probleem tot in de lengte van dagen actief blijft?
- Kan ik zo'n projectdatabase verwijderen? Dat scheelt afleiding en verwarring
- Hoe zorg ik dat unit tests beschikbaar blijven?
Oplossing
- Maak vantevoren een backup
- Verplaats alle relevante tabellen naar dwh_org. Verwijder de rest
- Behoud de sprocs, views & functies in de projectdatabase
- Zorg dat de unit tests werken op deze nu lege projectdatabase. Eventueel de testcode uitbreiden met importeren van tabellen uit dwh_org.
- Desgewenst kan de projectdatabase nu offline gehaald worden.
Checklist
Checklist voor afronding van een project, in ontwikkeling sinds begin 2021. De uitdaging: Proberen om me voor te stellen dat ik over 3 jaar iets nodig heb dat tijdens dit project is gedaan. Hoe gaat me dat lukken?
Uitgangspunt: Mappen & projecten zijn de basis van projecten.
ReadMe.txt
Maak bestand ReadMe.txt aan in de root van het project. Als een txt-bestand te beperkt is, gebruik dan een tekstverwerkersbestand (odt-formaat).
Wat ik zoal in zo'n ReadMe.txt bestand onderbreng:
- Naam van het project + uitleg, want na 6 maanden zijn heel veel projectnamen echt niet meer te begrijpen
- Context: Waar pastte dit project in het grote geheel? Belangrijk, want ook dat weet ik over 6 maanden niet meer
- Inventaris: Zie aparte hoofdstuk Inventaris elders in dit artikel
- Leerpunten
- Unit tests
Inventaris
Inventaris: Waar staat alles. Dit lijstje is meestal onderdeel van het ReadMe.txt-bestand. Denk aan:
- Mappen & bestanden. Dit is vaak alleen de naam van de map onder Projecten en/of Projecten - Non-active (de namen kunnen verschillen in deze twee situaties)
- Trello-boarden: Hiervan vermeld ik vaak beide URL's: De 'gewone' en de URL die je ziet als je via het menu aan de rechterkant de 'permanente' URL opvraagt
bestanden; Trello; wiki; webservers; site-instanties, meer?
- Leerpunten & volgende keer: Misschien wel het belangrijkste
- Verplaats de mappen & bestanden naar zoiets als Projecten - niet-actueel
, want sinds 2020 mag je nog maar een paar gratis boards hebben
- Verplaats sites van webservers naar een map in de root van het project. Schoon webserver op
- Archiveer database-backups in een projectmap. Verwijder de databases van de database-servers
Sluit Trello-board
Sluit het bijbehorende Trello-board (of -boarden), maar gooi ze niet weg.
Redenen om deze te sluiten:
- In de gratis versie van Trello mag je sinds 2000 nog maar een beperkt aantal boards per team hebben
- Overzichtelijker
- De zoekfunctie van Trello werkt ook in gesloten boards.