Presentation

54
A framework for the effective selection and adoption of system development Methodologies by by Fleming Woo Fleming Woo

description

 

Transcript of Presentation

Page 1: Presentation

A framework for the effective selection and adoption of system development Methodologies

byby

Fleming WooFleming Woo

Page 2: Presentation

OutlineOutline

The need for a frameworkOverview of the proposed frameworkResearch methodsReuse, productivity and qualityFormulation of the proposed

frameworkValidation of the frameworkImplementation of the frameworkReference to other frameworks

Page 3: Presentation

The need for a framework

Page 4: Presentation

IntroductionIntroduction

Amounts of software requests are hugeSoftware development is the most complex

endeavour ever undertaken by human beings Different approaches of software development

evolved over the past 40 years Procedure-oriented methodologiesProcess-oriented methodologiesData-oriented methodologiesObject-oriented methodologies

Page 5: Presentation

IntroductionIntroduction

Object-oriented approach has been cited in many researches as having clear advantages over the traditional methods:More traceable to system requirementsBetter transition between requirement analysis

and designMore resilient to system changesMore reusable componentsMore stable resulting systems

Page 6: Presentation

IntroductionIntroduction

From a survey in this study, 42.7% of organizations claimed to have adopted OOMs to some extent

Problem of the slow adoption rate should be thoroughly investigated

A framework is required to facilitate businesses to select and adopt the most suitable methodology for their specific environment

Page 7: Presentation

Number of Projects Using Traditional Methods vs OOMs

Using Using

traditional object-oriented

methods methods Total

Projects under 635 (88%) 86 (12%) 721 (100%)

development

Projects under 367 (85%) 64 (15%) 431(100%)

consideration

Page 8: Presentation

Performance factors of using OOMsPerformance factors of using OOMs

Improve development timeKeep up with current technologyImprove maintenanceConsistent with prior projectBest choice for user interfaceBuild reuse library

Page 9: Presentation

Why are OOMs not used?Why are OOMs not used?

Technological factors:Immature technologyLack of industrial standardResistance of staff

Human factors:Have never considered OOMsLack of training in OOMsEconomically infeasibleSatisfied with existing methods

Page 10: Presentation

Technologies are fast changing

Fourth Generation Languages (4GL) Computer-aided Software Engineering (CASE) Structured Systems Development Methodologies

(SSDM) Object-oriented Methodologies (OOMs) Unified Modelling Language (UML) Formal Methods Personal Software Process (PSP) Extreme Programming Component Programming, Relational Database

Management Systems (RDBMS) Object-oriented Database Management Systems

(ODBMS)

Page 11: Presentation

Overview of the proposed framework

Page 12: Presentation

InstitutionalizeCustomize

Pilot

Developer

Overview of the FrameworkOverview of the Framework

ToolsTechniquesMethods

Evaluate

Product

Project

Organization

Industry

Methodologies

Pe

rsp

ect

ive

sAdo

ptio

n Sta

ges

Page 13: Presentation

Research Methods

Page 14: Presentation

Literature ReviewLiterature Review

Many different OOMs exist today:BoochCoad-YourdonJacobsonMarin-OdellRumbaughShlaer-MellorWirfs-BrockUMLOthers: BON, FOOM, Fusion, HOOD, Meyer,

Moses, Ooram, ROOM, Syntropy, SOMA, Demeter, etc.

Page 15: Presentation

The Initial FrameworkThe Initial Framework

Deliverable

Tools, techniques andmethods

System development

Resources

Adoption

Efficiency Effectiveness

Reuse

Business organization

Page 16: Presentation

EfficiencyEfficiency

Efficiency is the internal performance view of the software development process Productivity Ease of Use Repeatability Adaptability Integration with Other Tools Amount of Uncertainties Responsiveness yo Changes Accountability Traceability Manageability

Page 17: Presentation

EffectivenessEffectiveness

Effectiveness is the external performance view focusing on the outcomes of the software development processquality of the resultant softwareFunctionalityCorrectnessRobustnessReliabilityExtendibilitymaintainability

Page 18: Presentation

Research MethodsResearch Methods

