Agile Software Development Life Cycle

Agile methodology allows the continuous iteration of development and testing throughout the software development life cycle of the project

agile-development-chart

  • Speed up or bypass one or more life cycle phase
  • Usually less formal and reduced scope
  • Used for time-critical applications
  • Used in organizations that employ disciplined methods speed up or bypass one or more life cycle phases
  • Usually less formal and reduced scope
  • Used for time-critical applications
  • Used in organizations that employ disciplined methods
agile-development-overview

Principles of Agile Methodology

  • The working software is the primary measure of progress.
  • Agile processes promote sustainable development.
  • The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
  • Continuous attention to technical excellence and good design enhances agility.
  • Simplicity--the art of maximizing the amount of work not done--is essential.
  • The best architectures, requirements, and designs emerge from self-organizing teams
  • At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
  • Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
  • Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
  • Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
  • The most efficient and effective method of conveying information to and within a development team is a face-to-face conversation.

Advantages of Agile Methodology

  • The Agile methodology makes it easier to add features and functionality throughout the project
  • Program/module re-writes are expected as part of the project process to align to changing requirements
  • Project / Sprint priorities are assessed frequently
  • Communication is high on an Agile touch point (particularly SCRUM) due to daily touch points
  • Requirements are refined throughout the project as each sprint is completed to ensure the end product addresses the business need.
  • The testing at the end of each sprint ensures that bugs/defects are found early on in the process.
  • As a result of testing within the Sprint, the product can be launched anytime after a Sprint.
  • The agile methodology is very intense on developers and project team members as they are constantly engaged.
  • Conflicting priorities that impact project resource availability could derail one or more Sprints
  • It is potentially dangerous to introduce an agile project without a clear vision, time boxing, and scope trade-off discipline in place.
  • There is less predictability in an Agile project making the business case development, planning, costing and resourcing harder to accomplish and negotiate
  • Without a tangible plan, the final product can be significantly different than what was initially intended.
  • Adding resources to an agile project has a high impact on productivity as there is a tendency to have less documentation, making bring the resource up to speed difficult.

jira-introduction

Agile Methods

Some of the Agile Methods are as follow:

  • Adaptive Software Development (ASD)
  • Feature Driven Development (FDD)
  • Crystal Clear
  • Dynamic Software Development Method (DSDM)
  • Rapid Application Development (RAD)
  • Scrum
  • Extreme Programming (XP)
  • Rational Unify Process (RUP)

Scrum

Scrum is one of the most popular agile framework, through which we can implement the agile.

Scrum-image

The first step is the creation of Product Backlog through product owner and then the scrum team selects the top priority in that and try to finish it on time call it has sprint.

In Scrum, the team is going to work with the 3-3-5 framework, that means a scrum project has 3 roles, 3 artifacts, and 5 events.

Roles Artifacts Events
  • Product Owner
  • Scrum Master
  • Development Team
  • Product Backlog
  • Sprint Backlog
  • Product Increment
  • Release Planning
  • Sprint Planning Meeting
  • Daily Scrum Meeting
  • Sprint Review Meeting
  • sprint Retrospective

Scrum Principles

  • Transparency
  • Inspection
  • Adaption

Scrum Master Responsibility

  • Represents management to the project
  • Responsible for enacting Scrum values and practices
  • Remove impediments
  • Ensure that the team is fully functional and productive
  • Enable close cooperation across all roles and functions
  • Shield the team from external interferences

Kanban

Kanban is another framework used to implement agile projects, Kanban provides us with real-time capacity updates according to the requirement changes.

Kanban allows the team members to see the states of the work at any time, unlike scrum, Kanban doesn't have any predefined roles.

Comment / Suggestion Section
Point our Mistakes and Post Your Suggestions

Subscribe to See Videos

Subscribe to my Youtube channel for new videos : Subscribe Now