170 likes | 276 Views
Start being a control freak…. …and deliver the best customer experience through version-controlled Alpha development. Robin Bennett MA FIAP MIoD robin.bennett@start-software.com. Start Software in numbers. 15 years in business ( 30 years coding for me)
E N D
Start being a control freak… …and deliver the best customer experiencethrough version-controlledAlpha development Robin Bennett MA FIAP MIoD robin.bennett@start-software.com
Start Software in numbers • 15 years in business (30years coding for me) • 10 staff (Dan is here this week) + 3 contractors • 3 offices in UK & Australia • Quality accredited (x2), 100% award winning • Microsoft until 2011 then the leap of faith…
Version control – why bother? • Show of hands! I saw the light at the UKAUG • Multiple developers • Code security • Traceability – why did we do this and when • No reliance on individuals or their laptops • + Self-updating systems!
Demos – what you’ll see • Customer first – how it looks to them • Developer–how our coders work • Gatekeeper –what I do • What the self-update is doing – some code!!
Customer experience • Self-updateable systems • Visibility of available updates • Version number always shown on screen • Today’s demos will use • So we will show you how we use version control in our key software system
End-to-end business management system • 40+ clients (not multi-tenant) in 18 months • Alpha re-write of existing MS Access/SQL • Previously had 30+ “Tracker” installations and 30+ different versions… story for the next conference…
The bits we need • Cloud Subversion (SVN)repository server • TortoiseSVN on the developer laptops • SQL server on Amazon AWS holds the table of system updates – keyed by SVN “version” • Monthly cycle with planning meetings, reviews, video blog
Developer experience • “Update” from repository • Make change, test locally, publish locally • “Commit” to repository • “hook script” auto-runs to update version text file • Email changed components to gatekeeper
(demo developer) • Update • Make change to home pagelayout • Tab pane • Static text • Publish locally • Commit • Email the changed component + version
Gatekeeper experience • Receive changed component(s) + version text file • Check and zip up the package • Upload to our Amazon control server • Make public+ minor/major, sticky
The update itself • Existing a5webroot is backed up to .zip • Fetches the update .zip as a blob then extracts • Looks for a SQL update script in the .zip • If exists, processes this via OSQL • Refreshes the system “reports” • Updates central control tables • Clears the AEX cache • Prompts the user to log out & in • Goes for a lie down and nice cup of tea…
Recap • Customers self-update • Developers work safely • Gatekeeper has control • Thanks for listening – do grab me & Dan any time for more information
Cheers! ..and invite us back to Boston soon