Presentation

Post on 30-Oct-2014

479 views 0 download

description

 

Transcript of Presentation

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

byby

Fleming WooFleming Woo

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

The need for a framework

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

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

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

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

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

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

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)

Overview of the proposed framework

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

Research Methods

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.

The Initial FrameworkThe Initial Framework

Deliverable

Tools, techniques andmethods

System development

Resources

Adoption

Efficiency Effectiveness

Reuse

Business organization

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

EffectivenessEffectiveness

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

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

Reuse, productivity and quality

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

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

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

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

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

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

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

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

Formulation of the proposed framework

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

Roger’s Stages of Innovative-Decision Process

KnowledgePersuasionDecisionImplementationConfirmation

Roger’s stages of innovation Process

Agenda-settingMatchingRedefining/RestructuringClarifying Routinizing

Empirically Observed Adoption Stages in this Research

EvaluationPilotCustomizationInstitutionalization

Industry perspective:

Known techniquesAvailable toolsAvailable methodsExisting standards

Organization perspective

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

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

Product perspective

Reduced defect densityFunctionally correctSecureRobustReliableExtendibleMaintainable

Developer perspective

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

Example relationships among factors and variables

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

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

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

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

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

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

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

Validation of the proposed framework

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.

A simple path analysis diagram

Implementation of the framework

An Implementation Framework

Organization strategiesOrganization policiesStrategic sourcing and supportProfessional developmentSystems development

An Implementation Framework

Reference to other frameworks

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)

Thank YouThank You