Tuesday, April 6, 2021

Must know about Agile



An Introduction to Scrum?
The Agile practices and patterns have evolved in many additional layers over the years, and the Scrum practice, which is a subset of Agile, has subsequently unfolded itself in multiple levels, to address the complexities that arise in product development.


What is Scrum?
Scrum is a simple, lightweight process framework designed to help small cross-functional and self-organized teams develop complex products.
Therefore, it is an agile process framework that can be applied to product development projects that:

1. stick to specified deadlines,
2. need complex requirements and
3. still retain a level of uniqueness.


Why Scrum?
Before delving deep into the concept and the functioning of the Scrum methodology in product development, it is crucial that we understand the benefits of this methodology. Here are a few ways in which Scrum assists in product development:

    Ø With scrum, companies can build iteratively and incrementally and deliver products that Scrum allows to incorporate customer feedback at the end of every sprint (sprints are repeatable work cycles, also known as iterations; a sprint can be anywhere between a week to a month). This ensures that the products align with the needs of the customer and value to the user; rather than building products on assumptions.
    Ø Scrum improves ROI by reducing costs. The Scrum methodology aides in eliminating wasteful procedures and skips unnecessary work that makes for a faster, leaner and cost- effective product development teams and processes.
    Ø Scrum is therefore a methodology that helps in building products of value that find
relevance and use among customers, in short time; and thereby benefits businesses and engineers largely.


Scrum Roles
  • Product Owner
  • Development Team
  • Scrum Master

1. Product Owner
Product Owner is the single person responsible for managing the Product Backlog.
He / She is the key stakeholder in a product development project and is responsible
for maximizing the return on investment. This is usually someone who is from product
management or marketing, or a key user.

Responsibility
1. Controlling the priority of items in the team’s backlog
2. Directing the team towards valuable work and eliminating/reducing time on less
valuable work
3. Being the single authorizing body who allots the work or changes the priority of
items
4. Maximize team’s effort value by making sure the team understands the requirements
5. Representing the customers or the users of the product
6. Creating acceptance criteria for the product’s backlog items
7. Answering team members questions as and when required, and so on

2.  Development Team
Scrum teams are cross-functional, self-organizing teams, which means the team comprises a range of skills which in a traditional setup may be found in different departments. 
The scrum team usually consists of few people – five to ten members – but it can even expand to hundreds, as per demands

Responsibility
1. As Teams are cross-functional, all the skill-sets required to develop a shippable product is available in the same team and they work in a single room, thereby increasing the likeness at succeeding in a given project.
2. The Team is given autonomy in its functioning and is responsible for achieving the targets and the “done” status between the Sprint Planning and the Sprint Review meetings.
3. However, each member, beyond effectively contributing in their area of specialization,
is also expected to work outside their areas to best move backlog items.
4. The Scrum Teams, therefore, works with the motto of not restricting themselves to their area of specialization but “doing the job” and self-organizing to accomplish the task at hand.
5. It also creates and owns the estimates that are involved in a product development
project.
6. It is responsible for incorporating and completing user stories, in order to increase the
value of the product that is developed.

Scrum Master
The Scrum Master is the coach who maintains the productivity of the Scrum Team.

Responsibility
1. The Scrum Master expedites the Scrum process and keeps the Scrum artifacts visible.
2. The Scrum Master is responsible for coaching the Scrum Team into a high-performing,
self-organizing team.
3. The Scrum Master helps the team learn and apply scrum practices within the team.
4. The Scrum Master removes impediments that may hamper productivity in the team.
5. The Scrum Master does not hold an authoritative hand in the team and does not make
business or technical decisions, nor commit to work on behalf of the team.
6. On the other hand, the Scrum Master is the coach who guides the Scrum team with
the knowledge and the responsibilities that are expected of the role.
7. The Scrum Master also works with the Product Owner by often suggesting eective
Product backlog management, in order to maximize value.


Agile Ceremonies/Scrum Meetings
  • Sprint planning meeting
  • Daily Scrum
  • Sprint Review Meeting
  • Sprint Retrospective meeting
  • Backlog Refinement meeting

