Presentation
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