How we built Crowdsites using Model-Driven Engineering
- 30 minute talk
Crowdsites (www.crowdsites.com) is an online website builder. A website builder allows website owners to manage their websites through a browser. Crowdsites provides a crowd of professionals available to website owners. These include graphic designers, web designers, content writers, web masters, and more. So when it comes time for website owners to work on their websites and they do not posses the time or skills required, they can hire crowdies to do the work for them. If they allow them, the crowdies will login to the website and update it directly.
Crowdsites is a software-as-a-service and was built using 100% open-source technologies. The software methodology used is a result of PhD research conducted at the University of Queensland. Models are used as first class artefacts in the development process to gain several benefits. The goals are development efficiency, software quality, and reusability whilst retaining architectural control over the application to ensure delivering on time. We are a small development team that is competing against large multinational organisation with far greater resources.
Crowdsites is currently over 150k lines of code where the vast majority is generated. At the same time we generate tests using model-based testing (MBT) and get excellent code coverage in addition to using continuous integration. The code based is released weekly fitting into short sprints based on Agile methodologies. The infrastructure is hosted in the Amazon cloud and is scalable on demand. The final icing on the cake for us has been the generation of the majority of our user documentation. Our user help is now consistent with the released software with no extra effort.
**In the hour it is my intention to build and deploy a feature demonstrating all of the above.