may 20, 2015 1 schedule today v bore lecture v discussion of projects tomorrow (1112 avw) v...

39
June 20, 2022 1 Schedule Today BORE lecture discussion of projects Tomorrow (1112 AVW) Haiying on Answer Garden and associated systems discuss projects April 18 (1112 AVW) Erica on learning from failure, case-based reasoning April 25 (1112 AVW) Weiwei on software agents

Upload: ralf-hawkins

Post on 18-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

April 18, 20231

Schedule

Today BORE lecture discussion of projects

Tomorrow (1112 AVW) Haiying on Answer Garden and associated systems discuss projects

April 18 (1112 AVW) Erica on learning from failure, case-based reasoning

April 25 (1112 AVW) Weiwei on software agents

Page 2: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

Building an Building an Organizational Organizational Repository of Repository of

Experiences (BORE)Experiences (BORE)

Dr. Scott HenningerCMSC 838y

Department of Computer Science

University of Maryland

Page 3: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

April 18, 20233

Overview

BORE concepts creating a repository of best practices using process to deliver information

The BORE system and methodology tailoring process to project needs delivering resources and best practices

Possible projects feature design empirical studies application of the tool & methodology

Page 4: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

April 18, 20234

Overall Principles

Software development is a knowledge intensive activity

knowledge from many different domains• no longer a programmer and a programming language

exceeds the capacity of any individual to fully understand a given development effort

Much of the requisite knowledge is: domain-specific organization-specific less project-specific than people believe

• don’t have to start from a blank sheet of paper

Page 5: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

April 18, 20235

Overall Goals

Tools supporting sustained learning communities

software development as a community of practice capturing and using knowledge generated by the community

Knowledge management more like building on existing knowledge

• not just manage what already exists have also used “organizational learning”

• loaded term for MIS

Page 6: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

April 18, 20236

BORE Overview

Building a Organizational Repository of Experiences (BORE)

using process to organize and manage knowledge• delivering best practices

capturing the context for using different techniques support process diversity through rule-based tailoring

Process adaptation deviation process when current rules/tasks don’t apply

• create new activity, encode rationale in rules allow subsequent projects to use tailored processes

• i.e. follow the precedent allow the SDM to grow “organically”

Page 7: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

April 18, 20237

Project abc

tasks

reusable artifacts

design guidelines

Domain Analyst

Tool Designer

value-added artifacts

Critic: the infrastructure does not support automatic updating from the mainframe to PC workstations

Command: Show all value-added components Command: Add component x-u1823.y Command: Command: Create code

Tool uvw

Project xyz

External Advancements

mature domain

Application Developer

The Domain Lifecycle

Page 8: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

April 18, 20238

The Domain Lifecycle

Model of how knowledge evolves (red) incremental formalization

Model of how it is used (blue) increasing levels of support for designers

Anderson Consulting rules: find best practices schools: package and teach the accumulated knowledge tools: embed the knowledge in tools

Page 9: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

April 18, 20239

Early BORE

Essentially an organizational memory case-based architecture capture project experiences

Case-based repository hierarchical representation of project activities instantiation of activities are a cases

• problem and solution statement

• document context-specific information

Individual experiences captured as cases i.e. situation-specific knowledge first step in the domain lifecycle

Page 10: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

April 18, 202310

BORE Project Interface

Page 11: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

April 18, 202311

Organizing Knowledge

Artifacts associated with cases attach documents to a case

• upload to server

• download via HTTP Resources Tab

Page 12: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

April 18, 202312

Experiences with BORE

Used in software engineering classes (‘98-’99) document project activities no defined process

Pilot study at Union Pacific Railroad (‘98) limited comments on usefulness very little detail

Results were as expected - nothing not much information captured

• not enough detail to “reuse” the experience didn’t understand what needed to be documented viewed as an extra step

• just a documentation medium

Page 13: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

April 18, 202313

Process as Knowledge Management

Repository needed to be more proactive more than a discretionary tool mandated as part of everyday activities

KM as information retrieval build a repository and let people search people need to know that knowledge exists

• …and when/where to look for it

KM as information delivery i.e. a push model agent model: watch people’s behavior

• make inferences about what information they need• can be effective in limited domains

problem: how to infer people’s behavior

Page 14: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

April 18, 202314

Process as KM (con’t)

Applying knowledge to the task at hand Information Delivery

• Did You Know: inappropriate timing applicability conditions for knowledge