Analysis previous survey dataCritical analysis of current situationDerive a framework for the effective

selection and adoption of systems development methodologies

Validate the framework:Comparison with well recognized frameworksNew round of surveyProof of cause-and-effect hypotheses In-depth interviews and case studiesLongitudinal analysis of two rounds of survey

Page 19: Presentation

Reuse, productivity and quality

Page 20: Presentation

Software reuseSoftware reuse

Reuse should be systematic rather than ad-hoc opportunistic

Some issues in reuse are well known: high integration cost unclear ownership recognitions of authorship productivity measurement extra effort to develop new components

Tools and procedures are required to certify, search and update reusable components

Early establishment of strategies for reuse is important to business organizations

Page 21: Presentation

Backup / Recovery / Security

Database Management

Communication

Functional Logic

User Interface

Devel

opmen

t Typ

es

Software Package

Domain Knowledge

Scenario / Framework

Pattern / Template

Object Class

Service / Method / Function / Routine

Data Attribute

So

ftw

are

R

eu

se

Analysis Design Implementation

Development Stages

Page 22: Presentation

ProductivityProductivity

Ruse has positive contribution to the enhancement of productivity over the entire SDLC

Productivity is significantly enhanced with the use of software development and automation tools

OOM does not enhance productivity significantly and directly due to staff training needs and efforts

Adoption of mixed methods customized to the background of staff are more productive

Support of senior management alone will enhance motivations and hence productivity

Survey findings indicated the business need for: properly formulated strategies well selected methodology appropriately managed adoption process

Page 23: Presentation

Software QualitySoftware Quality

Significant trade-off exists between quality and productivity but organizations often put quality at a higher priority than productivity

Measurement of quality is a political issue Modular, open and layered architecture, a natural

consequence of adopting OOMs, improve quality Carefully devised framework for the adoption of

software development methodologies is essential Support of senior management alone will enhance

motivations and hence software quality Well-defined strategies and quality objectives

contributes to quality improvement

Page 24: Presentation

Type of Methodologies Used in Projects

Number ofType of methodology projects

Not using any methodology 9Using process-oriented methods 22Using data oriented methods 1Using object oriented methods 4Using in-house customized methods 24

Page 25: Presentation

Some Initial FindingsSome Initial Findings

Learning and professional development are important to organizations both before and after the adoption

The adoption decision should be communicated to every developer at all levels

Adoption should be treated as a continuous process

Page 26: Presentation

Some Initial FindingsSome Initial Findings

The framework can be described in a set of cause-and-effect hypotheses which have some degrees of uncertainties

The validity of these hypotheses are testable and verifiable

Page 27: Presentation

External Users

Internal Users Developers Management

CreateValues

Quality

Implementation

Design Documentation

Analysis

Evaluation

Productivity

ImproveProcesses

Projects

UserInterface

FunctionalLogic

DataManagement

Backup &Security

Communication

DeliverProducts

Reuse

Solutions

Methods Tools

Terminology

AdoptTechnology

Jobs

skills

Culture

SupportPersonalGrowth

Methodology

ProfessionalDevelopment

Page 28: Presentation

Formulation of the proposed framework

Page 29: Presentation

Components of a Methodology

Tools - software package supporting systems development

Techniques – ways and skills to transform information into forms useful to the development of a system project

Method – the process of systems development

Page 30: Presentation

Roger’s Stages of Innovative-Decision Process

KnowledgePersuasionDecisionImplementationConfirmation

Page 31: Presentation

Roger’s stages of innovation Process

Agenda-settingMatchingRedefining/RestructuringClarifying Routinizing

Page 32: Presentation

Empirically Observed Adoption Stages in this Research

EvaluationPilotCustomizationInstitutionalization

Page 33: Presentation

Industry perspective:

Known techniquesAvailable toolsAvailable methodsExisting standards

Page 34: Presentation

Organization perspective

Quality objectivesBest-in-class systemsCost-effective productionEfficient use of resourcesGaps in skill inventoryReuse strategySupport for reuse

Page 35: Presentation

Accurate system requirements Correct system specification User-friendly system interface Repeatable processes Reduced uncertainties Responsive to changes Traceable system events Improved project manageability Adoption of a well-chosen methodology Reuse from prior projects Reuse for subsequent projects

