TEAM System - PowerPoint PPT Presentation

1 / 35
About This Presentation
Title:

TEAM System

Description:

Software development is a collective, complex, and creative effort ... framework for knowledge-sharing in IDEs, its prototype implementation has been ... – PowerPoint PPT presentation

Number of Views:46
Avg rating:3.0/5.0
Slides: 36
Provided by: mle74
Category:
Tags: team | ides | system

less

Transcript and Presenter's Notes

Title: TEAM System


1
TEAM System
2
The need for TEAM system
  • Software development is a collective, complex,
    and creative effort
  • Usually, developers rely on personal knowledge
    and experience, on their gut feeling
  • But as software development projects grow larger,
    it becomes a group activity where individuals
    need to communicate and coordinate
  • Individual knowledge has to be shared and
    leveraged at a project and organization level

2
3
What is the TEAM system?
  • The goal of the TEAM project is to develop a
    knowledge management system that supports
    software developers in coding activities
  • The TEAM system makes a contribution to the
    solution of concrete problems in coding, namely
    error handling and component reuse
  • It enables distributed teams to become more
    effective by reusing/learning from each others
    experiences

3
4
What is the TEAM system?
  • The real power of the TEAM system lies in
    supporting the whole knowledge management process
  • TEAM can be considered as integrated collection
    of services that facilitate software development
    activities by
  • capturing
  • storing
  • disseminating
  • reusing knowledge
  • created during software development

4
5
Knowledge Management Cycle
Probst et al.
The general purpose of KM is to make knowledge
usable for more than one individual, e.g. for an
organisation as a whole that is, to share it
6
Knowledge Goals
  • Knowledge goals point the way for knowledge
    management activities
  • The building block deals with the creation of a
    knowledge-sensitive corporate culture, in which
    sharing and development of know-how create the
    preconditions for effective knowledge management
  • It also ensures that knowledge goals will be
    translated into action

6
7
Knowledge Goals in TEAM
  • Based on the as-is analysis and the input
    provided by the industrial partners, it was
    decided that the TEAM project will support two
    areas
  • error-handling
  • re-use of components
  • This has been done by
  • exploiting and integrating existing information
    and collecting new knowledge
  • providing easy, rapid access to distributed
    knowledge
  • eliminating time and space constraints in
    communications through automatic provision of
    knowledge relevant for a given user context
  • stimulating people to share knowledge and to use
    shared knowledge

7
8
Knowledge Goals in TEAM
  • To gain developer acceptance, the TEAM system has
    been integrated into the software development
    process
  • This allows collecting and storing relevant
    knowledge as it is generated in the work
  • The main advantage of integrating TEAM into an
    IDE is that KM is put into software engineers
    work
  • Coding activities occur inside the computational
    environment rather than in the external world
  • While TEAM develops a general framework for
    knowledge-sharing in IDEs, its prototype
    implementation has been done for the Eclipse IDE

8
9
TEAM in Eclipse
  • With TEAM system tightly integrated into Eclipse
    development environment, it is easier for
    software developers to create, use, share, etc.
    knowledge
  • Its actions, menus and preferences are located in
    the respective locations within the working
    environment
  • Several buttons in Toolbar
  • TeamWeaver menu in the Eclipse menu
  • Eclipse Preferences dialog
  • Eclipse Search dialog
  • Eclipse Help

DEMO! Installation process.avi
9
10
Knowledge Identification
  • Knowledge is information combined with
    experience, context interpretation and reflection
  • It is a high-value form of information that is
    ready to be applied in decisions and actions
  • Knowledge management seeks to turn data into
    information, and information into knowledge
  • Formal knowledge can be expressed in a structured
    form, and easily communicated and shared
  • E.g. software engineering methods, document
    templates, components, software artefacts
  • Informal knowledge is highly personal and hard to
    formalize, making it difficult to share with
    others
  • E.g. lessons learned that are gained as a result
    of the work of the organization itself and that
    describe both successful reports and problems

10
11
Knowledge Identification in TEAM
  • Knowledge management requires both a shared
    language and a good fit with concepts that
    already exist in the organization
  • TEAM ontologies define the shared vocabulary that
    are used to facilitate annotation, communication,
    search, storage, and representation of
    information
  • Knowledge artefacts are interlinked, combined and
    referenced
  • TEAM ontologies constitute the glue that binds
    the TEAM components together

11
12
Initial TEAM Ontologies
13
Refinement of TEAM Ontologies
  • Methodology used
  • Comparison of TEAM Ontologies with gold
    standard ontologies from the bibliography
  • Evaluation through their useage and feedback from
    end-users
  • Refinement and tests for correctness and logical
    consistency

13
14
Refinement of TEAM Ontologies
  • Annotation Ontology
  • Several classes were imported to support the
    annotation process
  • Refinement done in existing classes in order to
    be aligned with the new annotation hierarchy

15
Refinement of TEAM Ontologies
  • Knowledge Artefact Ontology
  • Renamed as Artefact
  • A major refinement was performed in order to
    align it with the Interaction Ontology

