What Do You Mean By Agile? Is it A Thing?
An introduction to agile process, principles, methods, and tools
As a technologist, all my projects have used agile methods for over a decade. The initial transition from waterfall methods to agile was not easy, but I have never looked backed after seeing the value.
In this article, I provide a brief introduction to the agile method at a high level. If you are new to the agile approach, these terms and concepts can be helpful.
Agile team members can create different personas or a group of personas for creating solutions similar to the ones in Design Thinking workshops. Personas represent fictitious people or characters representing the users or consumers of the solution.
A scrum master can be a technical team lead role; however, it has a project management flavour. For example, as a scrum master for a Sprint, we are expected to create and collect all User Stories, review them and publish them on an Agile board. In large business organizations, a project manager usually undertakes this role; however, if an Architect leads an IoT solution, the lead architect is expected to be the scrum master for that specific solution.
At a high level, some of the key concepts in an agile project are creating Epics, writing User Stories, putting Stories to the Backlog, creating solution artefacts, and completing the Sprint successfully by producing Acceptance Criteria. I explain these five key concepts to help you understand how to use an agile method.
A User Story is a tool used in agile solution development to capture a description of a solution feature from a user perspective. The User Story describes the type of user, what they want and why they want it. In other words, a User Story is a simplified explanation of the solution requirement. A collection of these User Stories establishes the requirements published in an Agile management tool.
An Epic can be a feature, customer request or a chunk of business requirements. The details of the features are defined in User Stories. An Epic can be defined as a group of work items that has a common objective. An Epic usually takes more than one Sprint to complete. In other words, Epics are big User Stories in nature.
A Sprint is a planned and time-boxed iteration of a continuous development cycle. Sprints usually take two weeks. Some may take a month. A timebox is a strictly defined time during which a task must be completed.
At strict Agile practice, once the two weeks or a month is consumed, the Sprint is stopped because it is time-boxed. If the tasks, User Stories cannot be completed at the determined time, the Sprint fails.
A Spike is a kind of communication such as a meeting or a phone call to investigate how much time a User Story may take. This means that we need to use a spike for a User Story that cannot be estimated until the solution team performs a time-boxed investigation.
A backlog is a list of all tasks that need to be completed within a project. However, this list needs to be the desired features for the product or service component. It is a replacement for the traditional requirements specification artefact.
Backlog items can be described in technical terms or can be documented in the User Stories format. A Backlog is used to prioritize features and understand which features to implement in priority order.
At the end of each Sprint, there is also a Backlog Grooming (aka Backlog Refinement) activity that occurs. This activity is done to make sure the Backlog is ready for the next Sprint. Using this activity, the Scrum team members can remove irrelevant user stories, create new stories, or reassess priority, or even split user stories into smaller stories.
An Acceptance Criteria specifies a set of conditions that the solution must meet to satisfy the client. The product owner writes statements from the client’s point of view that explain how a User Story or Epic must work.
For the User Story or the Epic to be accepted, it needs to pass the acceptance criteria. If not, it fails! Acceptance criteria must be written in a clear, concise and in meaningful manner to bring the client and the solution team members on the same page.
Minimum Viable Product (MVP)
Each iteration in a Sprint or an Epic in the agile approach aims to create a product that offers minimum functionality based on use cases of the solution. MVP is assessed based on Acceptance Criteria.
One inevitable thing in Agile is the Daily Scrum or Daily Stand-up sessions. These are brief communication and status check sessions managed by the Scrum Master. In the Daily Scrum or the Daily Stand-up meetings, the team members share their progress, report constraints, and make commitments for the current Sprint.
A Daily Scrum session includes focused conversation kept to a strict timeframe. Daily Scrum sessions are held simultaneously on every business day, usually in the same location. The Scrum Task Board serves as the focal point of the Daily Scrum sessions. The Scrum Master asks three main questions of each team member:
1) What progress have you made today?
2) Do you have any roadblocks?
3) What do you plan for tomorrow?
The team members provide quick and concise responses to these three questions. The scrum master keeps minutes of the Daily Scrums. The action points in these minutes are reviewed each day.
Chicken and Pig
It is also common to find some interesting terms in Agile teams such as Chicken and Pig. A Chicken in agile terms refers to someone involved in the project; however, he or she is not accountable for any specific deliverable. On the other hand, a Pig is considered someone who is committed and directly responsible for deliverables. This means that the Solution Architects are certainly categorized as Pigs (with no offence).
The term Kaizen is repeated a lot in Agile methods. It means continuous improvement. Kaizen is a process of improving quality and efficiency by making small, incremental changes over time.
Two key Kaizen activities for IoT solutions can be optimizing workflows and reducing cycle times, which can result in increased productivity.
Kaizen is a useful Agile term and principle to introduce to the IoT ecosystems.
Agile principles, in general, are common sense and can be a perfect match for IoT solutions that require fast delivery. The commonly used principles in Agile methods are:
- Embrace change
- Work as a team
- Transparency of work
- Have face to face time
- Measure progress
- Deliver frequently
There are several agile methods on the market. The most common agile methods used in the industry are:
• Agile Scrum Method
• Kanban Method
• Crystal Method
• Lean Software Development Method
• Extreme Programming Method
• Dynamic Systems Development Method
• Feature Driven Development Method
There is a proliferating number of Agile tools on the market. Almost every day, a new one pops up! This is a good thing as each new Agile tool introduces new functions, innovative approaches, and effective information management capabilities.
For the Agile team responsible for IoT Solutions, you will probably encounter the tools such as JIRA, Orangescrum, Progrgio, Binfire, Planbox, Nuvra, Teambook, ProofHub, Zoho Sprints, StoriesOnBoard, VivifyScrum, OneDesk, Agilelean, Wrike and Trello.
These are all useful tools for Agile methods. However, I found JIRA as one of the most effective tools in my technical projects. The JIRA dashboard has many useful functions and features.
Some of its key features are issue types, workflows, screens, fields and issue attributes. For example, not all tools have these features. The dashboard on JIRA can be easily customized.
As an agile practitioner, you create Epics, write User Stories, put Stories to the Backlogs, create solution artefacts, and complete the Sprint successfully by achieving goals set in the Acceptance Criteria.
There are many tools on the market. I listed them in this article. One of the most common tools is JIRA.
Agile principles help the practitioners to produce fast, using minimum viable products by embracing change, working as a team, being transparent, and measuring progress.
Thank you for reading my perscpectives.
The original version of this story was published on another platform.
About the author
I'm a writer and published author with four decades of content development experience in business, technology, leadership, and health. I work as a postdoctoral researcher and consultant. My background is at https://digitalmehmet.com.