Project perspective

Page 36: Presentation

Product perspective

Reduced defect densityFunctionally correctSecureRobustReliableExtendibleMaintainable

Page 37: Presentation

Developer perspective

Technical competenceCross functional skillsDomain knowledgeAdaptable to changesAbility to learn Communications skillsTeam work skills

Page 38: Presentation

Example relationships among factors and variables

Page 39: Presentation

InstitutionalizeCustomize

Pilot

Developer

Factors considered under Factors considered under each dimensioneach dimension

ToolsTechniquesMethods

Evaluate

Product

Project

Organization

Industry

Methodologies

Pe

rsp

ect

ive

sAdo

ptio

n Sta

ges

•Available tools

Page 40: Presentation

InstitutionalizeCustomize

Pilot

Developer

ToolsTechniquesMethods

Evaluate

Product

Project

Organization

Industry

Methodologies

Pe

rsp

ect

ive

sAdo

ptio

n Sta

ges

•Known techniques•Intuitive techniques

Factors considered under Factors considered under each dimensioneach dimension

Page 41: Presentation

InstitutionalizeCustomize

Pilot

Developer

ToolsTechniquesMethods

Evaluate

Product

Project

Organization

Industry

Methodologies

Pe

rsp

ect

ive

sAdo

ptio

n Sta

ges

•Available methods/processes

Factors considered under Factors considered under each dimensioneach dimension

Page 42: Presentation

InstitutionalizeCustomize

Pilot

Developer

ToolsTechniquesMethods

Evaluate

Product

Project

Organization

Industry

Methodologies

Pe

rsp

ect

ive

sAdo

ptio

n Sta

ges

•Strategies towards the adoption of technology

Factors considered under Factors considered under each dimensioneach dimension

Page 43: Presentation

InstitutionalizeCustomize

Pilot

Developer

ToolsTechniquesMethods

Evaluate

Product

Project

Organization

Industry

Methodologies

Pe

rsp

ect

ive

sAdo

ptio

n Sta

ges

•Nature of business•Business goal•Strategies towards the adoption of technology

Factors considered under Factors considered under each dimensioneach dimension

Page 44: Presentation

InstitutionalizeCustomize

Pilot

Developer

ToolsTechniquesMethods

Evaluate

Product

Project

Organization

Industry

Methodologies

Pe

rsp

ect

ive

sAdo

ptio

n Sta

ges

•Nature of business•Business goal•Strategies towards the adoption of technology

Factors considered under Factors considered under each dimensioneach dimension

Page 45: Presentation

Methodologies

Pe

rsp

ect

ive

s

Factors considered under Factors considered under each dimensioneach dimension

Each organization will have

its own set of specific

factors and variables

Page 46: Presentation

Validation of the proposed framework

Page 47: Presentation

An example hypotheses

The existence of industry standards and competence of developer in systems development methodology, are important considerations in the adoption of a methodology, will also contribute to fulfil the business goal of making profits. If we can deploy suitable tools, the number of defect density in the system deliverables will be decreased that contributes to the favourable consideration in adopting a particular methodology. The deployment of software development tools will also enhance the user interface of the final software product and increase developer’s productivity, which is in turn a good reason for choosing a methodology. Developer productivity may be decreased due to the sophistication of user interface. Reusing software components, although may negatively affect the developer’s satisfaction in the development process, will increase development productivity and is an important factor for the adoption of a methodology.

Page 48: Presentation

A simple path analysis diagram

Page 49: Presentation

Implementation of the framework

Page 50: Presentation

An Implementation Framework

Organization strategiesOrganization policiesStrategic sourcing and supportProfessional developmentSystems development

Page 51: Presentation

An Implementation Framework

Page 52: Presentation

Reference to other frameworks

Page 53: Presentation

Other Well-Recognized Frameworks

Balanced Scorecard (BSC)Information Technology

Infrastructure Library (ITIL)Strategic Options Development

and Analysis (SODA)Capability Maturity Model (CMM)Service Oriented Architecture

(SOA)

Page 54: Presentation

Thank YouThank You