We have adopted Agile methodology and we rely on Scrum in the product delivery.
In short: The first step is to have all requirements clearly defined in the form of User Stories and Epics (groups of related user stories), and stored in the Product Backlog. The work is then organised in fortnightly periods called Sprints. Before a new sprint starts, the Product Owner (the voice of the customer) clearly specifies and estimates top priorities which are then organised in tasks and completed within the sprint. By following this method, both sides ensure that there is a potentially shippable product increment after every sprint.
“Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.”
- Agile Manifesto
Discovery and request analysis
An intensive, one to two full-day discovery workshop is organised to help our team better grasp the core components of the business and gain knowledge. Usually the UX designer, project manager and the lead developer attend discovery workshops, but all team members can be included as well. This workshop can be held in our offices in Serbia, in your office, or via Skype call. The goal is to go through individual requirements, discussing and finalising the details. This process will capture user stories and journeys, user data and interactions and is essential to ensure a fool-proof implementation.
Based on these initial discussions and style guidelines we will establish a creative approach that is most beneficial to the project, populate backlog and create wireframes for the new website.
Writing user stories
In order to ensure that all functionalities are clearly described and captured, we create detailed User Stories and store them in the Product Backlog.
User Story format:
As a [role] I want to [task] so that [goal].
User Story Example: As a user I want to be able to follow other users so I can see their posts in the News Feed.
Every 2 weeks, the team estimates the complexity of each user story in the Product Backlog during Backlog Refinement meeting. During this meeting, the Product Owner and the Team define User Story details: goal, process, expectations, description, acceptance criteria etc.
User Story Estimation
The whole team focuses its collective effort per Product Backlog Item, giving each member a deck of cards that represent the estimate of how difficult a user story is. The estimates are then discussed until consensus is achieved. This particular method, called scrum Poker, helps Product Owner to evaluate ROI, effectively prioritize items in the Product Backlog, and predict which items will be ready on time.
Before every sprint, a Sprint Planning meeting is held. Here, the Product Owner prioritizes by importance User Stories, previously defined and estimated on the Backlog Refinement meeting, in the Product Backlog. Based on their previous experience and estimated effort for each user story, the team agrees on the number of user stories that they can commit to completing in each sprint.
repeat x times
The Scrum process is executed in series of iterations called Sprints. Each sprint is started by a planning meeting in order to determine a sprint backlog - a list of the tasks to be performed during the sprint, and a goal that should be attained by the end of the sprint.
Daily stand-up meeting
Each day, an internal stand-up meeting is held to assess the progress. The meetings take no longer than 15 minutes, all members come prepared with the updates and every member is asked these questions:
- What did you do yesterday to achieve the goal?
- What is your plan for today?
- Are there any stumbling blocks that could jeopardise the time schedule and goal achievement?
If a problem is identified it is solved without disturbing the process.
Sprint review / demo
Inspect and adapt THE PRODUCT.
This is the time for the team to demonstrate the work finished within the iteration, get immediate feedback from project stakeholders, e.g. the Product Owner and celebrate their accomplishments.
Inspect and adapt THE PROCESS.
The team has an opportunity to openly express their thoughts on the sprint cycle. What went well and what can be improved in the following sprint. The things learnt from the Sprint Retrospective meeting provide valuable information for growth and increased optimisation as issues are addressed and solutions are put in place.
Potentially shippable product increment
Finished, working product increment is the primary goal of every sprint. It's usually a piece of working software that adds to previously created increments, where the sum of all increments as a whole, form a product.
Adapted for different sizes and devices
Screen sizes are always changing, so it is important that your product adapts to any screen size, today or in the future. We make sure that happens by testing it across phones, tablets, desktops, game consoles, TVs, etc.