1
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
April 12, 2020
Dr. Scott Henninger
CMSC 838y
Department of Computer Science
University of Maryland
3
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
April 12, 2020
4
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
April 12, 2020
5
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
April 12, 2020
6
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”
April 12, 2020
External
Advancements
Tool uvw
Project xyz
Domain
Analyst
7 tasks reusable artifacts value-added artifacts design guidelines n o v e l d o m a in
Project abc re pe at ed
d om ai n mature domain
Application
Developer
Tool
Designer
Critic: the inf rastructur e does not support
automatic updating fr om the m ainfr ame
to P C wor kstations
Command: Show all value-added com ponents
Command: Add component x-u1823.y
Command:
Command: Cr eate code
April 12, 2020
8
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
April 12, 2020
9
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
April 12, 2020
10
April 12, 2020
11
Artifacts associated with cases
attach documents to a case
• upload to server
• download via HTTP
Resources Tab
April 12, 2020
12
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
April 12, 2020
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
13
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
April 12, 2020
14
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
April 12, 2020
15
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
April 12, 2020
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.”
16
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.
April 12, 2020
17
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.
April 12, 2020
18
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
April 12, 2020
19
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
April 12, 2020
20
Process captured as decision points
project requirements captured as question/answer pairs assign activities based on answers
April 12, 2020
21
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
April 12, 2020
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.
22
Beyond the expert system paradigm
rules as a resource for human action collaborative creation of rules
April 12, 2020
Domain Cases
BORE
Repository
Domain
Rules cases
SPG Review
External sources of process modification
Tailoring Factors
Customized P roject
Activities
Project Review
Modified Activities
24
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
April 12, 2020
25
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
April 12, 2020
26
Same as editing a project
in “Domains” resource
Initial questions
Options tab
April 12, 2020
27
Rules Manager
choose domain edit existing rule or create a new one separate windows for editing preconditions, actions
April 12, 2020
28
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
Button design
want to be able to see rule for Web pages chains
Web page navigation from
cho osin gan
erefr ont com me rce
sto e-Comm erce
Storefront
How many categories of items will be presented to users?
0-3
>3
How many items will be available for purchase?
1-20
21-75
> 76
How many steps are needed in the purchase procedure?
1-2
3-10
>10
Top and bottom navigation buttons
Fram e-based Web page navigation
Will category or procedure list fit in a top frame (800 pixels max)?
Yes
No
Will there be links to Web sites outside the custom er's?
Yes
No
Top Frame lists
Left-hand side
Fram e lists
Navigating to sites
29
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
April 12, 2020
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
30
Empirical Studies
diary study of software development organization contextual inquiries
April 12, 2020
31
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)
April 12, 2020
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
32
Develop design for applying patterns
how BORE would need to change some concrete examples
April 12, 2020
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
33
Develop a DODE example
using JavaBeans or a similar component technology
April 12, 2020
34
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
April 12, 2020
35
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
April 12, 2020
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
36
Review Process
elaboration on how reviews are conducted, etc.
guidelines for how and when knowledge should evolve
April 12, 2020
37
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
April 12, 2020
38
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
April 12, 2020
39
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
April 12, 2020