Stand on Others Shoulders Knowledge Sharing - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

Stand on Others Shoulders Knowledge Sharing

Description:

Current IDEs provide only explicit knowledge. Ex. Resolving ... Intelligent IDEs are needed to support. Advanced error handling. reuse and collaboration ... – PowerPoint PPT presentation

Number of Views:37
Avg rating:3.0/5.0
Slides: 18
Provided by: nare1
Category:

less

Transcript and Presenter's Notes

Title: Stand on Others Shoulders Knowledge Sharing


1
Stand on Others Shoulders! Knowledge Sharing
Software Development
  • N. Rammohan

2
Introduction
  • For efficient, fast, and high quality software
    development
  • Communication and diffusion of information is
    very important
  • Effective experience sharing
  • Current software development model is distributed
    (because of outsourcing)
  • So increased importance to above factors

3
Need for it- example1
  • Task- test the new s/w build on h/w platform
  • Known general procedure
  • Step-1 Load the build onto the h/w
  • Step-2 Load some configuration file
  • Step-3 Run and test for minimum requirements
  • But for a certain base build, certain h/w, it was
    not working!!
  • Tested in all known ways
  • Took more than two weeks because
  • Problem- Just run extra script after step-2
  • It takes just one second!!
  • It happened in Qualcomm- a big MNC
  • What about open-source communities?

4
Example-2
  • Working with latest code uploaded to server
  • Uses some new database engines
  • Have run into unsuitable driver problems
  • Tried in all possible known ways
  • After lot of effort, the issue was found
  • a wrong JDK version was used!!
  • This kind of experience can be captured
    automatically and re-used elsewhere
  • When the same code and JDK version is used

5
Contd
  • Interdependence of all s/w components
  • Difficult to isolate the source of error-
    experience matters
  • To solve a problem
  • Users 99 of the times try to do permutations of
    all things they know
  • Trial-and-run experiments
  • But there may be something that somebody knows
    which can solve the problem instantly
  • Benefit from reusing ve or ve exps of others
  • Management of who knows what knowledge is very
    critical in corporate s/w development projects

6
Contd
  • But users may not be willing to document their
    experiences
  • Automatically capture and disseminate such
    knowledge
  • Two kinds of knowledge
  • Explicit knowledge, which exists in the form of
    formal artifacts such as documents or source
    code.
  • Currently, they are buried in private workspaces
    and not available for interested peers.
  • Implicit knowledge, that gets seldom formalized
    such as how to resolve a certain error.
  • Part of this knowledge can be captured
    automatically (such as an error and subsequent
    steps that try to resolve it).
  • There should be a way for the users to document
    them with minimum effort
  • Current IDEs provide only explicit knowledge
  • Ex. Resolving syntactical ambiguities in code
  • Intelligent IDEs are needed to support
  • Advanced error handling
  • reuse and collaboration

7
Goals
  • A plug-in into the Integrated Development
    Environment
  • Monitors users all coding and development
    activities
  • Retrieves and stores knowledge
  • Gives recommendations based on past users and
    OTHERS knowledge
  • Makes software dev more robust, fun, powerful
  • Ideally you never repeat the problems faced by
    others!!
  • You are not alone in coding- watched by all peers
    through their knowledge bases
  • Intelligent IDE- resolves some non-trivial
    semantic errors automatically

8
Existing solutions
  • Centralized units for organizational learning
  • Proved to be useful for large s/w companies only
  • Not optimal for open source dev, distributed dev
  • It eliminates contextual aspects of knowledge and
    creates a general representation and provides a
    knowledge package
  • Contextual aspects are very important to capture
    users personal and working contexts
  • Knowledge which is not useful to one (e.g., for
    an expert) may be useful for others (e.g., for a
    novice)
  • Universal representation of knowledge is very
    difficult

9
Existing solutions (Contd)
  • Lightweight knowledge storing approaches
  • Often NOT integrated into IDE
  • Based on Community of Practice (CoP)
  • Social learning among people with common interest
    in some subject or a problem
  • Ex. Weblogs, wikis
  • Issues
  • Wiki becomes increasingly useless overtime
  • They collect more and more unstructured knowledge
    without a chance to find anything useful
  • An appropriate usage methodology and powerful
    search mechanism are needed

10
What a good solution should have?
  • Represent knowledge in highly reusable form
  • Knowledge relevant for s/w dev is hard to be
    formalized w.r.t its efficient reuse
  • Should consider knowledge levels of different
    users
  • Info relevant for one could be very relevant for
    others because of different exp levels
  • Contextual info is very important
  • Should consider distributed s/w dev model
  • Very imp because of increased outsourcing and
    open-source dev model
  • Consider heterogeneity of used vocabularies
  • Should include personalized proactive recommender
  • Context-sensitive semantic search

11
How?
  • The semantic technologies
  • Associations between meanings (interpretations)
    and data, to be known and processed at run time
  • Improved search
  • Discovery and content provisioning
  • Dynamic integration across distributed systems
  • Used in making Semantic Web
  • A machine understandable web with smart data
  • Context observer- extracts the working context of
    the user

12
Contd
  • Semantic recommendation
  • Delivers knowledge items based on actual working
    and personal context of the user
  • Assume purely distributed user community
  • So p2p infrastructure for decentralized
    communication among local knowledge systems
  • When to search local databases and when to extend
    it to the global network is an issue
  • And finally the Knowledge Desktop
  • Users interface to the system

13
Tightening knowledge sharing in distributed
software communities by applying
semantic technologies
14
Players
15
?
  • Questions are always guaranteed but not the
    answers!

16
A prepackaged knowledge system with centralized
storage- example
17
What we aim for?
Write a Comment
User Comments (0)
About PowerShow.com