As a Sherpa customer, you know we’re always looking for new ideas to enhance our email management and e-Discovery products. Behind the scenes though, we’re also looking for ways to update or refine our internal development processes. Improving our internal practices allows us to bring you product updates in a more timely manner and with a higher level of usability and quality. If your inner geek is curious about what goes on behind the scenes at Sherpa or how our development process works, then read on. We are about to give you the inside scoop on our development process!
Over the course of 2011, we’ve adopted the Agile software development methodology. For everyone on the technical side here at Sherpa – developers, product managers, quality assurance engineers and the support team – the move to Agile has been a great success.
Agile methodologies have evolved over a number of years and are now comprised of several different approaches. Common to all Agile techniques is an emphasis on close collaboration between the development team and the business experts. The Agile “Manifesto” reads:
“We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
• Individuals and interactions over processes and tools
• Working software over comprehensive documentation
• Customer collaboration over contract negotiation
• Responding to change over following a plan
That is, while there is value in the items on the right side of the brain, we value the items on the left side more.”
Other underlying principles of Agile development include:
• Customer satisfaction by rapid delivery of useful software
• Working software is delivered frequently (weeks rather than months)
• Working software is the principal measure of progress
• Sustainable development, able to maintain a constant pace
• Close, daily co-operation between business people and developers
• Projects are built around motivated individuals, who should be trusted
• Continuous attention to technical excellence and good design
• Self-organizing teams
Without going into too much detail, the specific Agile technique adopted at Sherpa is referred to as “Scrum.” As before, the Product Manager serves as the product champion and primary customer advocate for each of our products. Typically, development is focused on one product at a time and is feature-driven. Once the feature set for a given release has been decided on, the workload is divided into a number of “sprints,” each lasting 10 business days. A specific release may take as many as half a dozen sprints to complete. Specific goals are set for each sprint, and success is measured by how well new features are implemented. Developers work with a great deal of autonomy, with brief daily meetings to ensure that efforts are coordinated and the process is moving smoothly. The quality assurance process is integral to the development process, with testing and support engineers closely tailing the developers in order to catch any errors quickly and speed issue resolution.
So, there you have it. Although it’s a constantly evolving process, we’re pleased with our development process and are happy to share what we do and how we do it. Hopefully, this has served as another indication of the care and thought that goes into the development of our software, just as it goes into providing outstanding customer support.
Have a product request or recommendation? Let us know! Contact Sherpa support today with your feedback.