16
Refinement of TEAM Ontologies
  • Problem Solution Ontology
  • A number of classes were inserted following
    end-user feedback
  • Additional Properties were also defined

17
Refinement of TEAM Ontologies
  • Interaction Ontology
  • Refinement lead to a more extended, rich taxonomy
    in both general (Read, Change, etc) as well as SW
    development interactions (InvocateMethod,
    changeParameter, etc.)

18
Refinement of TEAM Ontologies
  • Organisation Ontology
  • Classes added to represent clearly the
    organisation structure of end-users

19
Refinement of TEAM Ontologies
  • Ontologies produced by the TEAM capture the
    concepts and the definitions as understood by a
    variety of diverse end-users and experts
  • Ontology creation and refinement is a rather
    time-consuming, error-prone procedure.
  • There is no panacea, not a single method to
    evaluate and refine an ontology but a combination
    of several methods should be employed in order to
    achieve good results
  • Ontologies are living artifacts which are subject
    to change. New information which was previously
    unknown may be discovered or different features
    of the domain may become known or important
  • Ontology development is an ongoing process and
    the refinement task will permit TEAM ontologies
    to evolve

20
Knowledge Acquisition
  • Knowledge acquisition denotes the satisfaction of
    organizational knowledge needs from internal or
    external sources
  • Knowledge acquisition is treated as
  • an investment in the present, since new, directly
    usable knowledge will be captured
  • an investment in the future, since potential
    useful knowledge already available in existing
    systems will be made accessible

20
21
Knowledge Acquisition in TEAM
  • Knowledge acquisition of new knowledge has been
    done in two modes
  • off-line acquisition of learning rules that help
    in detecting problems encountered by developers
  • Eureka study
  • on-line acquisition of knowledge through
    interpretation of an aggregated sequence of
    interaction data based on
  • developers interaction with IDE (capturing of
    context)
  • the application of learned rules (processing of
    context)
  • This is not directly visible to software
    developers but has an extraordinary effect on the
    effectiveness and efficiency

DEMO! Context Preferences.avi
21
22
Knowledge Acquisition in TEAM
  • Knowledge acquisition has been realized by
    enriching already existing artefacts (e.g. source
    code, issue tracking systems, etc.)
  • TEAM system does not replicate existing
    information, but provides explicit model
  • It has been done by creating
  • Integrated index
  • Initial knowledge base
  • Extracting metadata
  • from structured content (e.g. code structure) and
    from natural language text (e.g. comment in code
    or knowledge documents)
  • Linking metadata
  • generated metadata for various kinds of sources
    are related semantically (e.g. function names
    that are likely to appear in issue/bug reports
    are linked to the code that is involved in
    producing the bug)

DEMO! Repository crawling.avi
22
23
Knowledge Development
  • Knowledge development consists of all the
    management activities intended to produce new
    internal or external knowledge on both the
    individual and the collective level

23
24
Knowledge Development in TEAM
  • The TEAM system provides a powerful user
    interface for developing knowledge
  • Several modes of putting knowledge into knowledge
    base are supported
  • Manual creation of knowledge items based on
    entities from the TEAM ontologies
  • Annotation creation
  • An important aspect of the TEAM system is
  • the ability to annotate semantically source
    code
  • Semi-automatic annotation creation
  • The TEAM system uses information extraction
  • techniques to propose annotation
  • Wiki-based knowledge creation
  • Wiki provides lightweight and flexible mechanisms
    as well as semantics

DEMO! Knowlege Development.avi
DEMO! Manual Anotation.avi Automatic
annotations.avi
DEMO! Wiki.avi
24
25
Knowledge Distribution
  • Knowledge sharing/distribution deals with the
    efficient allocation of knowledge - i.e. how
    isolated knowledge can be made fruitful for the
    overall organization
  • In making knowledge available and usable across
    the whole organization, the critical questions
    are
  • Who should know what, to what level of detail,
    and how can the organization support these
    processes of knowledge distribution?
  • Not everyone needs to know everything!
  • Technical knowledge distribution infrastructure
    should support efficient knowledge exchange and
    connect formerly separated experts through an
    electronic network
  • P2P infrastructures make it possible for
    different participants (organizations,
    developers, or departments) to maintain their own
    knowledge structure while exchanging information

25
26
Knowledge Distribution in TEAM
  • The TEAM system fosters knowledge sharing
  • Knowledge is managed in the local machine and
    shared only with those peers that should get this
    knowledge
  • This is indeed analogous to the everyday
    practice, where developers share their
    experiences to others in mails or in informal
    discussions
  • A P2P architecture also encourages
  • the informal sharing aspects

DEMO! Network connect-policy-publish-search.avi Ne
twork setup-policy-publishing.avi Secure publish
of data and search.avi
26
27
Knowledge Preservation
  • After knowledge has been acquired or created, it
    must be carefully preserved and managed
  • Knowledge preservation is a process of
    maintaining knowledge important to an
    organizations mission that stores knowledge over
    time and provides the possibility of recall for
    the future

