Chapter 12 Prototyping and Deployment

Slides:



Advertisements
Similar presentations
Prescriptive Process models
Advertisements

1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
CS487 Software Engineering Omar Aldawud
Transforming Organizations
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 2 Software Processes.
Object-oriented Analysis and Design
CS 501: Software Engineering
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Software Development Overview CPSC 315 – Programming Studio Spring 2009.
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
Software Development Overview CPSC 315 – Programming Studio Spring 2008.
 The Fundamental Reasons Behind The Failure Of ERP System SYSM 6309 Advanced Requirements Engineering By Shilpa Siddavvanahally.
Introduction to Systems Analysis and Design
Project phases and the life cycle
CHAPTER 19 Building Software.
Software Life Cycle Model
SystematicSystematic process that translates quality policy into measurable objectives and requirements, and lays down a sequence of steps for realizing.
© 2014 Cengage Learning. All Rights Reserved. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements l.
Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill/Irwin 20 Strategy, Balanced Scorecards and Incentive Systems.
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Chapter 3 – Agile Software Development Lecture 1 1Chapter 3 Agile software development.
1 CSE 403 Software Lifecycle Models Reading: Rapid Development Ch. 7, 25 (further reading: Ch. 21, 35, 36, 20) These lecture slides are copyright (C) Marty.
IT Systems Analysis & Design
Understand Application Lifecycle Management
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Systems Development Life Cycle Phases and Activities in the SDLC Variations of the SDLC models.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Chapter 11: Software Prototyping Omar Meqdadi SE 273 Lecture 11 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements.
Software Project Management Lecture 11. Outline Brain Storming session  Some simple discussion on questions and their answers  Case studies related.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
Software Engineering MCS-2 Lecture # 6
Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Chapter 2 Software processes. Topics covered Software process models Process activities Coping with change.
CIS 112 Exam Review. Exam Content 100 questions valued at 1 point each 100 questions valued at 1 point each 100 points total 100 points total 10 each.
Software Development Overview CPSC 315 – Programming Studio Spring 2013.
SOFTWARE LIFE-CYCLE MODELS
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 1: Introduction to Systems Analysis and Design Alan.
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 2 Software Processes.
Software Prototyping Rapid software development to validate requirements.
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
Software Engineering Jon Walker. What is Software Engineering? Why do we call it Software Engineering? Why not just call it programming or software development?
Chapter 9 – Software Evolution 1Chapter 9 Software evolution.
Chapter 13 Prototyping and Deployment. Knowledge Management2 Select the pilot project avoid trivial project stay away from your company ’ s lifeblood.
Software Project Management Iterative Model & Spiral Model.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
 Many models have been proposed to deal with the problems of defining activities and associating them with each other  The first model proposed was the.
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
Chapter 1: Introduction Omar Meqdadi SE 3860 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Introduction Requirements and the Software Lifecycle (3)
Software Development Overview
Introduction to Systems Analysis and Design
Fundamentals of Information Systems, Sixth Edition
The Systems Engineering Context
Introduction to Software Engineering
Chapter 2 – Software Processes
Software life cycle models
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
UNIT 5 EMBEDDED SYSTEM DEVELOPMENT
UNIT 5 EMBEDDED SYSTEM DEVELOPMENT
SDLC (Software Development Life Cycle)
Software Development Overview
Presentation transcript:

Chapter 12 Prototyping and Deployment The Knowledge Management Toolkit Amrit Tiwana

Moving From Firefighting to Systems Deployment? Besides training costs, companies almost never budget for nontechnology costs related to deployment and implementation of KM systems. Deploying any new system is usually a learning experience.

Prototyping Prototypes are perhaps the most underused form of rejection insurance that a development team can ever purchase. Iteratively improving a system with incremental prototypes lets the users see, touch, and feel a system even before it is completed.

Pilot Deployments A pilot implementation of the KM system on a small scale can lead to insight that might prove to be invaluable before the full-blown system is implemented at an enterprise-wide level. A pilot test reveals significant and often fundamental design flaws early on in the deployment process.

Selecting a Pilot Project Follow these tips for evaluating potential projects and their viability as pilot projects: Avoid trivial projects. Stay away from your company’s lifeblood. Favor projects with widespread visibility and noticeable effects. Select a problem that the chosen piece of technology fits well. Set tangible deadlines and metrics for success. Select a process-intensive project that can be highly impacted by the user of a KM system.

Lessons From Data Warehouses Most companies pursued investments in data warehouses to improve the quality if information within the organization and to improve access to it. Many companies start with small versions of a data warehouse (akin to pilot projects), usually centered on an application or a data set. The danger of implementing and experimenting with such a pilot is that its success can lead to rapid proliferation of data marts that are independent of one another.

Legacy Deployment Methods The incremental approach to systems development and deployment assumes that functions required of a system, such as a KM system, cannot be known completely in the initial stages. This approach suggests that developers implement a part of the system and increment it rapidly, as new requirement surface. This way, the entire system can be implemented in increments, and changes can be made along the way.

Legacy Deployment Methods The waterfall model, the parent of the incremental model for systems development, was the mainstay of the system development methodologies for years but has recently fallen out of favor. The waterfall model is a bad approach to take for implementing complex systems. If the feedback and learning loop are incorporated into this model and the project is broken down into discrete phases that build on another, it give us the incremental approach model shown in Figure 12-2.

The Information Packaging Methodology Architecture and system planning Design and analysis Technology implementation Deployment and metric testing

The information packaging spiral methodology

The Big-Bang Approach To Deployment Delivery equals implementation Develop the software system in its entirety and implement everything at once, after the code compiled.

Enterprise Integration:Boon or Bane ? The flexibility is a boon because it offers intensively amplified benefits and abundance of functionality. But this boon is also the primary bane. The excessive flexibility mean that your have to tweak to work for your company, and this necessity changes a software introduction initiative into an organizational change initiative.

The Results-Driven Incremental Methodology The RDI methodology specifies that the project be broken up into a series of short, fast-paced development cycles coupled with intensive implementation cycles, each of which delivers a measurable business benefit. The most obvious benefit of the RDI approach is that business benefits of the KM system can be realized much sooner, compare with a more traditional big bang approach.

Steps Involved in the RDI Methodology Objective-driven decision support: Incremental but independent results: Software and organizational measures clearly laid out at each stage: Intensive implementation schedules: Results-driven follow-ups:

Business Releases Each business release should address at least the following questions: What is the targeted business result? What is the exact software functionality required to achieve the results? How will the results be measured? What complementary changes are need in policies, incentives, metrics, and procedures?

The Traps in Selecting the Release Sequence Expected success. Cumulative. Highest payoff. Balance of the above.

Process divisibility and RDI releases Divide the technology in such a manner that successive increments involve the same software modules but at a deeper level of detail Break the technology deployment into pieces, each of which is implemented at the deepest level of detail in the first round. The RDI methodology provides a technique that allows for refinement of the current stock of deployment and process knowledge in ongoing releases.

RDI’s Role in Tools and Task Reinvention Reinvention of the tools, interfaces, and task environments, such as the design or aesthetic fit of the KM system, often goes hand in hand with reinvention of the job itself. It would be ideal if the design of the KM system were such that the interface was very similar to the one that existed earily and the whole process of using the KM system was almost transparent to the user. However, this is rarely possible.

Cross-Functional Synergy Synergy refers to the ability of the knowledge management system to allow different groups of users, representing different functional departments, to produce results exceeding those that they would produce working without the support of such a system.

The complexities of collaboration The various levels of complexity that must be figured into the design of a KM system include: Logistical complexity: Technological complexity: Organizational complexity: Environmental complexity:

Avoiding Overengineering Overengineering refers to the act of implementing system functions that may never be used or adding details that are unnecessary for deriving the desired business results. Although many managers may preach incrementalism in system deployment, they rarely practice it. Incrementalism and structured methodologies are viewed as being noncomplementary The benefits of incrementalism are perceived to be marginal that it seems like it is not worth the effort

Developing Clear Communication Processes Explains the expectations and reasoning behind the introduction and integration of the KM system with business process. This communication leaves no surprises for the users and makes it easier for them to accept a culture where continuous is a normal part of work life.

Human Barriers in Technology Design A combination of appropriate design of technology and complementary incentives An immediate reward for an employee can compensate for an immediate effort that can result in long term reward for the firm. Linking long-term goals to long-term rewards rarely works.

One Infinite Loop To keep a KM system kicking and alive, it needs iterative improvements as the business environment and accompanying processes evolve over time.