The unified software development process
The unified software development process
Planning Extreme Programming
Agile Software Development with Scrum
Agile Software Development with Scrum
A Practical Guide to Feature-Driven Development
A Practical Guide to Feature-Driven Development
Agile Project Management With Scrum
Agile Project Management With Scrum
Extreme Programming Explained: Embrace Change (2nd Edition)
Extreme Programming Explained: Embrace Change (2nd Edition)
Future of Scrum: Parallel Pipelining of Sprints in Complex Projects
ADC '05 Proceedings of the Agile Development Conference
Breaking the Major Release Habit
Queue - System Evolution
Manage Software Testing
Implementing a Professional Services Organization Using Type C Scrum
HICSS '07 Proceedings of the 40th Annual Hawaii International Conference on System Sciences
Dev 2.0: model driven development in the cloud
Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering
Instant multi-tier web applications without tears
Proceedings of the 2nd India software engineering conference
The Design of Design: Essays from a Computer Scientist
The Design of Design: Essays from a Computer Scientist
Why software fails [software failure]
IEEE Spectrum
An approach to developing multi-tenancy SaaS using metaprogramming
Proceedings of the 18th Brazilian symposium on Multimedia and the web
Hi-index | 0.00 |
Hosted software-as-a-service products provide an opportunity to provide consumers with continuous deployment of new features, as opposed to scheduled version upgrades as is the norm for products installed on-premise. In order to exploit this opportunity, a SaaS provider needs to adopt an agile process that is capable of releasing new features rapidly. The SCRUM [5,6] process is ideally suited for this purpose: However, when SCRUM has been used for agile development of an installed product, parallel, overlapping 'sprints' are executed by separate teams, each dealing with short, medium, and longer-term enhancements to the product[3]; with the result that version upgrades are therefore easier to manage. In contrast, in the case of a SAAS product, version upgrades are no longer a constraint, so we can do better. In this paper we describe 'Continuous SCRUM', a variant of Type-C SCRUM, augmented with engineering best practices, in a manner ideally suited for managing SAAS products. In our approach, bug-fixes, minor enhancements, as well as major features are released continuously, on a weekly basis by a single team, in contrast to "Meta-SCRUM" [3]. We also present field data from our experience with using Continuous SCRUM for a hosted platform-as-a-service product for more than two years. Our experience reinforces other recent evidence [11] that rapid, smaller releases are often preferable to infrequent, larger ones. Continuous SCRUM provides a mechanism to achieve and sustain a rapid release cycle, for SAAS products as well as, we believe, for custom applications developed in-house.