Friday, June 14, 2013

The Scrum Framework

I am interning at a local Healthcare IT firm, and when I reflected on the readings of this week, I couldn't think of better process to discuss than scrum, which would fit the strategy of the organization I am working for.

The article ‘Capitalizing on capabilities’, categorized capabilities of organizations in to 11 traits and discussed that organizations should perform an audit and evaluate their strategies. It also mentioned that instead of focusing on all capabilities, the organization should focus on 2-3 important strategies which should be comparable to provide world class. The rest of the capabilities should either be at industry parity or above industry performance level. The article ‘Does Your Organization have the Capabilities to execute its Strategy’ discusses how organizations need to evaluate their capabilities in terms of people, processes and technology to meet their strategies. It provides a four step process for organizations to determine and assess their capability gaps and provides a management process to close them.  The article ‘Competing through organizational agility’ wrote about how important it is to quickly identify, and capture opportunities before rivals do.

As a healthcare IT Company our strategy is to identify, analyze and develop new solutions to address health care's greatest challenges and create the next generation of health care IT products. We assess new and existing technology investment opportunities to pursue healthcare innovation. For, these reasons it’s extremely important that we adopted a process which is iterative, helps rapid prototyping and cross-functional product development. Scrum process assists in this regard completely.

What is Scrum?

It’s a methodology which helps teams develop a product. Product development happens in small incremental phases which fosters team work on complex projects and helps teams to respond to feedback and changes to get the desired product. It’s actually named after a rugby formation where it refers to restarting the game after a minor infraction.

Roles and concepts:
Scrum works by having well defined roles and responsibilities. Broadly there are 3 major roles in Scrum, but at our company we have more:

Product Manager/Owner: this is the most taxing role in the process of product development. He represents the stake holders, is responsible to keep the product development process delivers value to the business ( performs ROI Analysis), collects requirements from the customers, creates technical documents, prioritizes them and adds them to the ‘backlog’. Typically one product is one product manager, but our project being so complex has 2 of these roles.

Scrum master: Scrum master ensure that the user stories in the product backlog are developed by the development team without any impediments. He enforces the scum rules and this role can be taken by anyone in the project. In our project this role is performed by the QA lead.

Development team: This team builds applications depending on the project requirements collected. Depending on the scope and complexity of the project there are 5-8 developers in the team. In our team we have 5 developers and I am one of them.

Quality Assurance team: They ensure that the product is built as per specifications.

Design team: They ensure that the product development has a Human centered design approach.

Sprint is a unit of Scrum and has a fixed duration. Normally each sprint is 4-6 weeks in duration and has a finished product by the end of it. Sprints are preceded by planning meets where the scope of the sprint is decided and ‘user stories’ written by the product manager are prioritized according to importance.

Daily scum meetings:
During the sprint the all team member meet and discuss daily what they did yesterday, what they plan to do today and by when do they hope to complete the task allocated. These meetings  run for about 15-20 mins and are organized by the scrum master. Any impediments to the development process are recorded and worked towards removing them.  This is a great way of tracking project progress and ensuring that the project is on track.

Sprint review meeting:
When a sprint ends, a review meeting is held. The developed product is presented to the stake holder. All team members need not be present for this meeting. This is followed by the sprint retrospective meeting where all members are present. 3 main questions are asked: what worked well? What did not work? What should be incorporated into in the next sprint?

The sprints, daily sprint meetings coupled with the final sprint review meeting makes this process the most utilized across industries which develop products. The lever of transparency and agility provided by this framework is unparalleled. I was fortunate enough to join the team when the sprint was coming to an end and I had the opportunity to attend the daily scrum meetings, the sprint review and the sprint retrospective. As an example, we use ruby as a language to build web applications which in itself is fast. Any change requests made by clients or corrections requested by the product manager are quickly incorporated and made build ready.

This framework leverages the capabilities, provides a process to implement the strategy and makes the firm organizationally agile to adopt new technologies.


No comments:

Post a Comment

Note: Only a member of this blog may post a comment.