ownCloud is a company with a core and a philosophy that is centered around open source and strives for the role of community stewardship and commercial success. At the same time, we deliver a scalable, world-class, secure, silo-breaking platform for our customers, partners, and community users on a reliable basis, while simultaneously supporting, enabling, and growing a thriving community of users, developers, and other contributors. In our world, innovation has many shapes and multiple sources.
With these efforts in mind, sometimes it can be hard not to remain completely focused on delivering a roadmap that answers some of the most stringent requirements regarding scalability, security, usability, etc. or working with community users and developers as they also create and take advantage of the platform we build collaboratively. So, in 2015 we decided as a team to give ourselves the opportunity to do something else. We decided to take a little bit of time out of our usual release schedules (which includes 3-4 major release dates and 10-12 minor release dates on the server side annually, plus a substantial number of desktop and mobile clients during the year) to let individuals in the engineering organization work on a task of their own choice.
We chose to do this for one week, away from critical projects or company dates (a major release date, an end-of-quarter commitment, etc.) The choice of each project was left to all of the engineers, whether to work on individual projects, or to work as a team. The only conditions were that it had to be related to the platform, they had to list the project prior to the week start, and they would do a demo at the end of that week in front of the whole company. The project could be a resolution of an existing issue that was near and dear to the engineer, a new extension to the platform, a new effort in test automation, support for community-led issues or pull requests, or, truly, any item of their choice.
We had an excellent response from the overall team and by letting their creative juices take control of the process, even for one odd week, we ended up with a number of additions to the platform, including areas such as:
- Supporting existing community-apps, ie contacts or bookmarks
- Authentication improvements for external storage
- Improved accessibility in our documentation
- Caching improvements for external storage
- Automated testing improvements based on CERN’s smashbox project
- Front-end and back-end improvements
- Mobile app usability
After a week, we got the company together and had, not a meeting, but a celebration of this work. We have a very distributed organization in engineering at ownCloud, with 5 engineering locations and a number of people who work from home across 10 time zones. So in order to coordinate demos, engineers created videos to show their work or did a presentation of what they had accomplished.
With the success of this effort, we decided to repeat this experiment before the end of this year. Again, we all look forward to the results of this effort, not as part of Team Week specifically, but as part of the initiative of some developers in the team. We have added elements to ownCloud above and beyond our roadmap commitments, and maybe this new Team Week will show up not only in a better solution, and a deeper collaboration with the community, but also as fresh new extensions and elements of the platform. We also plan to repeat this effort during 2016 and have scheduled two weeks during the year for this purpose.
Finally, as a community-centric engineering organization, perhaps we should look into extending the concept beyond the boundaries of the ownCloud engineering team and into the community that makes ownCloud.org thrive. We will continue to learn from our experiments and try something more daring and more successful in the future.