1 / 21

SITE, University of Ottawa

ELG 5100. Nov 11,2013. Work Item Tagging —— Communicating Concerns in Collaborative Software Development. By Yitong Du(7436571) Tianyu Su (7475378 ). SITE, University of Ottawa.

catrin
Télécharger la présentation

SITE, University of Ottawa

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ELG 5100 Nov 11,2013 Work Item Tagging ——Communicating Concerns in Collaborative Software Development By YitongDu(7436571) TianyuSu (7475378) SITE, University of Ottawa submitted to Professor ShervinShirmohammadi in partial fulfillment of the requirements for the course ELG 5100

  2. content • Social Aspects in Software Development • Tagging and Software Development • Case study • Research Questions • Adoption of Tagging • Characteristics of Tag Keywords • Different Kinds of Tag Keywords • The role of tagging • Limitation and improvement • Advice on Tool design • Future Work submitted to Professor ShervinShirmohammadi in partial fulfillment of the requirements for the course ELG 5100

  3. Social Aspects in Software Development Software development are more than writing source code • dealing with strategic and cultural issues • longer development times when coordinating with remote colleagues • dealing with communication breakdowns • Uncleardependencies, circular dependencies, schedule changes • managing plan failures Earlier researches • issue tracking systems • visualization tool for task • mining and analyzing quantitative data to reveal information • predict future behaviors submitted to Professor ShervinShirmohammadi in partial fulfillment of the requirements for the course ELG 5100

  4. Tagging and Software Development The success of tags • Tags in social networks • Facebook, YouTube, Flickr • The bottom-up nature of tags • Not predefined, # tags per item Classification mechanisms (Formal) Tagging System(Informal) submitted to Professor ShervinShirmohammadi in partial fulfillment of the requirements for the course ELG 5100

  5. Tagging and Software Development Jazz When software development meets tagging Introducing IBM’s Jazz • The Jazz initiative consists of three elements: • An open platform for lifecycle tool integration • A set of products that support the Jazz platform • A vibrant community of Jazz developers, users, and business partners Dead March Jazz submitted to Professor ShervinShirmohammadi in partial fulfillment of the requirements for the course ELG 5100

  6. Work item interface in IBM’s Jazz submitted to Professor ShervinShirmohammadi in partial fulfillment of the requirements for the course ELG 5100

  7. Research Questions Research questions 1. How is the social tagging mechanism adopted by developers for annotating work items 2.Whatcharacteristics of tags are prevalent in the tagging of work items 3. What role does the tagging feature play in the work practices of individual and team developers Case study • professional development teams from IBM • Jazz development team • Enterprise Infrastructure (EI) submitted to Professor ShervinShirmohammadi in partial fulfillment of the requirements for the course ELG 5100

  8. Data Collection and Analysis Frequency of New Tag Instances • Quantitative data : Access to relevant information • Qualitative data : Aseries of interviews with developers • Only focus on the “head” of the “long tail” data submitted to Professor ShervinShirmohammadi in partial fulfillment of the requirements for the course ELG 5100

  9. Adoption of Tagging Frequency of New Tag Instances Spikes are mostly related to planning activities submitted to Professor ShervinShirmohammadi in partial fulfillment of the requirements for the course ELG 5100

  10. Characteristics of Tag Keywords Frequency of New Tag Instances Tag keywords has the shape of a “long tail” submitted to Professor ShervinShirmohammadi in partial fulfillment of the requirements for the course ELG 5100

  11. Different Kinds of Tag Keywords submitted to Professor ShervinShirmohammadi in partial fulfillment of the requirements for the course ELG 5100

  12. Different Kinds of Tag Keywords Frequency of New Tag Instances Architecture : external library Collaboration : non_code Component : presence of other categorization mechanisms Crosscutting Requirements : performance , accessibility Other Keywords : documentation, environment , planning , testing/debugging , tooling The beauty of tags HOW WHAT WHY submitted to Professor ShervinShirmohammadi in partial fulfillment of the requirements for the course ELG 5100

  13. The role of tagging • Are work item tags used for individual or collaborative use? • Why do developers tag work items and how they use? • How are tags managed? • How does a team reach consensus on the tag vocabulary? submitted to Professor ShervinShirmohammadi in partial fulfillment of the requirements for the course ELG 5100

  14. Tagging Audience: Self, Team Are work item tags used for individual and/or collaborative use? • Some developers tag to service pressing individual needs, but also will use them to support collaboration within the team. • tagging is more of a team activity than an individual one. • Tags are added by feature owners, team managers, and release managers. Interview with Jazz developer • “I don’t personally tag work items for myself that much. But I know when I was doing the testing for others and he had basically a tag for each command, so I would his conventions, cause I figured it would be easier for him. And I’m already on the work item when I’m creating it, so I would add those as I was creating them.” By Jazz Engineer submitted to Professor ShervinShirmohammadi in partial fulfillment of the requirements for the course ELG 5100

  15. Tagging Motivation Why do developers tag work items? Categorization Organization “If we’re organizing a team and we have a bunch of work items that will span different projects, tag them all together, so that I can make one query for all those types of things. by EI Developer “Organize the work items in a way that is very free form and flexible .I can write queries that fit what is looking for rather than the 1,700 different fields that there are and trying to figure that out tag stuff is nice and free form” by EI developer • Predominant reason • Useful for capturing varying viewpoints • Organization achieved through tags is different from other categorization mechanisms How do developers use tags? Information Exchange Finding work items “I use [tags] to categorize things basically, so I can have queries and find things. I’m afraid of losing work items if they aren’t tagged.” by Jazz Administrator • tag keywords played an awareness role in informing others and being informed • about work items submitted to Professor ShervinShirmohammadi in partial fulfillment of the requirements for the course ELG 5100

  16. Tag Management How are tags managed? Keeping track of tags • Externalized lists of tag keywords to maintaining some consistency around tag used • A mechanism by a new team to learn which tags were used in a project Removing tags • be reluctant to do so when faced with possibilities for removing tags • developers consider owners of work items should manage and remove tag instances on those work items • “I would only [remove tags] if I attached the tag to the work item or if I owned • the work item. I wouldn’t want to mess with—I don’t know—someone else’s categorization” • by Jazz- Developer. • Not very often happens • “If I don’t like the way somebody tagged it or there’s a better tag for one that • they used, I’d remove it and add another one. But that doesn’t actually happen terribly often.” by Jazz-Component leader submitted to Professor ShervinShirmohammadi in partial fulfillment of the requirements for the course ELG 5100

  17. How does a team reach consensus on the tag vocabulary? Vocabulary Consensus • Explicit and direct way • Emails, meeting that an explict consensus for the planning tag keywords. • Particularly important for the planning tag keywords • Don’t use too many acronyms,for example ,do not use “perf”, instead use “performance” • Tolerance for variation • Tolerance for some variation in keywords . • Ambiguity of tag keywords ,use of synonyms may lead to problems, but interview do not reveal such issues. submitted to Professor ShervinShirmohammadi in partial fulfillment of the requirements for the course ELG 5100

  18. Limitation and improvement of the research method Limitations Improvements • try to confirm their findings with other development teams(EI) that are much larger than the Jazz team. • Research Method • the Jazz developers might be biased toward their own tool and their usage pattern might be different from other developers; • focus on the most frequently used ones, but considered all tag keywords mentioned during the interviews • Analysis • only analyzed the “head” of the “long tail” of the tag distribution that accounts for 80 percent of all tag instances. There may have been very important categories in there that should be examined. • asking about specific tag keywords and instances in their interviews, • reading the summaries and descriptions of the corresponding work items, follow-up e-mails to their participants • Interpretation • interpretation of the tag categories could have potential errors. • Small size data pool • Jazz is still new and it is one of the first software development environments supporting tags for developmenttasks • As more projects adopt Jazz or other development environments adopt tagging, additional studies should be conducted to gain further insights into the use of tags in software development submitted to Professor ShervinShirmohammadi in partial fulfillment of the requirements for the course ELG 5100

  19. Implications on Tool design 1 4 Tag property add to other artifacts Offer management for tags on work items. • source files, test cases, requirement documents. • For synonymous keyword, folding would be beneficial 2 5 Display tag authors with tag instances Add externalizing tags • The author cannot recognized the tags they built before on the interview. • Info about tag keywords and instances, their authors, corresponding work items, the time of tag creation 6 Suggest Tags for incoming work items 3 The optional description should be added • Suggest Tag keywords that extensively been used • Planning related keywords. • Keywords been applied to work items in the same category. • No obvious meaning for some tag keywords. • When a new keyword is introduced , a dialogue could ask for an optional description. submitted to Professor ShervinShirmohammadi in partial fulfillment of the requirements for the course ELG 5100

  20. Future Work Realistic Blueprint Analysis tags in informal processes Tagging may play an important role beyond work items Concrete suggestion for tool improvement Future work lies in the examination of the benefits of social computing mechanisms in other areas of software development Show how social Computing mechanism of tagging has been adopted submitted to Professor ShervinShirmohammadi in partial fulfillment of the requirements for the course ELG 5100

  21. Thank you for listening!

More Related