• Critics: on-task delivery, too late for planning rule-based paradigm

• rules determine applicability conditions

BORE has a different model define information sources at points in the process use process to organize and manage knowledge workflow as information delivery

Page 15: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

April 18, 202315

Software Process Improvement Initiatives

Define the activities for a software project standard definition not a workflow, more a listing of activities

• projects should use configuration management, for example normally delivered as a document

• or series of documents

High-level activities must address the least common denominator complexity is an issue

• …when viewed as a monolithic document little support for how the activity should be carried out

Page 16: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

April 18, 202316

Examples of Process Activities

CMM key practices “The project follows a written organizational policy for planning

and implementing a risk management program.” “A risk assessment is performed early in the project life cycle

using a defined process.”

NASA Goddard Develop a system, software and operations concept.

• It is recommended that the Team develop system, software and operation concepts if they do not already exist.

Code New Modules• Team members shall code new modules from the low-level design,

using the coding standards or conventions specified in the Software Management Plan (see paragraph 6.1). This activity also includes implementing tailoring and configuration of COTS/GOTS components.

Page 17: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

April 18, 202317

Problems with Software Process

Not seen as a knowledge delivery and capture mechanism

no good way to organize knowledge generated by individual development efforts

BORE cases aim to do this

Often seen as a definition effort review of the process is normally part of the process I.e. process refinement is part of the process …but few mechanisms to do this

Not a resource for developers only managers need to be concerned with them no support for developers, testers, etc.

Page 18: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

April 18, 202318

BORE Process Goals

More than a conformance tool also deliver information when it is needed

Capture and disseminate best practices use process to show how others have performed the activities building an organization-specific knowledge base

Flexible to meet different levels of detail both managers and development personnel

Page 19: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

April 18, 202319

Overall Approach

Process tailoring define applicability rules for activities “if there are significant technical risks”

• “document the risks, perform prototyping activities”

Flexible software process SDM as a repository of best practices more detailed knowledge than SDMs

• capture more than the least common denominator supporting process diversity

• tailor SDM to specific project needs document project-specific issues use assigned tasks to disseminate knowledge

Page 20: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

April 18, 202320

Process Tailoring

Process captured as decision points project requirements captured as question/answer pairs assign activities based on answers

Page 21: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

April 18, 202321

Process Tailoring

Allows flexible process definition can go beyond one size fits all different type of projects can incorporate more detail

• without affecting other types of projects

Allows more complex process definition project manager doesn’t need to know everything just what is necessary for their project

Iterative disclosure of detail any case can have process decisions decisions define increasingly detailed project tasks

Page 22: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

April 18, 202322

Modifying the Process Model

Tailor the SDM to specific project needs– deviation process when current rules/tasks don’t apply

» i.e. a “breakdown” requiring new actions

» new domain activity to describe the task

» rules for tailoring (encode rationale for the deviation) allow subsequent projects to use tailored processes

• i.e. set a precedent

• match problem to specific context allow the SDM to grow “organically”

• ...as new problems are encountered, technology evolves, etc.

Beyond the expert system paradigm rules as a resource for human action collaborative creation of rules

Page 23: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

BORE MethodologyTailoring Factors

Domain Cases

DomainRules

BORERepository

Customized ProjectActivities

Modified Activities

SPG Review

cases

External sourcesof processmodification

Project Review

Page 24: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

April 18, 202324

BORE Knowledge Editing

Create a domain set of activities rules for when activities are assigned to projects

Create activities hierarchical set of activities treated as a project in the Case Manager

Create rules preconditions actions

Page 25: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

April 18, 202325

BORE Domains

Domain activities case-based paradigm

• “principles” contain general rules or knowledge

• cases specialize the principles domain activities play the role of principles projects belong to a domain

• domain defines all activities for that domain

Rule-based engine preconditions: question/answer pairs actions: assign tasks, question stack

Page 26: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

April 18, 202326

Domain Activities

Same as editing a project in “Domains” resource

Initial questions Options tab

Page 27: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

April 18, 202327

Creating Rules

Rules Manager choose domain edit existing rule or

create a new one separate windows for

editing preconditions, actions

Page 28: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

April 18, 202328

Problems With BORE Rule Editing

Difficult to edit existing rules can’t find all rules having a given precondition can find all rules with an action

No good way to get context

How many items will beavailable for purchase?

1-20 21-75 > 76

Web page navigation

