Introduction to Agile and Scrum
Agile software refers to a number of different software development beliefs and ideologies. The beliefs center on open collaboration, and incrementally building the project as a team, rather than tackling individual segments all at once. It is believed that this will prevent sections from remaining incomplete if part of the team falls through, or if the project needs to be changed to fit with a new request. This also allows the Product Owner to check the work periodically, and offer suggestions and feedback on the work that has been done.
Definition: Product Owner
In Scrum, the Product Owner is the person that is in charge of the vision for the project. He or she is in charge of keeping the Product Backlog (the work remaining to be done) up to date, prioritizing it based on the current business needs. In addition, the Product Owner is the single point of contact for the team.
Each segment is to be accomplished in a specific timeframe, called a Sprint. A typical Sprint includes:
A Sprint Planning meeting
Two weeks of development
A Sprint Review meeting and demo
A Sprint Retrospective
The Product Owner should be kept up to date on the team's progress, and in addition, should be notified immediately of anything that may impact the delivery of the product. The end goal is to have a viable and working increment by the end of the timeframe to show the Product Owner.
Definition: Increment
The product of a Sprint is an increment, which is potentially shippable code. This means code that, if the Product Owner so chooses, could be deployed into production without issue.
"Individuals and interactions over processes and tools" (Agile Manifesto). Another interesting fact is how Agile methods and the Scrum framework prefers teams of only 5 to 9 individuals. Furthermore, communication is preferred to be face-to-face between each team member, and not via e-mails or phone calls. All communication is considered vital if the project is to succeed. The head of the team (known as the ScrumMaster) will be in direct contact with the Product Owner, and acts as a representative of the team, removing any impediments that stand in the way of their progress. He or she is responsible for taking everyone through the process of Scrum, protecting the team from over committing, and coordinating the daily Scrum meetings.
"Working software over comprehensive documentation" (AM). Agile methods and beliefs also stress that it is important to not only be able to adapt to changing business needs, but to provide the Product Owner with working software at each Sprint Review. While documentation can be a component of a finished product, continuous interaction with the Product Owner is preferred as business needs are continuously changing. Due to business changes, if the Product Owner gives any additional requests, those requests are prioritized against current business needs before the next step of the project. These new requests are then discussed with the team, estimated, and planned for.
"Responding to change over following a plan" (AM). Use of the name “agile” is to suggest that the team can quickly change the software and their efforts to suit the needs of the business. Special care is given to all software that is created for functionality. Special care is also taken to reduce the risk of any glitches or other difficulties.
Once the software is completed, it is reviewed at different segments at a Sprint Review. During the review, the result is demo'd by the team. This presentation is very informal and devoid of PowerPoint. Attendees can include users, stakeholders, and many others, but must include the ScrumMaster, the Product Owner, and the Scrum team. The purpose of this meeting is to measure the result of the Sprint against what was planned in the Sprint Planning meeting. Once the meeting is concluded, the Product Owner re-prioritizes the Product Backlog, adding items as necessary, and a new cycle begins.
About The Author :: Robert Dempsey
Robert Dempsey is a Certified ScrumMaster and CEO of Atlantic Dominion Solutions, a
web development shop
in Winter Park, Florida. Robert has lectured, trained, and provided coaching and consulting to many software developers and small business owners since 2000.
Please Note:
This article is copyright to the author and may not be reproduced without permission.
|