Sei sulla pagina 1di 54

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

by

Fleming Woo

Outline
The

need for a framework Overview of the proposed framework Research methods Reuse, productivity and quality Formulation of the proposed framework Validation of the framework Implementation of the framework Reference to other frameworks

The need for a framework

Introduction
Amounts

of software requests are huge Software development is the most complex endeavour ever undertaken by human beings Different approaches of software development evolved over the past 40 years
Procedure-oriented

methodologies Process-oriented methodologies Data-oriented methodologies Object-oriented methodologies

Introduction
Object-oriented

approach has been cited in many researches as having clear advantages over the traditional methods:
More

traceable to system requirements Better transition between requirement analysis and design More resilient to system changes More reusable components More stable resulting systems

Introduction
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%) consideration 64 (15%) 431(100%)

Performance factors of using OOMs


Improve

development time Keep up with current technology Improve maintenance Consistent with prior project Best choice for user interface Build reuse library

Why are OOMs not used?


Technological
Immature

factors:

technology Lack of industrial standard Resistance of staff


Human
Have

factors:

never considered OOMs Lack of training in OOMs Economically infeasible Satisfied 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

Overview of the Framework


tio n Ad op St a ge s
Institutionalize Customize Pilot Evaluate Industry Organization Project

s evt c epsr e P i

Product Developer Tools Techniques Methods

Methodologies

Research Methods

Literature Review
Many

different OOMs exist today:

Booch Coad-Yourdon Jacobson Marin-Odell Rumbaugh Shlaer-Mellor Wirfs-Brock UML Others:

BON, FOOM, Fusion, HOOD, Meyer, Moses, Ooram, ROOM, Syntropy, SOMA, Demeter, etc.

The Initial Framework

Business organization Tools, techniques and methods

Adoption Resources Efficiency System development Effectiveness Deliverable

Reuse

Efficiency
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

Effectiveness
Effectiveness

is the external performance view focusing on the outcomes of the software development process
quality

of the resultant software Functionality Correctness Robustness Reliability Extendibility maintainability

Research Methods
Analysis

previous survey data Critical analysis of current situation Derive a framework for the effective selection and adoption of systems development methodologies Validate the framework:
Comparison

with well recognized frameworks New round of survey Proof of cause-and-effect hypotheses In-depth interviews and case studies Longitudinal analysis of two rounds of survey

Reuse, productivity and quality

Software 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 eD ev l po User Interface em tn Software Package Domain Knowledge Scenario / Framework Pattern / Template

yT ep s

es ue R er a wf o S t

Object Class Service / Method / Function / Routine Data Attribute Analysis Design Implementation

Development Stages

Productivity
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 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


Type of methodology Number of projects 9 22 1 4 24

Not using any methodology Using process-oriented methods Using data oriented methods Using object oriented methods Using in-house customized methods

Some 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 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

Methodology
Solutions Methods

Quality Adopt Technology Create Values

External Users

Tools Internal Users Developers Management

Terminology

Professional Development Support Personal Growth


Culture skills

Productivity
Implementation

Improve Processes Projects

Jobs

Design

Documentation Analysis

Evaluation

Reuse
User Interface Functional Logic

Deliver Products
Data Management

Backup & Security

Communication

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

Rogers Stages of InnovativeDecision Process


Knowledge Persuasion Decision Implementation Confirmation

Rogers stages of innovation Process


Agenda-setting Matching Redefining/Restructuring Clarifying

Routinizing

Empirically Observed Adoption Stages in this Research


Evaluation Pilot Customization Institutionalization

Industry perspective:
Known

techniques Available tools Available methods Existing standards

Organization perspective
Quality

objectives Best-in-class systems Cost-effective production Efficient use of resources Gaps in skill inventory Reuse strategy Support for reuse

Project perspective
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

Product perspective
Reduced

defect density Functionally correct Secure Robust Reliable Extendible Maintainable

Developer perspective
Technical

competence Cross functional skills Domain knowledge Adaptable to changes Ability to learn Communications skills Team work skills

Example relationships among factors and variables

Factors considered under each dimension


op Ad tio n St a ge s
Institutionalize Customize Pilot Available tools Evaluate Industry Organization Project

s evt c epsr e P i

Product Developer Tools Techniques Methods

Methodologies

Factors considered under each dimension


tio n St a ge s
Institutionalize Customize Pilot Evaluate Industry Organization Project

s evt c epsr e P i

Ad

Known techniques Intuitive techniques

op

Product Developer Tools Techniques Methods

Methodologies

Factors considered under each dimension


tio n St a ge s
Institutionalize Customize Pilot Evaluate Industry Organization Project

s evt c epsr e P i

Ad

Available methods/processes

op

Product Developer Tools Techniques Methods

Methodologies

Factors considered under each dimension


Ad op tio n St a ge s
Institutionalize Customize Pilot Evaluate Industry Organization Project

Strategies towards the adoption of technology

s evt c epsr e P i

Product Developer Tools Techniques Methods

Methodologies

Factors considered under each dimension


tio n St a ge s
Institutionalize Customize Pilot Evaluate Industry Organization Project Nature of business Business goal Strategies towards the adoption of technology

s evt c epsr e P i

Ad

op

Product Developer Tools Techniques Methods

Methodologies

Factors considered under each dimension


tio n St a ge s
Institutionalize Customize Pilot Evaluate Industry Organization Project Nature of business Business goal Strategies towards the adoption of technology

s evt c epsr e P i

Ad

op

Product Developer Tools Techniques Methods

Methodologies

Factors considered under each dimension


Each organization will have its own set of specific factors and variables
s evt c epsr e P i

Methodologies

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 developers 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 developers 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

strategies Organization policies Strategic sourcing and support Professional development Systems 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 You

Potrebbero piacerti anche