e-CommerceStorefrontfrom choosingan e-

commerce storefront

Frame-based Webpage navigation

Top and bottomnavigation buttons

How many steps are needed inthe purchase procedure?

1-2 3-10 >10

How many categories of itemswill be presented to users?

0-3 >3

Navigating to sitesoutside of the Web

site

Left-hand sideFrame lists

Top Frame lists

Will category or procedure list fitin a top frame (800 pixels max)?

Yes No

Button designfor Web pages

Will there be links to Web sitesoutside the customer's?

Yes No

want to be able to see rule chains

Page 29: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

April 18, 202329

Current System Status

BORE prototype http://cse-ferg41.unl.edu/bore.html

• ==> Bore v. 3.2 log in as ‘guest’

Just a prototype... documentation is lacking currently only works on Communicator

• most works on IE, but some problems no application security current rule engine, interface need work document management needs Web-based upload

Page 30: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

April 18, 202330

Project Ideas

BORE feature designs applying case-based planners apply to pattern languages Domain-Specific Design Environments deviation rationale experience factory and EMS

Case Studies apply BORE to a software process

• create a BORE domain, assess shortcomings GSFC (??), CMM compliance

Empirical Studies diary study of software development organization contextual inquiries

Page 31: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

April 18, 202331

Case-Based Planners

General idea view process/workflow as a planning activity retrieve past plans based on similarity measures

Collaboration with Nau et al. some interest to apply their planner to BORE

• and vice-versa meeting on Thursday to explore further

Integration of rule and case-based system some work on this already (SiN)

Page 32: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

April 18, 202332

Pattern Languages

General idea document known solutions to recurrent problems also document the context put patterns together in a pattern language

General idea is similar to BORE similar documentation format

Usability patterns currently a hot topic in HCI integrates technical and aesthetic domains

Develop design for applying patterns how BORE would need to change some concrete examples

Page 33: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

April 18, 202333

Domain-Specific Design Environment

Aka Domain-Oriented Design Environment (DODE)

environment for creating product families third step in the domain lifecycle similar to O-O frameworks

General process developer steps through questions

• some percentage of system automatically created develop rest of the system

• creating the requirements in rule Q/A pairs when finished have another path through the rule system metaphor: extensible wizard

Develop a DODE example using JavaBeans or a similar component technology

Page 34: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

April 18, 202334

Deviation Rationale

Design the process of deviating from the standard

use as “opportunity for learning” have people document the rationale for the deviation create new activities

Capture rationale in activities, rules may want to have a text format that is then turned into rules by BORE curators

Page 35: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

April 18, 202335

Experience Factory

Integrating metrics into BORE choosing metrics tools to collect metrics metric reporting

Look into integrating with EMS EMS - packaging experiences and finding similar ones some features complementary with BORE

Integrating BORE and EF ideas comparative literature study suggest some integration activities maybe use CeBASE project to organize

Page 36: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

April 18, 202336

Case Studies

Goddard ISC Software methodology current focus on ISO 9000 compliance pilot study using BORE

• use in small project not on critical path problem: can this be started within a week? map CMM to Goddard ISC

Assess CMM compatibility choose one of the CMM-SW models detailed analysis of how BORE addresses the KPAs, etc. how it would need to be extended

Review Process elaboration on how reviews are conducted, etc. guidelines for how and when knowledge should evolve

Page 37: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

April 18, 202337

Empirical Studies

Diary study of software development organization

have people write down certain activities• focus on a key question

for ex: all knowledge management activities analyze for trends etc.

Contextual inquiries essentially an interviewing technique people abstract in interviews follow people around for a half day (or more)

• record activities (video or audio) transcribe activities and analyze

• “people say they do x, but they do a lot to get there” again, focus on a specific activity - knowledge management

Page 38: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

April 18, 202338

BORE Project Process

Choose a topic choices discussed today

Literature review breadth-first search of literature choose a subset to concentrate on

Requirements document through use cases, scenarios, flow of events use mock-ups

Design UML activity and class diagrams need some understanding of BORE system

Page 39: May 20, 2015 1 Schedule  Today v BORE lecture v discussion of projects  Tomorrow (1112 AVW) v Haiying on Answer Garden and associated systems v discuss

April 18, 202339

Study Project Process

Choose a topic choices discussed today

Literature review learn about method, collect materials choose study topic to concentrate on

Design and perform study study software developers populate BORE domain

Analysis report results discuss findings