27
28
Knowledge Preservation in TEAM
  • The TEAM system distinguishes between
  • local (private) knowledge, which is not available
    to others and
  • public (distributed) knowledge, which is
    available to others via the TEAM P2P network
  • Knowledge is represented formally and explicitly
    based on the TEAM ontologies
  • TEAM system addresses issues of managing (i.e.
    adding, deleting, modifying, exporting/importing)
    of knowledge
  • knowledge items
  • annotations
  • wikis

DEMO! Preservation.avi
28
29
Knowledge Use
  • Knowledge use is the purpose of KM
  • It is the productive deployment of organizational
    knowledge in the working process
  • The successful identification and distribution of
    critical knowledge does not ensure its daily use
  • Without consistent use, there is a high
    probability that new knowledge systems will decay
    in quality, and the investment will be wasted
  • The potential user of knowledge has to see a real
    advantage in order to change his or her behaviour
    and adopt the knowledge

29
30
Knowledge Use in TEAM
  • The TEAM system supports knowledge use by
    providing services for
  • Visualisation
  • Searching
  • Recommendation
  • Browsing
  • Visualisation
  • The TEAM system combines transparently and
    intuitively the metadata with the TEAM ontologies
  • It enables the representation of different
    aspects of the underlying information and allows
    for easy and flexible presentations of the same
    information in two ways
  • tree-based representation
  • graph-based representation

DEMO! Knowledge Visualisation.avi
30
31
Knowledge Use in TEAM
  • The TEAM system supports many advanced methods
    for knowledge search by
  • taking into account three different types of
    search, namely keyword, structured and semantic
    search
  • integrating results from different repositories
  • (i.e. local and P2P storage)
  • ranking based on context-related information

DEMO! Search.avi Search in entire network
for public data.avi
  • Recommendation
  • Knowledge pull Developers may ask explicitly
    for support
  • Knowledge push - Since developers are often too
    busy to look for information or do not even know
    that relevant information exists, proactive
    services are provided

DEMO! Recommendation.avi
  • Experience use
  • Experience on component reuse and error

DEMO! Reuse of experience.mov
31
32
Knowledge Use in TEAM
  • Views
  • In the TEAM system developers are not only
    contributors of knowledge but also consumers
  • It is therefore crucial to provide them with
    means for interacting with this knowledge
  • The TEAM system allows navigation through
  • search results
  • recommendation results
  • existing annotations
  • WIKIs

DEMO! Views.avi
32
33
Knowledge Measurement (in TEAM)
  • The value and potential of the TEAM system as KM
    system (e.g. improving quality of the software,
    reducing time-to-market, increasing productivity,
    etc.) resides in the long-term human action and
    usage
  • TEAM will pursue the proof of concept through
    an initial measurement of the systems
    knowledge capabilities and impact on work
    practices during in the summative evaluation
  • Knowledge measurement is beyond the projects but
    NOT TEAMs scope

33
34
TEAM as a KM system
  • The goal of the TEAM is to collect knowledge the
    developers gain during software development in
    order to avoid mistakes and leverage successes in
    future projects
  • Although benefits can be derived from individual
    tools addressing separate software development
    activities, the real power of the TEAM system
    lies in supporting the whole knowledge management
    process
  • TEAM can be considered as integrated collections
    of services that facilitate software development
    activities by applying knowledge management
    paradigm in capturing, storing, disseminating,
    and reusing knowledge created during software
    process as well as in integrating existing
    sources

34
35
TEAM as a KM system
  • The expected advantages of TEAM system are
  • With TEAM system integrated into an IDE, it will
    be easier for developers to create new knowledge.
  • The TEAM system will be actively integrated into
    the work process which enables capturing
    information/knowledge during the software
    development process without developers extra
    effort
  • The users of TEAM system will not be passive
    receivers of knowledge, but rather active
    constructors of knowledge. Knowledge will be
    constructed in the context of the work
  • The TEAM system will support many advanced
    methods for knowledge search by
  • taking into account three different types of
    search
  • integrating results from different repositories
    (i.e. local and P2P storage)
  • ranking based on context

35
36
TEAM as a KM system
  • The expected advantages of TEAM system are
  • The TEAM system will allow developers not only to
    share their knowledge with other peers but also
    to suggest developers what to share
  • Since knowledge management system must provide
    the information that developers need when they
    need it, the TEAM system will play an active role
    in knowledge dissemination
  • By monitoring the actions of developers as they
    work, and informing them about potentially
    relevant knowledge for the task at hand, the
    right knowledge will be shared in the right
    moment
  • The TEAM system could be also used to better
    support management activities, such as software
    process definition, people allocation and
    estimation, etc.
  • This is out of the scope of the TEAM project

36
37
TEAM as a KM system
Phases of the knowledge management cycle
TEAM components
37
38
TEAM Components
KD provides knowledge articulation facilities,
semi-automatic metadata creation and UI for
accessing the system functionality
CS observes and interprets the developers
interaction with the developing environment
SR provides search functionality and
recommendations to solve problems the developer
encounters
MR stores schema information and metadata
and handles the connection and information
exchange with other TEAM systems in the TEAM
network
Write a Comment
User Comments (0)
About PowerShow.com