#50

Get More Refcardz! Visit refcardz.com

coNteNtS INcluDe:
n n

n

n

n

n

About Scrum Scrum Roles Scrum Meetings Scrum Artifacts Scaling Related Practices and more...

Scrum
By Michael James
constraints and transform themselves. Scrum is a framework, not a defined process or methodology. Scrum provides a simple structure of roles, meetings, rules, and artifacts1. Scrum teams are responsible for creating and adapting their processes within this framework. Scrum’s management practices are similar to those of eXtreme Programming (XP), but, unlike XP, Scrum does not prescribe specific engineering practices.

About Scrum
Scrum is a simple management framework for incremental product development using one or more cross-functional, selforganizing teams of about seven people each. Scrum teams use fixed length iterations, called Sprints, typically two weeks or 30 days long. They attempt to build a potentially shippable (properly tested) product increment every iteration.

An Alternative to Waterfall
Scrum’s incremental, iterative approach trades the traditional phases of “waterfall” development for the ability to develop a subset of high-business value features first, incorporating user feedback sooner.
Requirements Analysis Design Code Integration

Scrum roleS

Product Owner
The Product Owner is the single individual responsible for return on investment (ROI) of the product development effort. The Product Owner owns the product vision, constantly re-prioritizes the Product Backlog, and revises release plan expectations. The Product Owner is the final arbiter of requirements questions, including which items are considered “done” at the Sprint Review Meeting.

www.dzone.com

Test Deploy

Scrum Development Team
The Team is a self-organizing/-managing group of about seven (give or take two) individuals. While the Team may contain specialists, collectively it is cross-functional, containing the range of skills (including testing) which were traditionally found in different departments. The Team is given autonomy regarding how to achieve the commitments they’re held responsible for between the Sprint Planning and Sprint Review meetings. A Scrum Development Team is most likely to succeed when members are co-located in a team room.

Figure 1: Traditional “waterfall” development assumes perfect understanding of requirements at outset.

Project Start Iteration 1 Iteration 2 Iteration 3 Iteration 4

Project End

Implementation & Developer Testing

Iteration Detail

Design & Analysis

QA / Acceptance Testing

(Deployment) Detailed Requirements

Evaluation / Prioritization

Figure 2: Scrum blends all development activities into every iteration, adapting to discovered realities at fixed intervals.

Scrum has been used for a variety of products, but has initially been most popular for software products using object-oriented technologies. It is particularly suited to high risk endeavors where traditional efficiency concerns are secondary to the ability to deliver the right product, or any product, by the required date.

Scrum

A Disruptive Framework to Transform Organizations
The reality checks forced by the short feedback loops are intended to expose dysfunction at the individual, team, and organizational level. Rather than modify Scrum to mask these dysfunctions, organizations are encouraged to challenge these
DZone, Inc.
|

Danube Technologies, Inc. www.danube.com +1.503.248.0800

www.dzone.com

