The Agile methodology involves a development process based on the incremental delivery of software products. Solution parts are delivered frequently in an iterative way. The core values of Agile are:
So, here is an explanation of what are the steps of the development process for a software project following Agile:
Scrum is a part of Agile, following Scrum the development process has a sprint-based approach. The main values of the Scrum:
Scrum methodology involves the following software implementation process:
The product owner delivers the functional details of the product features in the form of epics and user stories and adds them to the product backlog. Besides, he can add improvement tickets and request bug fixes.
The Scrum master selects the tasks from the product backlog with the highest priority. During the planning meeting, the team discusses the backlog tasks and estimates, and the precise tasks are moved to the sprint. Also, regular grooming sessions take place to clarify the requirements and plan task implementation.
During this stage, the tasks from the sprint - user stories, bugs, etc. - are taken into work by the developers, implemented, and tested by QAs.
The software engineering teams demonstrate the outcome of their work during the sprint in the form of demos and product versions with all updates and fixes. Product stakeholders give their feedback and assess sprint objectives. They decide on product version deployment or moving to the next sprint.
A sprint retrospective meeting is the review of the sprint outcome and its deliverables. This meeting enabled the team to identify what was well what problems were met and how the process could be improved. After the sprint is completed the planning of the next one and the process goes cyclically.
Kanban methodology involves the development process based on a visual and continuous delivery of the software products. Kanban board is used for the following the project progress. The visual board consists of columns with cards, has work-in-progress (WIP) limits on the task number, etc. The main values of Kanban are:
The Kanban methodology has the following software product development process:
Workflow Visualization
Visualization of the workflows, task management, creation and prioritization. The board should include information on when the task is taken into work, its delivery point, policies, and WIP limits.
Definition of WIP Limits
WIP limits enable balanced workloads by taking into account team capacities. No new tasks can be assigned if the limit is reached. This helps to avoid dispersion when performing many tasks at the same time.
Flow Management and Its Optimization
During the execution of the current project, teams will identify factors that lead to the delays in task completion and will resolve all issues impacting the project’s workflow. In other words, bottlenecks and blockers are identified.
Making Policies Explicit
All the rules should be well-structured and documented. Well-defined and transparent policies make the processes visible and understandable to everyone related to the process. These policies must remain minimal, uncomplicated, clearly articulated, prominently displayed, uniformly implemented, and easily amendable by those involved.
Feedback Loops Implementation
This is the process of gathering, analyzing, and acting on feedback received from the stakeholders, users, and team members.
The software development process following the RUP methodology is based on incremental and risk-driven product creation. The main values of RUP:
The RUP software implementation process has the following steps:
Inception
Project planning, idea conceptualization, determining idea viability, identification of work scopes, risk assessment, etc. Deliverables: project plan, rough specifications, use cases.
Elaboration
This phase is aimed at final specifications delivery, mitigation of the potential risks, decision on the software product architecture, etc. Deliverables: development plan, updated use cases, detailed specifications, architecture description, prototype.
Construction
Iterative software development is based on the elaborated requirements and related project documentation. Deliverables: built product (code), technical project documentation.
Transition
The software’s final acceptance and deployment to the production. Deliverables: solution in the production environment.
Getting Real is an approach in software development that is based on iterative solution implementation. The main principles of the Getting Real approach:
The software development process that applies the Getting Real approach has the following steps:
Start with Basics
Analysis of the core aims of the future solution and functions that it should execute, solving user challenges.
Focus on Simplicity
Development of a software product that is simple, not overloaded with unnecessary functionality and modules, and has a user-centric approach with intuitive user screens.
Iterate Based on Feedback and Eliminate Waste
Release the software as early as possible and iterate, extending it based on the market, customer, and user feedback. Anything that doesn’t create value for the customer should be cut from the project.
The selection of the right software development process for the implementation of IT projects is a key factor that leads to the delivery of high-quality solutions. Below are listed the example project cases and obvious choice of process for them: