250 likes | 365 Views
Project Management for KBS Projects. AIAI The University of Edinburgh http://www.aiai.ed.ac.uk/. Content of this lecture. What are the issues? Conventional software development How different is a KBS? Waterfall life-cycle Prototyping life-cycle Knowledge engineering methodologies
E N D
Project Management for KBS Projects AIAI The University of Edinburgh http://www.aiai.ed.ac.uk/
Content of this lecture • What are the issues? • Conventional software development • How different is a KBS? • Waterfall life-cycle • Prototyping life-cycle • Knowledge engineering methodologies • KADS methodology • Spiral life-cycle
What are the issues? • Management of the overall process of developing knowledge-based systems. • from identification and selection of applications • through requirements and knowledge capture, analysis, design, implementation and installation • to maintenance and decommissioning of systems • Planning, controlling and monitoring of • activities • products • resources (including staff)
Conventional Software Development • Any software project has • Technical activities • Requirements capture and analysis, design, coding, testing, etc. • Technical products • Final deliverables - the system, training manuals, design documentation, etc. • Intermediate products - requirements specification, logical design, etc. • Management activities • Planning, controlling and monitoring the work of the project. • Management products • Plans, reports and other control documents.
Are Conventional Methods Relevant? • Software development life-cycle models play a central role in the management of a project. • Technical methods specify • notations • techniques • guidelines • Life-cycle models provide guidance on • What activities need to be carried out? • In what order the activities need to occur? • What products should be produced? • Well-accepted for development of conventional applications • Relevant to knowledge-based applications?
How different is a KBS? • The existing real-world processes are not as explicitly available as they are for conventional systems • Often based on tacit knowledge in someone’s head • Difficult to articulate • Unstructured? • The existing real-world process is often highly context dependent on the real world • Incomplete specification - ill-specified system
Problems arising from differences • Difficult to observe existing process • More time needs to be spent on capture and analysis • Difficult to size and cost project until specification is well underway • Difficult to validate the knowledge in the specification • High context dependencies on real world may lead to more frequent changes in requirements • during development • during subsequent use (more frequent maintenance)
Other problems • Applications often provide interactive decision support • complex human computer interactions • Novel application area • harder to predict impact of system • leads to business risks • Novel / complex computational structures and processes • computational viability harder to predict • leads to technical risks
Waterfall Life-cycle Model • Conventional approach to software engineering Scoping and feasibility study Requirements analysis Design Coding Validation Maintenance • Advantages • Modularity • Verification of each stage
Problems with the Waterfall Model • Assumes the perfect specification • Too prescriptive - basically sequential • limited iteration • Late detection of errors • has significant impact on costs • Exclusion of end users and clients • Takes little account of prototyping • Problems are aggravated for KBS • due to an incomplete and changing specification
Prototyping • Prototype - a trial executable version of the prospective system • Can be applied both to conventional and KB applications • Several approaches • Rapid prototyping • Incremental prototyping • Throw-away prototyping • Find out what technology can do • Aid to knowledge acquisition • Most widely used approach to KBS development
Rapid Prototyping • Development methodology / life-cycle model • No initial detailed specification required • Problems with rapid prototyping • Proper analysis may be neglected • Relies on intuition of developers • The danger of hacking-and-patching • Difficulty of maintaining an undocumented system • Difficulty of managing project • Development tends to be ad-hoc and unplanned • No verifiable milestones • When is it finished? • When is it "right"?
Incremental Prototyping • Development methodology / life-cycle model • Also called structured prototyping • Combination of rapid prototyping and the waterfall life-cycle model • System developed in increments of functional capability • Problems with incremental prototyping • Lack of long term planning • Tempting to fall into "code-and-fix" model • May commit too many resources into a wrong solution
Throw-away Prototyping • Used in conjunction with another methodology / life-cycle model • Exploratory prototypes • "prototyping the specification" • allow developer to understand application • users to see capability of system • a communication vehicle for ideas, expectations and requirements • Experimental prototypes • "prototyping the design" • test feasibility and adequacy of a design idea
Which approach to KBS development? • Waterfall life-cycle model • has some drawbacks • Rapid prototyping • many problems • but has been the most dominant approach • Incremental prototyping • more recent approach • but still has drawbacks • Other life-cycle models? • Spiral / Cyclic • Product-oriented • Risk-driven
Knowledge Engineering Methodologies • ESPRIT Projects • KADS • VITAL • UK Government - CCTA • GEMINI • Management Consultancies • Ernst & Young - STAGES • Coopers & Lybrand - Summit-DK • Andersen Consulting - Model-1 • etc
CommonKADS - Overview • Model-based development methodology for KBS • Cyclic life-cycle model for project management • Comprehensive • from application selection and impact assessment • to physical design and testing • Support tools
Why a Modelling Approach? • Different perspectives on knowledge • who, what, how, when, where, why • Different levels of abstraction • organisation, process, expertise, system design • Allows greater management control of process • Provides common basis for communicating • Allows reuse of structure and content
Model Development • Initial step is to identify models to be developed • may need several instances of some models • “as-is” models and “to-be” models • not all models may be required for all projects • Models are persistent and evolve • form part of the deliverables • essential for maintenance
Project Management Activity Cycle Review Generate Alternative Approaches Identify Approach Constraints Refine Objectives Eliminate Untenable Approaches Review & Commit Identify & Document Risks Plan Next Cycle Review Against Expected Progress Risk Analysis Risk Select Approach Acceptance Assessment Monitor Development Generate Plan Agree Acceptance Contract Monitor Plan
Risks • Technical, business, project • technology, financing, users • Evaluate Likelihood and Impact • low/medium/high • Take steps to insure against any risks that are medium/high likelihood and medium/high impact
Model States • States are used to plan and control the development of a model • States are used to indicate • landmarks (associated with cycle review) • milestones (delivered to client) • obligatory states (must be produced due to quality implications)
Qualitative Value empty requirements identified constraints identified inputs identified identified described verified validated completed discarded signed-off Qualitative State Values
Summary • KBS projects are different from conventional software projects • knowledge based • knowledge is not easily available • knowledge may be context dependent • Approaches to project management • Waterfall model • Prototyping • rapid prototyping • incremental prototyping • throwaway prototyping • Cyclic management activity model