Conversation

Your input fuels progress! Share your tips or experiences on prioritizing mental wellness at work. Let's inspire change together!

Join the discussion and share your insights now!

Comments 0

Sharpen your coding skills—try JavaScript challenges on TOOLX now!

advertisement

Phases and Artifacts in Agile Development

Phases and Artifacts


Phases in Agile Development

Similar to the traditional process model such as the waterfall model, the Agile model also has several phases. Though at a surface level, the Agile phases may look similar to a waterfall model SDLC, there are several differences. The key difference is that all the Agile phases incorporate collaboration, iteration, and an incremental approach.

In Agile development, the features of the product to be developed are first identified. New features identified in the course of the life cycle are planned across sprints. A sprint is the most basic unit of development and is defined as a fixed period during which a specific task has to be completed and made ready for review. The duration of each sprint depends on the feature to be developed. Each sprint goes through all the phases.

The actual implementation may differ in the real world. The Requirements Analysis phase, for example, may consist of three sub-stages, Conception, Initiation, and Analysis where the project is first conceptualized, initiated, and then, finally, analysis begins. The basic tasks in each phase are almost similar to the waterfall model, however every phase is iterative and incremental.

The Conception Phase, sometimes also called Iteration -1, helps to define the problem or business opportunity, which leads to identifying and assessing a feasible strategy for the project.

The next phase, Initiation, takes place during the first week or so and is sometimes called Iteration 0. In this phase, the project is initiated through a feasibility study and working with stakeholders to determine the initial requirements. The analysis phase involves performing a requirement analysis. The design phase involves creating design strategies, to model the system, and the Implementation phase begins the actual development of the project. Testing will evaluate and test the completed project on various aspects and factors and Deployment is the final stage of launching the project.

The basic principle of these phases is similar to that of the waterfall model. The key difference is each piece of the development work (either individually or as a group) can be iterative and developed, tested, and released. In traditional approaches, a stakeholder sign-off is needed after the completion of each phase. This. iturn needs all the requirements to be completed in that specific phase. In agile development, only approval from stakeholders for each requirement can be considered to push the development to the next phase. This means that in Agile development, each operational team (such as business analysts, technical architects, developers, testers, and so on) must participate collaboratively.



Agile Artifacts

In software engineering, an artifact is defined as any form of portrayal denoting the intermediate or end product of the development process. Some examples of artifacts include requirements specifications, source code (programs), project plans, and so on.

Artifacts are created for a specific purpose and used accordingly to develop software.

To measure a project's progress, Agile project teams often use the following main artifacts or deliverables:

  • Product vision statement: Comprises a short overview statement that indicates how a product supports an organization's strategies. The key purpose of the vision statement is to express the goals or outcomes of the product.

  • Product backlog: Comprises a list of tasks for the project, ordered by priority. Some of how Agile project teams may use this term are as follows:

    1. Tasks that may be considered in the next iteration's plan form part of the backlog
    2. Tasks that are certain to be worked on in the next iteration may be part of the backlog
    3. Tasks assigned to the current iteration, but are currently not being worked on are also part of the backlog

  • Product roadmap: Comprises a roadmap for the product requirements, with an approximate time frame for the development of those requirements.

  • Release plan: Comprises an evolving timetable that describes the features to be delivered in upcoming releases.

  • Sprint backlog: Comprises a list of tasks to be completed within the current sprint. The tasks in the Sprint backlog must be ranked in the desired order of implementation. The ranking indicates the urgency of the task and dependencies (if any) that exist between tasks.

  • Increment: Indicates the product functionality at the end of each sprint.


Agile Advantages and Disadvantages

The advantages and disadvantages of Agile Software Development are listed:

Advantages:-

  • Very realistic in its approach.
  • Promotes teamwork and cross-training.
  • Functionality can be developed quickly and demonstrated.
  • Minimum resource requirements.
  • Applicable for fixed or changing requirements.
  • Delivers partial working solutions early in the cycle.
  • Suitable for regularly changing environments.
  • Minimal rules.
  • Development and delivery happen in parallel within an overall planned context.
  • Easy to manage.


Disadvantages:

  • Not suitable for handling complex dependencies
  • Requires skilled manpower.
  • and Strict delivery management dictates the scope, functionality to be delivered, and adjustments to meet the deadlines.
  • High individual dependency leads to minimum documentation. Lack of documentation might lead to difficulty in knowledge transfer to new team members.
  • Heavily dependent on customer interaction for collecting changing requirements
  • Partial solutions may not cover all the requirements.
  • Requires a strong change management system
  • Ad hoc rules may have to be made.
  • Invariably requires an overall plan.
  • Risk of sustainability, maintainability, and extensibility.


Agile phases in agile development agile artifacts agile advantages and disadvantages agile software development steps in agile development 5 stages of agile development safe agile artifacts

advertisement