Submitted to Professor Shervin Shirmohammadi in partial fulfillment of the requirements for the...
-
Upload
litzy-umphlett -
Category
Documents
-
view
231 -
download
3
Transcript of Submitted to Professor Shervin Shirmohammadi in partial fulfillment of the requirements for the...
submitted to Professor Shervin Shirmohammadi in partial fulfillment of the requirements for the course ELG 5100
SITE, University of Ottawa
ELG 5100
By
Yitong Du(7436571)
Tianyu Su (7475378)
Nov 11,2013
Work Item Tagging
——Communicating Concerns in Collaborative Software Development
content
Characteristics of Tag Keywords Different Kinds of Tag Keywords The role of tagging
Case study
Adoption of Tagging
Tagging and Software Development
Research Questions
Advice on Tool designFuture Work
Social Aspects in Software Development
submitted to Professor Shervin Shirmohammadi in partial fulfillment of the requirements for the course ELG 5100
Limitation and improvement
Social Aspects in Software Development
• dealing with strategic and cultural issues• longer development times when coordinating with remote colleagues • dealing with communication breakdowns • Unclear dependencies, circular dependencies, schedule changes• managing plan failures
• issue tracking systems• visualization tool for task• mining and analyzing quantitative data to reveal information • predict future behaviors
Software development are more than writing source code
Earlier researches
submitted to Professor Shervin Shirmohammadi in partial fulfillment of the requirements for the course ELG 5100
Tagging and Software Development
•Tags in social networks Facebook, YouTube, Flickr
• The bottom-up nature of tags Not predefined, # tags per item
Tagging System(Informal)
Classification mechanisms (Formal)
The success of tags
submitted to Professor Shervin Shirmohammadi in partial fulfillment of the requirements for the course ELG 5100
Tagging and Software Development
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
Introducing IBM’s Jazz
Dead March Jazz
When software development meets tagging Jazz
submitted to Professor Shervin Shirmohammadi in partial fulfillment of the requirements for the course ELG 5100
Work item interface in IBM’s Jazz
submitted to Professor Shervin Shirmohammadi in partial fulfillment of the requirements for the course ELG 5100
1. How is the social tagging mechanism adopted by developers for annotating work items2.What characteristics of tags are prevalent in the tagging of work items3. What role does the tagging feature play in the work practices of individual and team developers
Research questions
professional development teams from IBM
1. Jazz development team2. Enterprise Infrastructure (EI)
Case study
Research Questions
submitted to Professor Shervin Shirmohammadi in partial fulfillment of the requirements for the course ELG 5100
Data Collection and Analysis
Frequency of New Tag Instances
submitted to Professor Shervin Shirmohammadi in partial fulfillment of the requirements for the course ELG 5100
• Quantitative data : Access to relevant information• Qualitative data : A series of interviews with developers• Only focus on the “head” of the “long tail” data
Adoption of Tagging
Frequency of New Tag Instances
Spikes are mostly related to planning activities
submitted to Professor Shervin Shirmohammadi in partial fulfillment of the requirements for the course ELG 5100
Characteristics of Tag Keywords
Frequency of New Tag Instances
Tag keywords has the shape of a “long tail”
submitted to Professor Shervin Shirmohammadi in partial fulfillment of the requirements for the course ELG 5100
Different Kinds of Tag Keywords
submitted to Professor Shervin Shirmohammadi in partial fulfillment of the requirements for the course ELG 5100
Different Kinds of Tag Keywords
Frequency of New Tag Instances
The beauty of tags
Architecture : external libraryCollaboration : non_codeComponent : presence of other categorization mechanismsCrosscutting Requirements : performance , accessibilityOther Keywords : documentation, environment , planning , testing/debugging , tooling
HOW WHAT WHY
submitted to Professor Shervin Shirmohammadi in partial fulfillment of the requirements for the course ELG 5100
Why do developers tag work items and how they use?
How are tags managed?
The role of tagging Are work item tags used for individual or collaborative use?
How does a team reach consensus on the tag vocabulary?
submitted to Professor Shervin Shirmohammadi in partial fulfillment of the requirements for the course ELG 5100
Tagging Audience: Self, Team
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
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.
submitted to Professor Shervin Shirmohammadi in partial fulfillment of the requirements for the course ELG 5100
Tagging Motivation
“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 outtag stuff is nice and free form”
by EI developer
“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
OrganizationCategorization• Predominant reason• Useful for capturing varying viewpoints
Why do developers tag work items?
• Organization achieved through tags is different from other categorization mechanisms
submitted to Professor Shervin Shirmohammadi in partial fulfillment of the requirements for the course ELG 5100
“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
Finding work items• tag keywords played an awareness role in
informing others and being informed about work items
Information ExchangeHow do developers use tags?
Tag Management
• 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
How are tags managed?
• 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 thatthey used, I’d remove it and add another one. But that doesn’t actually happen terribly often.” by Jazz-Component leader
Keeping track of tags
Removing tags
submitted to Professor Shervin Shirmohammadi in partial fulfillment of the requirements for the course ELG 5100
Vocabulary ConsensusHow does a team reach consensus on the tag vocabulary?
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 Shervin Shirmohammadi in partial fulfillment of the requirements for the course ELG 5100
Limitation and improvement of the research method
Research Method• the Jazz developers might be biased toward their own tool and their
usage pattern might be different from other developers;
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.
Small size data pool• Jazz is still new and it is one of the first software development
environments supporting tags for development tasks
Limitations
Interpretation• interpretation of the tag categories could have potential errors.
• focus on the most frequently used ones, but considered all tag keywords mentioned during the interviews
• try to confirm their findings with other development teams(EI) that are much larger than the Jazz team.
• 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
• 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
Improvements
submitted to Professor Shervin Shirmohammadi in partial fulfillment of the requirements for the course ELG 5100
Implications on Tool design
Tag property add to other artifacts1
• source files, test cases, requirement documents.
Display tag authors with tag instances
2
• The author cannot recognized the tags they built before on the interview.
The optional description should be added
3
• No obvious meaning for some tag keywords.• When a new keyword is introduced , a
dialogue could ask for an optional description.
Offer management for tags on work items.
4
• For synonymous keyword, folding would be beneficial
Add externalizing tags 5
• Info about tag keywords and instances, their authors, corresponding work items, the time of tag creationSuggest Tags for incoming work items
6
• Suggest Tag keywords that extensively been used• Planning related keywords.• Keywords been applied to work items in the
same category.
submitted to Professor Shervin Shirmohammadi in partial fulfillment of the requirements for the course ELG 5100
Analysis tags in informal processes
Show how socialComputing
mechanism oftagging has been
adopted
Future work lies in the examination of
the benefits of social computing mechanisms in other areas of
software development
Tagging may play an important role beyond work itemsConcrete suggestion
for toolimprovement
Blueprint Realistic
submitted to Professor Shervin Shirmohammadi in partial fulfillment of the requirements for the course ELG 5100
Future Work
Thank you for listening!