Searchlight uses an agile approach to delivery, based on the well-tested Scrum Methodology, consisting of a scrum backlog populated with user stories, sprint planning sessions, and sprints. We have touched on these items below.
A sprint is the basic unit of development in Scrum. The sprint is a fixed time effort, i.e. it is restricted to a specific duration. The duration is set in advance for each sprint. We will have sprints that extend 2 weeks in length.
Sprints, and the agile methodology, provide the following benefits:
- Consistent user feedback during the development process to ensure a high quality product is delivered.
- Achievable and maintainable milestones throughout the life of the project released as a minimally viable product at the end of each cycle of code (MVP).
- Clear acceptance criteria for each user story eliminating the ambiguity that is often present in traditional approaches.
User stories are short, simple descriptions of features told from the perspective of the person who desires the new capability, usually a user or customer of the system. They typically follow a simple template:
As a <type of user>, I want to <some goal> so that <some reason>.
User stories are kept as part of a Scrum Backlog and prioritized each planning session. Typically they should be atomic and independent of other stories in the system. i.e. You should be able to release any group of stories without dependencies.
In Scrum, the product backlog is the single most important artifact. The product backlog is, in essence, an incredibly detailed analysis document, which outlines every requirement for a system, project, or product. In simpler terms, it could be described as a comprehensive to-do list, expressed in priority order based on the business value each piece of work will generate.
Prior to each sprint, on a fixed day we will attend a Sprint Planning session lasting about one hour. Outside stakeholders may attend at your discretion if they are potential active users or involved in the design and development of the application.
During the sprint planning meeting we would discuss the highest priority items in the backlog. Those items are evaluated, estimated, and a goal is set for the Sprint.
At this stage, each user story is assigned a points value which represents its complexity.
Frequent status will be communicated consisting of the following key points:
- What did we accomplish?
- What do we plan to accomplish next?
- Are there any blockers in our process?
FINAL WORD ABOUT SCRUM
A key principle of Scrum is its recognition that during a project you may change your mind about what your users want and need (often called requirements churn), and those unpredicted challenges can't be easily addressed in a traditional predictive or planned manner. As such, Scrum adopts an empirical approach—accepting that the problem cannot be fully understood or defined, focusing instead on maximizing our ability to deliver quickly and respond to emerging requirements.