Agile

4 minutes read

Tables

Key principles of Agile

Principle     Description
Satisfaction and DeliveryCustomer satisfaction through early and continuous working software.
Welcoming ChangeWelcome changing requirements, even at later stages of development.
Deliver FrequentlyDeliver working software frequently (weekly rather than monthly).
Communication is the KeyEnsure close association of developers with business people on daily basis.
Environment and TrustBuild projects around motivated individuals. Give them necessary support and trust them.
Face-to-face CommunicationEncourage face-to-face conversation to ensure efficient and effective communication.
Software as Measure of ProgressWorking software is the primary measure of progress.
Sustainable DevelopmentPromote sustainable development with the ability to maintain a constant pace throughout the development.
Attention to DetailsContinuous attention to technical excellence and good design.
The Power of LessSimplicity is essential.
Self-organizing TeamsRegular attention of the team on becoming effective in changing circumstances.

Agile Methodologies

  1. Scrum: it is the most popular agile framework, which concentrates particularly on how to manage tasks within a team-based development environment. Scrum uses iterative and incremental development model, with shorter duration of iterations. Scrum is relatively simple to implement an focuses on quick and frequent deliveries.

  2. Test-driven Development (TDD): it is a software development process that relies on the repetition of a very short development cycle: first the developer writes an automated test case that defines a desired improvement or a new function, then it produces the least amount of code to pass that test, and finally brings the new code to acceptable standards.

  3. Kanban: it is a system to improve and keep up a high level of production. Kanban is one method through which Just-In-Time (JIT), the strategy the organizations employ to control the inventory expenses, is achieved. Kanban became an effective tool in support of running a production system as a whole, and it proved to be an excellent way for promoting improvement.

  4. more

Scrum Process Framework

scrum process framework

The heart of Scrum is a Sprint, a time-box of two weeks or one month during which a potentially releasable product increment is create. A new Sprint starts immediately after the conclusion of the previous Sprint. Sprints consist of the Sprint planning, daily scrums, the development work, the Sprint review, and the Sprint retrospective.

  • In Sprint planning, the work to be performed in the Sprint is planned collaboratively by the Scrum Team.
  • The Daily Scrum Meeting is a 15-minute time-boxed event for the Scrum Team to synchronize the activities and create a plan for that day.
  • A Sprint Review is held at the end of the Print to inspect the Increment and make changes to the Product Backlog, if needed.
  • The Sprint Retrospective occurs after the Sprint Review and prior to the next Sprint Planning. In this meeting, the Scrum Team is to inspect itself and create a plan for improvements to be enacted during the subsequent Sprint.

Roles

ScrumMaster

ScrumMaster is the keeper of the scrum process. He/she is responsible for:

  • making the process run smoothly
  • removing obstacles that impact productivity
  • organizing and facilitating the critical meetings

Product Owner

The Product Owner is responsible for maximizing the value of the product and the work of the Team. How this is done may vary widely across organizations, Scrum Teams, and individuals.

The Product Owner is the sole person responsible for managing the Product Backlog. Product Backlog management includes-

  • Expressing Product Backlog items clearly.
  • Ordering the Product Backlog items to best achieve goals and missions.
  • Optimizing the value of the work the Team performs.
  • Ensuring that the Product Backlog is visible, transparent, and clear to all, and shows what the Team will work on further.
  • Ensuring that the Team understands items in the Product Backlog to the level needed.

The Product Owner may do the above work, or have the Team do it. However, the Product Owner remains accountable for these tasks.

The Product Owner is one person, not a committee. The Product Owner may represent the desire of a committee in the Product Backlog, but those wanting to change a Product Backlog item’s priority must address the Product Owner.

For the Product Owner to succeed, the entire organization must respect his or her decisions.

The Team

The Team is self-organizing and cross-functional. That means the team comprises of analysts, designers, developers, testers, etc. as appropriate and as relevant to the project.

To develop a software product, we require all the roles and that is the essence of scrum - the team will function in collaboration. Cross-functional teams have all competencies needed to accomplish the work without depending on others not part of  the team, and thus time and effort can be saved. The team model in Scrum is designed to optimize flexibility, creativity, and productivity.

Optimal Team size is small enough to remain nimble and large enough to complete significant work within a Sprint. The Team size should be kept in the range from five to nine people.

The scrum team works together closely, on a daily basis, to ensure the smooth flow of information and the quick resolution of issues. The scrum team delivers product iteratively and incrementally, maximizing opportunities for feedback. Incremental deliveries of a complete product ensure a potentially useful version of working product is always available.

Leave a Comment