Since the start of 2010 we have developed both Exact Globe and Exact Synergy with the help of the Scrum methodology. Scrum is an iterative, incremental framework for agile software development.
Mmm, are you lost? Do you understand what this is about? Maybe you do, but let me explain how we and our customers benefit from Scrum. The power of Scrum is continuously focus on quick delivery of maximized business value.
Through early feedback we can react faster so quality, understandability and predictability of software development can improve. This will give us an agile development process in which we can deliver better products in a shorter time frame.
Scrum contains sets of practices and predefined roles. The main roles in Scrum are:
- the “Scrum Master”, the facilitator. A key part of the Scrum Master’s role is to protect the team and keep them focused on the tasks in hand.
- the “Product Owner”, who represents the voice of the customer. He/she ensures that the Scrum Team works on the “right things” from a business perspective.
- the “Team” has the responsibility to deliver the product. A team is made up of 5–9 people with cross-functional skills who do the actual work (design, develop, test, technical communication, etc.).
During each “sprint”, in Exact a two-week period, the team creates a shippable product enhancement (for example, working and tested software). The set of features that go into a sprint come from the product “backlog”, which is a prioritized set of high level requirements of work to be done. Which backlog items go into the sprint is determined during the sprint planning meeting. During this meeting, the Product Owner informs the team of the items in the product backlog that he or she wants completed. The team then determines how much of this they can commit to complete during the next sprint. During a sprint, no one is allowed to change the sprint backlog, which means that the requirements are frozen for that sprint. After a sprint is completed, the team demonstrates how to use the software.
An important advantage of the Scrum approach is that planning is a continuous repetitive activity. Scrum does not try to predict the future at the start of a project, but aims at continuously improving the estimates based on experience. Each sprint the productivity of the team is determined and this knowledge is used to make a more accurate estimate for the next sprint. Furthermore estimating tasks are being performed by the team itself, and the whole team is doing it. This has two major advantages. First, the estimate are based on the knowledge and vision of all team members and therefore more realistic. Second, everyone is committed to the estimate, because everyone must agree on an estimate during planning. Another important advantage of Scrum is it always serves the business. A Scrum team is always working for the actual most important business goals, and the business may if necessary adjust quickly. And because a Scrum project should yield operating software on a regular basis, and the product owner determines what functionality should be delivered, it is not possible to pass difficult problems to the back. Finally, the Scrum approach has some financial benefits. With Scrum key functionality can be taken in production as soon as possible. The return on investment is higher, and the financial impact of any delay is smaller.
Please share your experience and ideas via a comment to this article and use the ‘share and enjoy’ buttons!