I recently obtained my ScrumMaster Certification (SMC) and thought I would share some outstanding points in both a more complete and practical definition of Agile and how it applies to Scrum that I got out of the certification class. I think I will make this a multi-post topic as there is so much to gain from the knowledge and proper use of Agile and specifically, Scrum.
First off, a quick recap on what Agile can bring to an organization:
- Agile allows you to adopt to changing business needs which gives the organization more flexiblity with adding or changing requirements.
- Early and continuous customer feedback (having the client involved throughout the development process) allows the client to get an end product that they are expecting and will want to use.
- Early measurable return on investment allows defined deliverables for each iteration.
- Incremental delivery allows frequent acceptance and feedback.
- Agile principles are disciplined (contrary to many telling you there are no “rules”) and value driven.
Scrum is one of the more widely known and used Agile methodologies. Scrum is an agile way to manage a project, no longer only used with software development. Agile projects utilizing Scrum are often perceived as a methodology; but the certification class really encouraged us to think of it as a framework for managing a process.
In the Agile Scrum environment, instead of providing complete, detailed descriptions of how everything is to be done on a project, much of it is left up to the Scrum team. Scrum relies on a self-organizing, cross-functional team. Since the team is cross functional, everyone is needed to take a feature from idea to implementation. Within agile development, Scrum teams are supported by two specific roles. The first is a ScrumMaster, who can be thought of as a coach or facilitator for the team. The ScrumMaster helps team members use the Scrum process to perform at the highest level.
The product owner (PO) is the other role (outside of the team) and in Scrum the PO represents the business, customers or users, and guides the team toward building the right product.
In a more waterfall approach, the PM process describes what should be done when managing a process. Agile describes the “how” to do what should be done, and the “how” is layered upon the “what.” Agile methodologies start with developing a Product Vision, moving toward planning and then managing iterative cycles and reviews (monitoring and controlling).
One of the best lessons of the days spent in class for the certification was hearing first hand from fellow attendees how their companies are using a wide blend of both traditional PM principles along side Agile and specifically Scrum. Basically there are many “hybrid Scrum” processes out there often tailored not only to the PM methodology of the organization, but more importantly, to the project itself.
In my next post on the topic I will go over the four Agile values, more Scrum terminology and more details of the core team and their roles in the process.