Prototype CeBASE experience base: Access to Data Mikael Lindvall Fraunhofer Center for Experimental Software Engineering Maryland
Need for Empirical Software Engineering • Software is too fragile, unpredictable (Presidential Commission,PITAC) • “No surprise” software development (NSF Workshop Report) • Software development teams need to understand the benefits and drawbacks of different technologies: • For example: • When is technique X more effective than technique Y? • What is the cost of applying technique X in this environment? • How should you tailor technique X for your environment? • Software Engineering Researchers need feedback to better understand how to evolve their techniques for practice • Software Engineering Educators need to know what to teach
CeBASE Project • The goal of the Center for empirically-Based Software Engineering (CeBASE) is to accumulate empirical models to provide validated guidelines for selecting techniques and models, recommend areas for research, and support education • A first step is to build an empirical experience base • continuously evolving with empirical evidence • to help us identify what affects cost, reliability, schedule,... • To achieve this we are • Integrating existing data and models • Initially focusing on new results in two high-leverage areas • Defect Reduction, e. g. reading techniques (see top ten issues) • COTS Based Development (see top ten issues)
ebase Contents • Goal: “one-stop” reference for empirical studies in specific areas. • Contents: A searchable database of empirical studies, with associated meta-data. • Each package describes context, raw & processed results. • Data reported with respect to a common format & definitions. • Contents: Searchable archives of development projects, with milestone artifacts and associated product/process data.
Scenario Description • A researcher is preparing to run a new study and wants to know the current state of the knowledge concerning a specific development technique. • What studies have been run? • What do the results say to date? • A practitioner is interested in a particular software development technique and wants to know: • How much evidence is there concerning the effectiveness of this technique? • How much of this evidence comes from an environment that looks like mine? • In this presentation we use the specific example of Perspective-Based Reading for requirements. • The general approach will hold for many other technologies.
2000Fall/2001Spring USC study:Package contents • Organization • Goals/ research questions • Experiment design • Experimenter’s procedure • Subject requirements • Artifacts • Technique/procedure • Training • Subject instructions • Application documents • Seeded / corrected • Results • Raw • Analyzed
Prototype CeBASE experience base: Access to Artifacts
ebase Contents • A repository of collaborators with pending projects. • projects may come from researchers, academic departments, or practitioners • the repository will be searchable • course materials will be linked to projects • Resources to support the collaboration
Scenario Description • An educator is going to be teaching a project course. • Students should work with a real customerrather than on a toy project with no real stakeholder. • A practitioner has an idea and would like to test out this idea using some testbed, but there are no local resources available. • A researcher is investigating refinements to a model that requires effort and defect data from projects. • Win-Win!
Front page to the Project Repository • Functions • Add a project • Update project information • Search for a collaborator • Submit data • Submit files • Resources • Web chat tool • WinWin tool • others ...
Prototype CeBASE experience base: Access to Lessons Learned
ebase Content • Web-enabled tool support • Database with visual query interface • Lessons collected and organized by CeBASE • Taxonomy generated bottom-up (according to the content of the lessons, as they are input) • Initially populating the repository • From literature • From expert panels • eWorkshops • International Conf. on COTS Based Software Systems (ICCBSS) - February 2002
Scenario Description • A project manager wants to find all lessons learned that are relevant to his position, addressing the business, managerial, and technical, process-related aspects of COTS based software development. • Visualize the overall contents of the repository • Find all the lessons learned that address post-deployment costs of COTS based systems • Add a new lesson learned
Welcome to the CeBASE COTS Lessons Learned Repository Overview Browse the Lessons Learned Repository Search Lessons Learned by Attribute Search Lessons Learned by Keywords Visualize Lessons Learned Repository Submit new Lesson Learned Send us feedback Back to CeBASE page
Prototype CeBASE experience base: Empirically-Based Development Process
ebase Content • Building an Organizational Repository of Experiences (BORE) • Scott Henninger, UNL, CeBASE Primary Partner • Web-based system for organizing and refining software process activities • use process to capture and disseminate software development knowledge • Case-based paradigm • “principles” contain general rules or knowledge • cases specialize the principles • Tailoring the process to project needs • (example taken from NASA Goddard ISC methodology) • context captured in rules • under these conditions, assign this task • can be high-level, or very detailed • really capturing project decisions, requirements
Next Steps • The Third CeBASE eWorkshop • Nov 12, 2001 @ noon • Topic: Effective methods for finding defects • (Defect Reduction Top 10 issues 6,7, and 8) • Apply to participate • 4th Workshops will begin top ten COTS Issues • Continue to define scripts and scenarios based on user input • Continue to evolve the eBASE and supporting tools • Continue to seed the eBASE with experience packages