Candid communication will help the team gain common understanding of multiple perspectives and come up with actions that will take the team to the next level. Feedback from stakeholders is converted to new Product Backlog Items. at the same time and place. Topics that require additional discussion may be handled as optional sidebars after every team member has reported.” etc. “What did we learn?”. www. timelines.” “Backlog Grooming. DZone. “What actions will we take?” As with the Daily Scrum.” Reporting to an entire team. Part 2: The Team decomposes the selected Product Backlog Items into an initial list of Sprint Tasks and makes a final commitment to do the work. the Scrum Development Team members spend 15 minutes reporting to each other. facilitates Team self-organization (keeping it in the “zone”). and advocates improved engineering practices2. and the Team is responsible for committing to the amount of work they feel they can accomplish without accruing technical debt. and many others. “What could be improved?”. Large. Techniques ScrumMasters can use to facilitate retrospectives3 include silent writing. Inc. Sprint Retrospective Meeting Figure 3: Scrum Meetings Sprint Planning Meeting Part 1: At the beginning of each iteration. though he has no decision-making authority at these meetings. the team meets to reflect on its own process. Incomplete items are returned to the Product Backlog as candidates for future Sprints. etc. the Team demonstrates the actual working product increment they built to the Product Owner and other stakeholders. does not commit to work on behalf of the Team. and what impediments he has. Sprint Burndown Chart. Daily Scrum Backlog Refinement Meeting Sprint Review Meeting Sprint Retrospective At the end of every Sprint. Common topics include: “What went well?”. The Product Owner is responsible for declaring which items are the most important to the business.2 Scrum ScrumMaster The ScrumMaster facilitates the Scrum process. the team may choose to invite the Product Owner. helps resolve impediments (at the team level and organizational level). and impediments list. shields the team from interference. They inspect their own behavior and take action to adapt it for future Sprints. vague items are split and clarified. The maximum time for planning a 30-day Sprint is 8 hours. “What still puzzles us?”. Daily Scrum Every day. is one of the new habits Scrum team members learn. what he will do today. The Product Owner’s attendance is often not necessary at the Daily Scrum and may actually impede team self-organization. thus may also be called “Backlog Maintenance. New products. the Product Owner and Team negotiate which Product Backlog Items the Team will attempt this Sprint. The team will typically examine the current Sprint Task list.com . The Product Owner declares which committed items will be considered “done” according to the previously negotiated agreement. rather than to a boss. It’s a common practice to stand at this meeting to create a sense of urgency. This meeting provides an inspectand-adapt mechanism for the team’s process. The Product Owner’s full attendance is often not necessary during Part 2. so it’s sometimes called the “standup meeting. Each team member reports to the rest of the team what he did the previous day. The ScrumMaster does these things (and more) without any authority on the Team. Sprint Review Meeting Sprint Planning Meeting At the end of each Sprint execution. The ScrumMaster does not make business decisions or technical decisions. | Backlog Refinement Meeting The team estimates the effort of items in the Product Backlog so the Product Owner can prioritize them before the next Sprint Planning Meeting. before involving the entire team in estimation. are hard to visualize in a vacuum. keeps the Scrum artifacts visible.dzone. satisfaction histograms. Scrum meetINgS All Scrum Meetings are facilitated by the ScrumMaster. This meeting lacks an official name. The Sprint Review Meeting is an opportunity to inspect and adapt the product as it emerges and iteratively refine the understanding of the requirements. Many customers need to be able to react to a piece of functioning software to discover what they actually want. particularly software products.” “Backlog Estimation Meeting. New stories might be written by a subset of the team. in conjunction with the Product Owner and other stakeholders.

