Agile
Agile
Tools
What is Agile methodology?
● AGILE methodology is a practice that promotes continuous iteration of
development and testing throughout the software development life
cycle of the project.
● The agile software development emphasizes on four core values.
1.Analyze 2.Define 3.Design 4.Test (Deploy)
● Agile methodology allows much communication
between the customers, developers, testers, and
Managers. Eg JIRA
● In the Agile method, the entire project is divided
into small incremental builds. All of these builds
are provided in iterations, and each iteration lasts
from one to three weeks.
Waterfall Model V/S Agile Model
● Waterfall model follows a sequential design ● Agile model follows the incremental approach.
process
● The measurement of progress is in terms of
● The measurement of success is in terms of developed and delivered functionalities.
completed and reviewed artifacts.
● It is flexible as there is a possibility of changing
● It is rigid as it does not allow to modify the the requirements even after starting the
requirements once the development process development process.
starts.
● There is a high customer interaction. I
● Customer interaction in waterfall model is very
● In this model,after every iteration, an incremental
less.
version is deployed to the customer.
● The product is direct delivered to the customer
● It has a small team size. So,that they can move
after overall development
faster.
● The team may consist more members.
● It is not a suitable model for small projects. The
● It works well in smaller size projects where expenses of developing the small projects using
requirements are easily understandable. But it is agile is more than compared to other models.
not suitable for developing the large projects.
● The test plan is reviewed after each sprint.
● Test plan is reviewed after completion.
● Testing team can take part in the requirements
● It is difficult for the testing team to initiate any change phase without problems.
change in needs
Phases of Agile Model
Planning
Requirements gathering
Construction/ iteration
Deployment
Maintenance/Feedback
Agile Model - Pros and Cons
Pros:
● It is a very realistic approach to software development.As is it applicable in real life.
● It promotes teamwork which leads to more contribution and new ideas.Also it reduces
the actual time to finish the development part.
● It can Delivers early partial working solutions if the stakeholders are pretty sure about
their products and requirements list.
● It requires Minimal rules and documentation because all is going to be done in main 4
phases(analyse,define,design and test)
● Enables parallel development and ensures the delivery within a given span of time.
● It requires only Little planning of designing and testing part.Sometimes this little planning
are also not needed.
● Easy to manage.Less the number of steps to follow,the easier would be managing them.
● It gives flexibility to developers.(Time,Scope,Budget)
● Cons:
● It is not suitable for handling complex dependencies(because of less planning)
● There is more risk of sustainability, maintainability and extensibility.
● For the successful run of this agile,an agile leader and agile PM are must.In
absence of these two,they won’t be able to perform further.
● Strict delivery management work is going to tough because of the less
infrastructure and less planning which will not lead to meet the deadlines.
● It highly depends stakeholder interaction,if they are not having a clear vision,then
the team can move to the wrong direction.
● Everyone needs to be dependant on their own beacuse of less documentation
work.
● Add a new team member or a whole new team can lead to face challengies for
absorbing the nature and follow the steps to be follwed.
Agile methodologies follow 12 Principles of Agile
1. Our highest priority is to satisfy the customer through early and continuous delivery of
valuable software (or whatever else you deliver).
2. Welcome changing requirements, even late in development. Agile processes harness
change for the customer’s competitive advantage.
3. Deliver projects frequently, from a couple of weeks to a couple of months, with a preference
for the shorter timescale.
4. Coordinating team members must work together daily throughout the project.
5. Build projects around motivated individuals. Give them the environment and support they
need and trust them to get the job done.
6. Face-to-face conversation is the most efficient and effective method of conveying information
to and within different teams.
7. The final product is the primary measure of progress.
8. Agile processes promote sustainable development. All stakeholders should be able to
maintain a constant pace indefinitely.
9. Continuous attention to technical excellence and good design enhances agility.
10. Simplicity—the art of maximizing the amount of work not done—is essential.
11. The best architectures, requirements, and designs emerge from self-organizing teams.
12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts
its behavior accordingly.
Agile Process Diagram
a prioritized list of work for the a list of tasks identified by A sprint is a short, time-
development team that is derived the Scrum team to be boxed period when a scrum software product increment
from the roadmap and its completed during the Scrum team works to complete a is what gets produced at the
requirements. sprint. set amount of work end of a development period
or timebox.
Tools used
1. JIRA
2. Trello
3. Kanbanize
4. Zepel
5.Taiga
Jira Software
● Jira software is popular in the agile world due to its well-managed workflow
mapping and issue tracking ability. To support agile development cycle it has
Scrum and Kanban boards along with various reports.In short, a perfect tool to
manage your agile project at one place with lots of features and add-ons.
Plan:-Create user stories and issues, plan sprints, and distribute tasks across
your software team. This all is to be planned by Scrum Master.
Track:- Prioritize and discuss your team’s work in full context with complete
visibility.
Release:- Ship with confidence and sanity knowing the information you have is
always up-to-date.
Report:- Improve team performance based on real-time, visual data that your team
can put to use.
Jira Interface
Roadmap
What is Scrum Project
Management?
Scrum is agile method to
implement it. Scrum is an agile
project management
methodology or framework used
primarily for software development
projects with the goal of delivering
new software capability every 2-4
weeks. It is one of the approaches
that influenced the Agile
Manifesto, which articulates a set
of values and principles to guide
decisions on how to develop
higher-quality software faster.
What is Scrum in Relation to Agile Project
Management?
Scrum is a sub-group of agile:
• Agile is a set of values and principles that describe a group's day-
to-day interactions and activities. Agile itself is not prescriptive or
specific.
• The Scrum methodology follows the values and principles of
agile, but includes further definitions and specifications, especially
regarding certain software development practices.
What is agile project management?
Software teams have been embracing agile project management
methodologies for nearly a decade, increasing their speed,
collaboration, and ability to respond to market trends.
Epics v/s Story v/s Tasks
● Epics are large bodies of work that can be broken down into a number of smaller tasks
(called stories)
● Tasks – The day-to-day things you must do to complete a Story.
Scrum addresses complexity in work by making information transparent, so
that people can inspect and adapt based on current conditions, rather than
predicted conditions.
Pros:
● Understandable – Scrum has no shortage of firmly established and
documented processes, nomenclatures, processes, and timelines.