What is Agile methodology?
The core tenets of Agile development include increasing collaboration, empowering development teams and keeping the development process transparent. While each Agile methodology type has its own unique qualities, they all incorporate elements of iterative development and continuous feedback when creating an application. Any Agile development project involves continuous planning, continuous testing, continuous integration, and other forms of continuous development.
Roles in a Scrum Project
Coach and gatekeeper
This dual role establishes responsibility for following the Agile framework, providing guidance and education, and removing impediments and distractions. The Scrum Master works directly with the Product Owner to decide which user stories will be taken on in a sprint.
This role’s responsibility is to define the project and its criteria, ensure the objectives are sufficiently understood by the team, manage and prioritize the backlog of user stories and, in collaboration with the other scrum team members, size and assign the highest priority items to the next sprint.
Subject Matter Experts
Any person that possesses knowledge the team needs for a successful product delivery. Examples of SMEs include a Systems Admin as the Infra SME and a UX expert acting as the UX SME. All SMEs are also considered Stakeholders for the project, but not all Stakeholders have to be SMEs. SMEs are not part of the Scrum team, but if the Scrum team needs an additional expert to help on an activity for the product, that person is seen as an SME and is engaged throughout the project.
The Business Owner is the Scrum Team’s Sponsor. He relies on the Product Owner to provide the capacity of the team to handle work, and acts a primary stakeholder. He represents both the sponsorship of the product and guides the Product Owner on what the business needs.
This is the group of people who are actually developing the software. Development teams tend to be small and typically have less than 7 developers. Consider including business developers in a scrum team to help align application delivery to meet business and customer expectations, not just user stories.
A sprint is the basic unit of development in Scrum. Sprint planning is a collaborative process involving the Scrum Master, the Product owner and the entire Agile development team. The Scrum Master is there to facilitate the meeting, the Product Owner is responsible for clarifying the details of the product backlog items and their respective acceptance criteria, and the Agile development team defines the work and effort necessary to meet their sprint commitment.
The daily stand up is an important part of the collaboration aspect of Agile development. The entire Scrum team meets every day for a quick status update and to identify any obstacles standing in the way of completing the sprint. The team will usually look at the burn down chart, which measures the amount of work completed versus total required by the end of the sprint. The meeting takes place standing up to keep it short and to the point.
Sprint Review Meeting
The sprint review meeting is held at the end of the sprint for the Agile development team to present and review the work completed. This is an opportunity to present a shippable increment of software to a broader group, including the product owner, management, and end users. In addition to assessing the project against the sprint goals, the group can provide feedback on the current solution and as-yet-unmet needs that is fed into the next sprint planning meeting.
Retrospective meetings are typically held at the end of each sprint or at the end of major development cycle and are critical to opening communication channels. During the retrospective meeting, the team should look back at what went well and what could be done better in future sprints.
The Benefits of Agile Methodology Built into a Low-Code Platform
The platform should be a central place where everyone involved in the development process has instant visibility and context into what is happening with the application through comments and stories for a deeper understanding to the business goals and requirements. Linking stories and comments to the software being developed provides context to the receiver and reviewer, reducing ambiguity and the probability of misinterpretation and error, while making everyone more productive.
A common language between the development team and the business owners facilitates a mutual understanding and communication amongst all interested members and the development of a solution that meets both business and technical needs. Low-code platforms employ visual, model-driven development techniques for defining an application’s user interfaces, data model, and logic. Visual models are easily understood by the entire team, facilitate frequent, ongoing collaboration amongst developers and the business.
Low-code platforms with embedded user feedback widgets enable users to provide instant feedback directly within an application. A closed feedback loop enables the development team to quickly resolve queries from the business, facilitating rapid iteration. Built in app validation with instant app sharing can further enhance agile collaboration. The ability to preview and share live working apps instantly, across device form factors enables end users to see, and react to, the app early and often in the process, encouraging ongoing feedback.
When Agile tenets are built into the core of a low-code platform, it allows for frequent, real-time feedback and collaboration. With this extended to the business owners, feedback loops are significantly reduced, ensuring the team delivers a solution that meets both user needs and business objectives for quicker time to value.
Frequently Asked Questions
- Low-code development platforms like Mendix adapt well to the Agile methodology, by providing collaboration tools conductive to consecutive rapid sprints. With Mendix’s Sprintr feature, project management, debugging and feedback loops couldn’t be more intuitive. Also read: How Low-Code Supports Agile Software Development
- Scrum is a lightweight Agile framework with broad applicability for managing and controlling iterative and incremental projects of all types. In addition, there are other frameworks for Agile development. Two other well-received frameworks are Kanban and Extreme Programming.
- Kanban focuses on a visualized workflow where work is broken down into small pieces. By respecting well-defined project limits, following explicit process policies, and measuring and managing flow, Kanban is especially attuned for identifying bottlenecks and waste, as well as reducing wait time. Extreme Programming is an Agile framework centered around engineering principles and is focused on ensuring delivery of high-quality software with the expectation that customer requirements will change. The process goes as far as defining points in the development process where new or changed requirements are considered. Developers will typically work in pairs and may have frequent code reviews.
- While Agile is a methodology that targets the manner in which software is developed, design thinking is focused on ensuring that what is developed is what the customer expects. The basic concept of Design Thinking is to start with the customer and work the requirements in from there. Learn how a number of enterprise IT organizations have begun leveraging Agile in conjunction with design thinking to find the right problems to solve.
- Epics are whole features and functionalities that can span multiple sprints. They are broken down into stories, and stories can be further broken down into tasks. An epic will have multiple stories, and each story can have multiple tasks. While epics can span multiple sprints, the stories should be done within the current sprint. Stories should be prioritized and created based on feedback from stakeholders. When creating stories, this template should always be used: As a
, I want to so that I can .
- Agile is no longer just used for innovation projects, but is now becoming mainstream in the way organizations develop applications. In fact, IDC research shows that in 2016, 48 percent of organizations were using agile for “innovation projects only.” This has now dropped to 23 percent, and the organizations using Agile as their “primary development path” has increased to 32 percent in 2016 to 45 percent in 2017.