Sprint planning meeting
This meeting is conducted at the beginning of each iteration or Sprint. The Product Owner and the Scrum Development Team sit together and decide on the Product Backlog Item that is of most importance to business at the moment, and work on it at the particular Sprint.

    Later, the Team breaks down the Product Backlog Item into Sprint Tasks and decides on the work flow that needs to be followed to accomplish the task in the given time. In this meeting, the Team also defines the objective or the Sprint Goal. The Sprint Goal is the end product of the negotiation between the Product Owner and the Scrum Team while deciding on the Product Backlog Item. The Product Owner’s presence is not mandatory during this part of the meeting.

Ideally, the time spent on a Sprint Planning Meeting for a Sprint that would last two
weeks will round up to 4 hours.

Daily Scrum
This meeting is conducted every day, at the same time and place, before commencing on the tasks for the day and lasts around 15 minutes. The Scrum Team gathers and there is a discussion on the accomplishments of the previous day, what is to be accomplished over the present day and what are the impediments that are expected.

While doing so, the team will examine the current Sprint Task list, Sprint Burndown Chart, and impediments list. The Sprint Task list contains the list of fragmented work-units that are to be conducted in the given Sprint.

Sprint Review Meeting
This is the point at which the Scrum Team delivers the workable product to the Product Owner and the stakeholders. The Product Owner then decides on the “done” status for the tasks and incomplete tasks are sent back to the Product Backlog for
future Sprints.

One of the main advantage of conducting this meeting, is that it allows stakeholders and customers to provide feedbacks and inputs on the developed product. These feedbacks are added as new Product Backlog Items and incorporated during a different Sprint activity.

Sprint Retrospective meeting
This stage in product development occurs after the Sprint Review and before the next Sprint Planning. For a Sprint that is two weeks long, the Sprint Retrospective would usually be held for about 90 minutes. 
It is the responsibility of the Scrum Master to schedule a Sprint Retrospective and ensure all team members participate.
During this stage, the Team reflects and analyzes their activities during the last Sprint bases on two points

What went well?
What can be better/improved?


Backlog Refinement meeting 
The team splits large Product Backlog Items and gets issues relating to them clarified. New user
stories may be written by a part of the team, by including the notions laid out by the Product Owner and the stakeholders.
 Finally, the Product Owner prioritizes the effort on the Product Backlog items, before the next Sprint Planning Meeting.


Agile Artifacts
  • Product Backlog
  • Sprint Backlog
  • Burndown Chart

Product Backlog
The Product Backlog is a list of all the requirements needed in product development and is also the single source of requirement for changes to be made in the product.
The contents to the Product Backlog can be added by the stakeholders or the team members. Hence it is a list that constantly evolves and grows and changes to match the needs of the product.

The Product Backlog Items are the specific items in a Product Backlog. It is the unit of work to be completed by a Scrum Team in one Sprint iteration. The effort to be taken in a Product Backlog Item is estimated by the Team in the form of user stories.
However, the business value for this is decided by the Product Owner, in order to
prevent technical debt.

                                                                Product Backlog



Sprint Backlog
The Sprint Backlog encompasses the Product Backlog items for the Sprint, along with the plan that is devised to achieve a specific objective or the Sprint Goal. This is solely decided by the Development Team. 
The Sprint Backlog keeps changing and evolving during the Sprint activity – new requirements and changes relating to work are added, and unnecessary elements are deleted from the list, as and when required. 
In short, this is some kind of an “information radiator” that looks like a physical task-board.

Sprint Planning



Burndown Chart
A burn down chart is a graphical representation of work left to do versus time. It is often used in agile software development methodologies such as Scrum. However, burn down charts can be applied to any project containing measurable progress over time.

Typically, in a burn down chart, the outstanding work is often on the vertical axis, with time along the horizontal. It is useful for predicting when all of the work will be completed. In the Daily Scrum the Development Team updates the Sprint Burn Down and plots the remaining work of the day. A burndown chart is almost a “must” have tool for a Scrum team for the following main reasons:



                                                                Burndown Chart


Scrum Communication Model



Top 10 agile interview Question and Answer

No comments:

Post a Comment

How to install Java on EC2

***************************************** How to install Java on EC2 ***************************************** To be continued, In this post...

All Time Popular Post