There was a time when the term “product” was only used for physical objects. However, since 1990s, it has been used to describe software, websites and other digital offerings. Anything which adds value to consumers, from apps and financial investments to banks and car-sharing services, can be referred to as a product. In this post, we will discuss current trends of product development with regards to mobile application development.
Outline of future posts in this series
We are planning to discuss current trends of product development in app development companies in a four episode mini-series; these episodes will touch four different aspects of product development.
- Episode I: An overview of techniques used in product development
- Episode II: Product Planning from idea initiation till launch
- Episode III: Minimum Viable Product (MVP) and Product Development
- Episode IV: Tools that can help in product development
All these episodes will discuss current trends of product development with respect to the things we have pointed out in our outline. So, let’s start this journey.
Mobile Application Development
A mobile application is software but with a different level of complexity due to hardware and software constraints. Mobile app developers can apply same conventional methods like Waterfall, Rapid Application Development (RAD), Spiral, Stage-Gate, and Scrum along with different mobile app development techniques and tools to design, develop, test and deploy a mobile application.
An overview of Scrum
For a better understanding of techniques used to approach product development, we have overviewed Scrum, which is a popular method among app development companies.
- Scrum: In 2001, pioneers of product development methods released Agile Manifesto. Scrum methodology sprouted from the Agile Manifesto, which emphasizes collaboration, functioning software, team self management, and the flexibility to adapt to emerging business realities. Before jumping into the process, let’s see some core roles needed in this methodology.
- Roles: There are three core roles in Scrum, which represent the Scrum Team. Product Owner, Development Team and Scrum Master.
- Product Owner: A product owner is the voice of the customer. They make sure that the scrum team delivers value to the business. The product owner writes user-centric details (user stories), ranks and prioritizes them, and adds them to the product backlog.
- Development Team: A development team is a group usually comprises of 6–9 individuals, who analyze, design, develop, and test the product. They also perform documentation and other related work in product development.
- Scrum master: Scrum is facilitated by a scrum master, who is accountable for removing impediments to the ability of the team to deliver the product goals and deliverables.
Now let’s dig into the process.
1. User Story Writing
At this stage, a group of individuals will narrow down different concepts into a User Story, in several brainstorming sessions. This practice shed light on a product from a user’s point of view. Thus, making it beneficial for users as well as for product development team to come up with different stories that could help build a fantastic product. It is a form of collecting users’ requirements in simple customer’s language. Some users’ stories can be so big that they are divided into many small stories. A collection of such small user stories is usually referred to as Epic or Feature.
2. Story Estimation
This step helps in estimating the completion time and other resources needed to complete each story within the project. Development teams give feedback regarding design, development and testing activities to complete a story.
Planning Poker is a famous method used in Story Estimation. In this process, a story is read in a team meeting, where every participant holds card from o to 100 written on them. After listening a user-story, each participant displays a number showing the effort required to complete it. A complete consensus is required to estimate a story. Differences are resolved through discussion; where each participant explains why they think a story needs more/less time to be completed.
3. Story Prioritization
Only a set of stories are selected to be implemented in iteration. Iteration is a cycle, in which development team complete selected stories. In order to select a story for iteration, team prioritizes them based on their importance and need. For example, in the beginning of the project user stories which are related to design will take precedence over development related user-stories.
4. Release Planning
Release is a time-based activity in which certain high-ranked stories are set to be complete. Therefore, release planning is a process in which scrum team sits together to see deliverables in a specific time. It also helps scrum team to come on the same page. Product owner and stakeholder explain their vision and expectations to the development team.
5. Sprint Planning and Task Creation
A sprint is work confined to a regular, repeatable work cycle. Sprints in scrum are usually comprised of 30 days, but many app development companies prefer shorter sprints, such as one-week or two-week sprints. In sprint planning meetings, development teams select a higher priority user story and divide it into one or many tasks. Tasks are created and assigned by developers.
In this step, the development team works on design, coding and testing activities. At the end of each sprint, the product output is produced and demonstrated in the Sprint Review meeting.
In this episode, we have overviewed steps of Scrum, which is a popular method for product development. In our next episode, we will discuss how companies conduct product planning from initiating an idea till its launch. So, stay tuned! Meanwhile, you can share your thoughts on our official Twitter or Facebook accounts.