This tool’s electronic task board mimics the cards of a physical task board.. story points) • Business value is estimated by Product Owner 7 Tasks Impeded 0 Tasks In Progress 9 Tasks Done Do It Hrs: 0 57 Tasks Zoltan Szugyi Done + Task Fix It Hrs: 0 Kevin Hobbs Product Backlog Item Sprint Task Sprint Task Sprint Task Sprint Task Sprint Task Figure 5: Each PBI represents a customer-centric feature. | Add new SWP fields to .form fields which generate the file Estimate: 2 Done + Task Add customer number.com . Estimate: 6 Done + Task Test throughly Hrs: 0 Kelly Louie Installer should downg.. DZone..indicate SW edition . ideally in relative units (e. of a customercentric feature.g.... and expected to change during Sprint Execution • Visible to Team (primarily) • Referenced during Daily Scrum Meeting PBIs Tasks / Status Not Started Add SVN revision numbe.. when they rise toward the top of the Product Backlog.... Hrs: 0 Hrs: 0 Eric Barendt Eric Barendt Did we remove columns ..dzone. Estimate: 2 Done + Task Web Client log in with... Hrs: 0 Eric Barendt Update license generators Hrs: 0 Eric Barendt Nice error messages Hrs: 0 Eric Barendt Inform user when SWBas.. Sprint Backlog • Committed PBIs negotiated between Team and Product Owner during Sprint Planning Meeting • Scope Commitment is fixed during Sprint Execution • Initial tasks created by Team during Sprint Planning Meeting. Hrs: 0 Add support "link" to .. Inc.customer number . Swing client 'About' page Estimate: 2 Eric Barendt Do It Hrs: 0 Do It Hrs: 0 Do It Eric Barendt Victor Szalvay Done + Task Hrs: 0 Kevin Hobbs Downgrade from SW Pro . e. Done when: . not horizontal implementation phases... • Often written in “User Story” form • Has acceptance criteria (and/or product-wide definition of “done”) to prevent technical debt • Effort is estimated by Team.Release Backlog Product Backlog Item Product Backlog Item Low Priority Product Backlog Item Product Backlog Item Figure 4: Product Backlog Product Backlog • • • • • • Force-ranked list of desired functionality Visible to all stakeholders Any stakeholder (including team) can add items Constantly re-prioritized by Product Owner Items at top are more granular than items at bottom Maintained during Backlog Refinement Meeting Figure 7: The Sprint Backlog is often represented on an “information radiator” such as a physical task board... and re-upgrade from a previous Pro upgrade. usually requiring several tasks to achieve definition of done. not the HOW. Figure 8: The Sprint Backlog may also be represented electronically in a collaboration tool such as ScrumWorks® Pro. Product Backlog Item Product Backlog Item Product Backlog Item Product Backlog Item ----------------------. Estimate: 1 Product Backlog Item (PBI) • Specifies the WHAT.3 Scrum Scrum ArtIfActS Cut/ paste plain text Cut/paste rich text and graphics High Priority Product Backlog Item Cut/ paste rich text database schema Product Backlog Item Product Backlog Item Product Backlog Item Product Increment selected during Sprint Planning Meeting Product Backlog Item Figure 6: Large PBIs (often called “epics”) split into thin vertical feature slices (“stories”). to hardcoded page with customer number in the url Estimate: 1 Done + Task Display # of Licensed . www..

Inc. it’s wise to get practices of continuous integration (with robust test coverage enforced through a product-wide definition of “done”) established by one feature team before adding other teams. Traditional practices of grouping people by specialty or architectural component can also make things worse. Team 1 Team 2 Team 3 Figure 9: Sprint Burndown Chart Sprint Burndown Chart • Total remaining team task hours within one Sprint • Re-estimated daily. to maximize communication bandwidth. a feature team focuses on thin user-centric slices of functionality that cut through multiple architectural layers or physical components. visibility. but commitment is owned by entire team and collaboration is expected 250 200 150 100 50 0 24-Jul 26-Jul 28-Jul 30-Jul 1-Aug 3-Aug 5-Aug 7-Aug 9-Aug 11-Aug 13-Aug Figure 11: Communicaton pathways increase geometrically with team size. Product/Release Burndown Chart • Tracks remaining Product Backlog effort from one Sprint to the next • May use relative units such as “Story Points” for Y axis • Depicts empirical trends. When requirements are uncertain and technology risks are high. Typical DZone. such as itemizing by point person. (13) (14) (15) (16) (17) 11/2/06 11/19/06 12/4/06 12/18/06 (12) Sprint -.dzone. including sending delegates to each other’s meetings or to central “Scrum of Scrums” meetings. Unlike eXtreme Programming (XP). Scrum has been popularized by people like Ken Schwaber. and companies like Danube Technologies. A more successful approach has been fully cross-functional “feature teams. Multiple teams coordinate with each other in a variety of ways.5 sprints 400 300 User Interface Layer Business Logic Layer informal working group Persistence Layer 7/5/06 7/21/06 8/14/06 8/29/06 Figure 12: Cross-functional teams organized around related features.com . The intersection projects release completion date from empirical data5. Since multiple feature teams risk stepping on each other’s work. typically in hours Task point person volunteers to see that it gets done.4 Scrum Sprint Task • • • • Specifies “how” to achieve the PBIs’ “what” About one day or less of work Remainig effort re-estimated daily. and trust. Organizations seeking to scale Scrum are advised to pursue training. | relAteD PrActIceS Scrum is a general management framework coinciding with the agile movement in software development. Individuals working on particular components may form informal working groups with their counterparts on other feature teams. www. 9/14/06 9/29/06 10/17/06 Effort units: story points 200 100 0 -200 -300 -400 -500 1 2 3 4 5 6 7 8 9 10 11 1/1/07 -100 Rather than get all aspects of a component working first. ideally in one team room. late discovery of integration risks (being “90% done 50% of the time”). tend to reduce effectiveness at encouraging collaboration Acme Rocket Sled Enhanced Product Burndown Projected completion in 1 . however. The red line tracks PBIs completed over time (velocity). not a management report • Fancy variations. and to examine previous case studies. which is partly inspired by Lean manufacturing approaches such as the Toyota Production System. Scrum does not prescribe specific engineering practices.” able to operate at all layers of the architecture. They are primarily responsible to their feature teams. organizations like the Scrum Alliance. and across components if necessary6. while the blue line tracks new PBIs added (new scope discovery). coaching. thus may go up before going down • Intended to facilitate team self-organization. Inc.36 story points/sprint Effort Remaining Backlog w/ unestimated items Velocity Trendline Work Added/Removed Trendline New Baseline Figure 10: A Release Burndown Chart variation popularized by Mike Cohn4.Average Velocity: 47. introducing reality check to Product Owner’s release plan ScAlINg Scrum addresses uncertain requirements and technology risks by grouping people from multiple disciplines into one team. problems include messy team interdependencies. and poor alignment of effort with business value. adding too many people makes things worse.

boss/worker dynamics. The Scrum Alliance also certifies Scrum Product Owners. expressing negative affect. or violating important interpersonal norms”12) can disproportionately reduce performance of an entire group. part-time team members. Scrum teams may even question agile practices such as eXtreme Programming (XP). bl e unknown www. short-term goals. Disagreements are to be expected on a motivated team -. It is intended as a stepping stone toward Certified Scrum Practitioner (CSP). Research suggests heterogeneous teams outperform homogeneous teams when doing complex work. It is typical to adopt the defined (theoretical) modeling approach when the underlying mechanisms by which a process operates are reasonably well understood. combined with frequent retrospection. The CSM credential does not prove proficiency. 8 9 DZone. Scrum eDucAtIoN AND certIfIcAteS Scrum is mainly an oral tradition conveyed through Certified ScrumMaster (CSM) courses. Such individuals are rare. Challenges and Opportunities of Team Self-Organization This author has seen self-organizing teams radically outperform larger. and interruptions unrelated to sprint goals.dzone. frequent check-ins. “If waterfall suits current needs.team performance will be determined by how well the team handles these conflicts. and trainers. norming. existing waterfall habits. leads teams to challenge assumptions from respected sources such as the Project Management Institute’s Project Management Body of Knowledge (PMBOK®). Self-organization is hampered by conditions such as geographic distribution. traditionally managed teams. an indication of at least one year of experience doing Scrum.”10 Optimal self-organization takes time. These are typically two-day events led by trainers who have been vetted by the Scrum Alliance13. coaches.” The expectation of a working product demonstrated early and often. | C Technology ao h P re c di ta known known ti c Requirements 1 Figure 14: Scrum is intended for the green space labeled as “Chaotic” above. Psychologist Bruce Tuckman describes stages of group development as “forming. This can motivate the team to adopt engineering practices associated with XP and now proven to reduce technical debt: Continuous Integration (continuous automated testing). the empirical approach is the appropriate choice. continue using it. Familysized groups naturally self-organize when they are committed to clear. constant refactoring. unknown A ar n y ch When the process is too complicated for the defined approach. Scrum is intended for the kinds of work defined processes have often failed to manage: uncertain requirements combined with unpredictable technology implementation risks. The disruption of introducing Scrum is not always advisable when defined processes could meet the needs. an Empirical Framework Teams applying Scrum rigorously (as intended by this author) may find themselves questioning traditional “best practices. Doing Scrum properly entails incrementally improving the definition of “done” to prevent technical debt. 7 WheN IS Scrum APProPrIAte? Defined Processes vs. These conditions usually exist during new product development. and more prescriptive processes for iterative development such as IBM’s Rational Unified Process (RUP).” Consider whether the underlying mechanisms are well understood. Running (and Tested) Features Robust “done” =Technical debt Weak “done” Waterfall Time Figure 13: The green line represents the general goal of agile methods. and they experience more conflict11. storming. Other individuals who underperform in a boss/worker situation (due to being under-challenged or micromanaged) will shine on a Scrum team. Test Driven Development (TDD). Most teams will benefit from a full-time ScrumMaster. pair programming. whose responsibilities include helping mitigate these kinds of impediments. Inc. introducing a reasonable risk the team will perform worse during early iterations than it might have as a traditionally managed working group.com . Ken Schwaber has said. more experienced. Scrum was not originally intended for repeatable types of production and services. “Bad apple theory” suggests a single negative individual (“withholding effort from the group. etc. all members can gauge the group’s progress. This can be partly mitigated by giving teams greater influence over who joins them. performing. and all members can observe each other’s contribution. but their impact is magnified by a team’s reluctance to remove them.5 Scrum Scrum focuses on incrementally improving the definition of “done” (particularly around testing) before work is demonstrated.

t th eate Use rith tha e tr ject bas . Prentice Hall PTR. Modeling. or otherwise.com/blog/michaeljames Danube Technologies. and a uct MM inal Design .” http://danube. With more than 105. com/courses. Inc. Danube produces ScrumWorks Pro. when.c o m $7. ling re g l Pa ship ng an tiona at varia the hand pose ssin func ueui tion iora . Michael is a software process mentor.0300 ISBN-13: 978-1-934238-53-0 ISBN-10: 1-934238-53-8 50795 . in any form or by means electronic. Danube hosts hundreds of Certified ScrumMaster courses yearly around the world. Cohn. NC 27513 888. without prior written permission ConcreteHqpublisher. and to the point. Quote is from Process Dynamics. ral en uest ord to m betwe ctu twe req ndled in riant n. mechanical.W le p le ob tern ethod bject be ab tab pat ultip ecific o should cep n M this if the m up the s sp an ac d e ents ject ime. Stacey. 2006 9 2 3 10 11 4 5 6 Agile Estimating and Planning. No part of this publication may be reproduced. y the Beh nships n be ed rono tionalit y need ject ed ca to from ch ne b d ca an tio You ne s need asyn func sts is couple ith o that st the rn the without n it is rela que ar ls w ate ips Reque y of re be de cilit d patte ssing entatio particul nsh or Dea e.0 Adobe AIR BPM&BPMN Flex 3 Components most Popular Spring Configuration jQuery Selectors Windows Powershell Dependency Injection with EJB 3 Netbeans IDE JavaEditor Getting Started with Eclipse Very First Steps in Flex re f c Download Now a rd Refcardz. ati nb +exe bject nship form bjects Cre y ca an o tio e d to rate o d as ed rela ms. refactoring. ScrumWorks is used by more than half of the Fortune 100 and boasts the largest market share of any agile management tool.000 active users worldwide. UT fcard F) desig of Reu r ple s re ss d o ABO oke xam ents des cla ttern our (G Inv de h lem n Pa of F worl suc s: E inclu esig cts D ang attern real ern is D AN Th P obje enting 23 G patt .95 Build er Meth tory Fac t eigh Flyw ter rpre Inte B tor Itera C B State algo rit B Stra B y od Meth plate Tem teg Visit or Refcardz Feedback Welcome refcardz@dzone. Derby/Larsen.danube. source code and more. Job orithm be giv knowle that is terface Pro e ch : De e time g ct b n e in S r le of al ed ca to have d obje of the er mp cop pil rato ut an Exa serv nes ss S at com exec e queue comm Deco Ob confi S Cla e th B d the n . 2 ler nt and Clie photocopying.” Psychological Bulletin. 2006. continuous integration. is a Scrum consulting and tools company. Larman/Vodde... a free tool.678. or transmitted. Danube’s twoday course covers the fundamental principles.6 Scrum refereNceS 1 8 Extensively modified version of a graph in Strategic Management and Organizational Dynamics. 63 (6): 384-99 Tuckman. and why bad apples spoil the barrel: Negative group members and dysfunctional groups. a es a bje ern IGN tt vid s.com Get Mo ef re R c DZone. including news. ould ce Use to fa an r sh A hist pro implem ents its ting. Oxford University Press. cheatsheets. visit: http://www.com ww more than 2 million software developers. 2001. Schwaber/Beedle.0399 919.. is en am Exa hen tion uest to has ack. con tinu ed re le a que st an d th ndle e ha ue req r doe sn’t st w ith th e ha nald cDo nM Jaso By have to ndle James Ward. Reference: of the uest ( ) ern Con cre teH and () uest 1 ler +ha ndle re hand le a req uest ki by lin ng | ww z w. 2004.678. Taught by Michael James and other experts with deep experience working in Scrum environments. team coach. Each m nd str tion ple CO orig ma k re con rma om ir im boo Softwa nt teC d to info the cre Clie the d Use om age nd Con () ns: d fr ente on.. B an en als xy . and values of Scrum through a combination of simulated sprint activities and examples of real projects. Addison-Wesley Professional.com/courses Bro ugh t to Professional Cheat Sheets You Can Trust “Exactly what busy developers need: simple. All rights reserved. DZone offers something for everyone. To find out more about ScrumMaster Certification see http://danube. “How. . d Fac ract Abst r pte Ada B e ridg S C S makers.d one . sa sed s Stru s be an . 2005. in va late catio e ha s: U ilitie psu at c invo to b llbacks es or cture the Enca quest s th ttern sponsib d ca stru nt tim lity. pair programming) that allow agile project management practices.com/scrumworks you by. short. d is be a lem ks to se e passe de to of ob at runt handle imp b Use ec set til co t ld ch ges n A n ined being shou peats un paren ime ngua erm Whe not e la the runt or if it det ore s re uest som d tion proces e no m req g in metho cep n A e e ar a ndlin e ex ack th ther n ha rown in ndle th ll st until ptio th e ca Exce ion is sm to ha up th tered or ral un le cept echani passed avio co ex mp Beh .com . us ma ct cute Ori tter Com ) uple s obje nati ( +exe low l Pa eco is al rge cute ch xpla ona ed la e . Scaling Lean & Agile Development: Thinking and Organizational Tools for Large-Scale Scrum. B C Y tutorials.com 9 781934 238530 Version 1. Group Genius: The Creative Power of Collaboration. and Control. Graph inspired by Ron Jeffries lecture at http://www.com/news/2006/12/jeffries-running-tested-features 12 13 7 About the Author recommeNDeD clASS Michael James. Th for de nge king leto ithin invo hm w Faca cha Sing od tory n n n n nd le a outc ay ha an tial hand sm hen oten ject le to . architects and decision S S z w. Ogunnaike. referenced by Schwaber. referenced in Agile Software Development with Scrum. Felps/Mitchell/Byington. Volume 27. mechanics. 1251 NW Maynard Cary. stored in a retrieval system. He is also a recovering “software architect” who still loves good design. 1993. and Scrum trainer with a focus on the engineering practices (TDD. . Many other articles from Michael can be found at http://danube. Inc. and re ject Pur led k roce to be ob av as q rela us p llbac be hand ed. the first commercial tool designed specifically for Scrum.com/ Agile Project Management with Scrum. 1992. 2008. Pragmatic Bookshelf. Adobe Systems one DZone communities deliver over 4 million pages each month to C e to th nce in fere ted k re s lis ctquic PA s. Inc. “Developmental Sequence in Small Groups. Basic Books. blogs. ispa ns: lgo b to b er jects lly o g it stem tter many d ge a iv b sy win ona Pa ana allo traditi Rece en o ers. Scrum training/coaching also available from http://danube. For more information. le O pro n pa DES sab iagram . Danube Technologies. See Appendix A “Rules. W ject q cep st Ob e re e ex call le th nd th hand s to ha ct obje ome. n latio pe: pe used e comm voke for ec m Whe ntim s re al Sco ely toty The in exp th ueue actu d imple wid clas Pro ject ed at ru ue is are utilizing a job q of the ue C Ob ues with y e que the que g to en dg que s. Example generated by ScrumWorks® Basic. ILIT NS S f in o ty Cha nsibili o Resp d man om C B site po Com B B Me diato m r B B Me ento Ob or ject Beh avio ral O AIN “DZone is a developer’s dream.” r #8 z. CH F >> ace terf r <<in andle () H uest req ndle +ha P RES O succ ess Sponsorship Opportunities sales@dzone.IBfeature articles.com/blog/michaeljames/a_scrummasters_checklist Agile Retrospectives: Making Good Teams Great. 181–230.” Research in Organizational Behavior. upcoming titles RichFaces Agile Software Development BIRT JSF 2. Schwaber. 2007. Learn more at http://danube.0 s Copyright © 2009 DZone. Inc. Sawyer. ore Itera tor dm dia d an Me rver tho se Me S Ob RN plate TTE Tem n n n n n n n ired Insp e by th GoF ller se Best ns tter Pa sign De Cha in e of R ns spo ibil ity.co m it ! V is arz E: LUD IN C y TS bilit EN onsi NT esp CO of R in Cha and m Com reter rp Inte tor .” says PC Magazine. Danube’s ScrumMaster Certification Course The best way to get started with Scrum is through handson experience in a Danube ScrumCORE CSM course.infoq. Th s su . Microsoft Press.

Sign up to vote on this title
UsefulNot useful