Using Scrum to Streamline Web Applications ... - ALA Connect

5 downloads 64 Views 1MB Size Report
The problem. □ The proposed solutions: □ Creation of Web Committee. □ Implementing SCRUM. □ Implementing User Stories. □ Lessons Learned.
Using Scrum to Streamline Web Applications Development and Improve Transparency

Michelle Frisque September 2010

OVERVIEW !  Background !  The problem !  The proposed solutions: !  Creation of Web Committee !  Implementing SCRUM !  Implementing User Stories

!  Lessons Learned !  Questions !  Resources

The Galter Health Sciences Library The Galter Health Sciences Library

Information Systems Department

http://www.flickr.com/photos/dcdead/4678139577/

http://www.flickr.com/photos/verbeeldingskr8/3638834128/

OUR SOLUTION !  Web Committee !  SCRUM !  User Stories

WEB COMMITTEE Charge: !  Plan, design, test and implement ongoing enhancements to the library's web presence !  Coordinate and prioritize web projects for both the public-facing and the administrative functions of the website Membership Total: 10 +

Search

Patron Home Page/ Design/ Navigation

Services

GalterLists

Web Committee

Gadgets (retired)

Insert Screenshot of Trac Here Trac screenshot

The perfect is the enemy of the good.

Voltaire

SCRUM

http://upload.wikimedia.org/wikipedia/commons/b/bd/Scrum-1.JPG

SCRUM WORKFLOW

THE RULES When rules are not stated, the users of Scrum are expected to figure out what to do. Don’t try and figure out a perfect solution, because the problem usually changes quickly. Instead, try something and see how it works. The inspect-and adapt mechanism of Scrum’s empirical nature will guide you.

Scrum Guide by Ken Schwaber, May 2009

SCRUM TEAM !  Optimal size is seven people, plus or minus 2. !  Team composition may change at the end of each Sprint however productivity will decrease after the change occurs while the team adjusts to the change and new members get up to speed. !  Our Team: !  Programmers !  Web Committee Subcommittee Chairs !  Total: 6 people

SCRUM TEAMS: ROLES !  Team Member !  ScrumMaster !  Product Owner

TEAM !  Team determines how to turn the Product Backlog into increments of shippable functionality. !  Team members must have the skills necessary to create an increment of work, i.e. programming, content, quality control, business analysis, architecture, user interface design, database design, testing, etc. !  Diversity of skill and expertise leads to a synergy that improves the entire Team’s overall efficiency and effectiveness.

SCRUMMASTER !  Ensures the Scrum Team adheres to Scrum values, practices and rules. !  Helps the Scrum Team and the organization adopt Scrum. !  Teaches the Scrum Team so it can be more productive and produce higher quality projects. !  The ScrumMaster should never be the Product Owner.

PRODUCT OWNER !  Responsible for managing the Product Backlog !  Maintains the Product Backlog and makes sure it is visible to everyone. [We use Trac to maintain our Product Backlog.] !  Is one person, it should not be a committee. !  Committees can advise and influence the Product Owner to change an item’s priority; however the Product Owner has final say as to an item’s priority. !  Should be a person that is respected.

Function of Web Committee Subcommittees Preparing for Sprint: !  Assign priorities to their projects (Product Backlog) !  Work with project requester to gather project requirements During the Sprint: If their project is selected for a sprint the Subcommittee: !  Tests the project !  Signals project is ready for production

SPRINT Time Box

• Identify the projects for the Sprint from the Product Backlog.

• All products are reviewed • Products are accepted or rejected

• Products created • Tested • Revised

2 to 4 weeks

• Team reviews the Sprint process and makes adjustments accordingly

SPRINT LOGISTICS !  If Team discovers it has overcommitted, it meets with the Product Owner to remove or reduce the scope of the Product Backlog selected for the Sprint. !  If time is still available in the Sprint but all Products are completed, the Product Owner can add a Product from the Product Backlog to the current Sprint. !  Sprints can be cancelled before the specified end date. !  Multiple Scrum Teams can be going at the same time.

SPRINT PLANNING !  When the Team plans the iteration (Sprint). !  Planning for a 1 month sprint should take 8 hours (allocate approximately 5% of the total Sprint length to the meeting). !  First half of meeting: determine what will be done in the upcoming Sprint. !  Second half of the meeting: determine how each project will be accomplished.

DEVELOPMENT WORK !  The team works on each Product assigned for the month’s Sprint. !  Daily Scrum: Team meets daily for 5-10 minutes to update members on what was accomplished, how long it took and what will be done today. !  Daily Scrum is designed to improve communication, identity and remove impediments to development, highlight and promote quick decision-making and improve everyone's level of project knowledge. !  We track the progress on a whiteboard that is in the hallway of the Information Systems Department.

DEVELOPMENT WORK

Not Started Jeremy Steve Team

In Progress

Done

Tested

Live

SPRINT REVIEW !  Held at the end of the Sprint. !  A 4 week Sprint = 4 hour meeting; meeting must not take more than 5% of the total sprint. !  Product Owner identifies what has been done and not done. !  Scrum Team and Stakeholders review what was done, how well it was done and discuss possible next steps. !  Products are demonstrated.

SPRINT RETROSPECTIVE !  Performed after the Sprint Review and before the next Sprint Planning Meeting !  Identify what processes worked and did not work during the last Sprint !  Identify solutions on how to improve what did not work during the last Sprint.

SAMPLE SPRINT Review Product Backlog Before the Meeting

SAMPLE SPRINT Sprint Planning Meeting: Identify Projects

SAMPLE SPRINT Setup the Sprint (aka Sprint Planning)

Not Started Jeremy Steve Team

SAMPLE SPRINT Daily Update (aka Daily Scrum)

In Progress

Done

Tested

Live

SPRINT Tracking Progress of each Sprint can be followed on the whiteboard outside of the Information System Department offices.

SAMPLE SPRINT Sprint Review/Sprint Retrospective

Web Development Architecture Staff Computer

Development Web Server

Production Web Server

Lessons Learned !  Assign a Project/Product Lead who is responsible for final approval of each Product. !  Clearly define the Project and parts that will make up the Project. !  Make sure to leave enough time in the Sprint to test the Product. !  Major Projects (that we know will span across several Sprints) should be put in their branch in Subversion and broken into Sprint-sized goals.

Transparency

http://www.flickr.com/photos/hi-phi/7574977/

USER STORIES !  Template: As a I want to so that . !  Example: As a user (that started as an NU Undergrad and is now an FSM affiliate), I would like the website to re-check my affiliation against Voyager (or equivalent) so I can avoid being blocked from resources I should be allowed to use. (ticket 794)

Conclusion !  Stakeholders have a say in which web projects go forward !  More information is shared !  Products are making it to the user faster !  Allows us to gather user feedback faster !  Projects are more defined before they are undertaken

Questions?

Resources !  “New New Product Development Game” by Hirotaka Takeuchi, Ikujiro Nonaka. Harvard Business Review. Publication date: Jan 01, 1986 !  “Scrum Guide” by Ken Schwaber, May 2009. http://www.scrum.org/scrumguides !  Scrum.org http://www.scrum.org/about/ !  ScrumAlliance http://www.scrumalliance.org/

Suggest Documents