170 likes | 283 Vues
Discover how Start Software harnesses version control to enhance customer experience and drive development efficiency. In this presentation, Robin Bennett shares insights from over 15 years in the business, emphasizing the importance of code security, traceability, and self-updating systems. Learn how version control can prevent reliance on individuals and improve team collaboration with demos showcasing customer-first perspectives, developer processes, and the essential roles played by gatekeepers. Join us to explore the future of business management systems and customer satisfaction!
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