- Product backlog – The backlog is a list of tasks and requirements that you must include in the final product. It is the product owner’s responsibility to create and manage the backlog.
- Sprint – A sprint is a set time frame for completing each set of tasks from the backlog. Every sprint should be the same length. Two weeks is typical, but the sprint can be anywhere between one to four weeks, depending on the team and the project’s needs.
- Backlog planning – Backlog planning (sometimes called Agile sprint planning) refers to determining which tasks on the backlog list you will include in each sprint.
- Sprint backlog – The portion of the backlog that is assigned to the current sprint.
- Daily Scrum – A Scrum project team meets every day to discuss any progress over the last 24 hours, progress expected in the next 24 hours, and any new problems. These meetings are typically referred to as a Daily Scrum or Daily Stand-Up and generally take about 15 minutes.
- Retrospective – Each sprint should end with a review meeting called a retrospective. The team reviews their progress so far and discusses how they can improve in the next sprint.
- Scrum board – A Scrum board helps your team see and manage the sprint backlog. It can be a physical board, such as a whiteboard, or a virtual one within a project management tool. The board typically has three columns: “To Do,” “In Progress,” and “Done.” As you complete backlog items, you move them from one column to the next on the board. This way, everyone can see what they need to do during the current sprint and how the work progresses.
- Artifact – The product backlog, the sprint backlog, and the product increment are the three Scrum artifacts within a project. The product backlog and sprint backlog represent work still to be done, and the product increment is the portion of the product that the team has already completed during the current sprint.
2. Lean Software Development
It is a highly flexible, evolving methodology without rigid guidelines, rules, or methods. Lean Software Development is an iterative Agile framework that primarily focuses on delivering value to the customer.
It relies on rapid and reliable feedback between programmers and customers, it enhances productivity and efficiency by asking customers to select valuable features and then prioritize those features, and then work to deliver them.
3. Kanban Software Development
This is in line and is in a way built upon Lean software. Research shows a high percentage of teams practicing Lean use Kanban to visualize and actively manage the creation of products.
Kanban is based on 3 principles.
a. Visualization: Planning before implementation. This means spending considerable time on the drawing board, testing, and coordinating with various teams internally. Asking for feedback and working on that feedback and suggestion. Thinking about any possible problems that may arise and solutions to those problems.
b. Limit the Amount of Work in Progress: Finishing a particular task rather than starting on the next. This way they limit the amount of work in progress. One advantage of doing so is that a task is completed a hundred percent, then only the team moves on to the next task. This saves time in the future as there are exceptionally low chances that there will be errors in that work.
c. Enhance Flow: When something is finished, the next highest priority item is worked on.
Overall Kanban promotes continuous collaboration and encourages active ongoing learning and improvement.
4. Extreme Programming
It is an approach that aims to deliver high-quality software, quickly and continuously. It is intended to improve the quality and features of the software. It considers changing customer requirements.
It supports and promotes involving your customers, providing feedback very quickly, continually testing, continually planning, and working closely with teams to deliver working software at very frequent intervals, typically every 1-3 weeks.
The original extreme programming method is based on four simple principles –
- Simplicity
- Communication
- Feedback
- Courage
5. Crystal
The Crystal methodology is one of the most adaptable approaches to software development. Within the crystal, we have further bifurcation like crystal clear, crystal orange, and crystal yellow. Each has its character and can be used depending on team size, system criticality, and other needs and demands of the client.
In terms of other frameworks crystal differs from others in terms of:
- Early frequent delivery of software
- User involvement is high.
- Constant reflection to find ways as to how it can be improved.
6. Dynamic Systems Development Method (DSDM)
DSDM is based on eight key principles that are the focus of the team working on it. These principles serve as a foundation for them when they are working with clients. These principles primarily are:
- Business needs/value.
- Active user involvement.
- Empowered teams.
- Frequent delivery.
- Integrated testing.
- Stakeholder collaboration.
Thus, overall DSDM has evolved to provide a comprehensive foundation for planning, managing, and executing Agile processes.
7. Feature Driven Development (FDD)
- Feature-driven development involves five considerably basic activities, below is a list of these activities. The team working on feature-driven development uses these activities as a benchmark.
- Developing the overall model.
- Building a feature list.
- Once the feature list is built, planning on the list begins.
- After planning, the team moves to the design stage.
- And lastly takes it to the implementation stage, where it starts building the feature as per the needs and requirements of the client.
FDD establishes an overview of the model, which is then resulted in a feature list. It then moves onto the next steps, that is, plan by feature, design by feature, build by feature iterations. Overall FDD is a great solution to maintain control over incremental and complex Agile projects.