Software Development Methodologies in...

25
Software Development Software Development Methodologies Methodologies in Industry in Industry By: Ahmad Deeb

Transcript of Software Development Methodologies in...

Page 1: Software Development Methodologies in Industrycourses.cecs.anu.edu.au/courses/CS_PROJECTS/10S1/Final...Every agile methods (e.g. XP, Scrum), has its own characteristics and purpose

Software Development Software Development Methodologies Methodologies

in Industryin Industry

By: Ahmad Deeb

Page 2: Software Development Methodologies in Industrycourses.cecs.anu.edu.au/courses/CS_PROJECTS/10S1/Final...Every agile methods (e.g. XP, Scrum), has its own characteristics and purpose

Software DevelopmentSoftware Development Methodologies Methodologies in Industryin Industry

SDM definitionSDM definitionProject and analysis approachProject and analysis approachResearch methodsResearch methodsProject objectiveProject objectiveSurvey objectivesSurvey objectivesSurvey results & findingSurvey results & findingFuture studyFuture study

Presentation outlinePresentation outline

Page 3: Software Development Methodologies in Industrycourses.cecs.anu.edu.au/courses/CS_PROJECTS/10S1/Final...Every agile methods (e.g. XP, Scrum), has its own characteristics and purpose

Software DevelopmentSoftware Development Methodologies Methodologies in Industryin Industry

WhatWhat areare

Software DevelopmentSoftware Development Methodologies Methodologies in Industryin Industry

Methodologies?Methodologies?

Page 4: Software Development Methodologies in Industrycourses.cecs.anu.edu.au/courses/CS_PROJECTS/10S1/Final...Every agile methods (e.g. XP, Scrum), has its own characteristics and purpose

Software Development Methodologies Software Development Methodologies

A A methodology is composed of one of the methodology is composed of one of the software developmentsoftware development lifecycles lifecycles used in used in conjunction with one or more techniques.conjunction with one or more techniques.

Page 5: Software Development Methodologies in Industrycourses.cecs.anu.edu.au/courses/CS_PROJECTS/10S1/Final...Every agile methods (e.g. XP, Scrum), has its own characteristics and purpose

Lifecycles Lifecycles & & Techniques Techniques -- 11

-- Waterfall Waterfall -- PrototypingPrototyping-- Spiral Spiral -- Coding techniqueCoding technique-- Iterative Iterative -- ObjectObject--Oriented Oriented -- Incremental Incremental -- CleanClean--roomroom-- AgileAgile

The techniques used to support in software lifecycles.The techniques used to support in software lifecycles.

LifecyclesLifecycles TechniquesTechniques

Page 6: Software Development Methodologies in Industrycourses.cecs.anu.edu.au/courses/CS_PROJECTS/10S1/Final...Every agile methods (e.g. XP, Scrum), has its own characteristics and purpose

Lifecycles Lifecycles & & Techniques Techniques -- 22

PrototypingPrototyping

Spiral ObjectSpiral Object--oriented analysisoriented analysis

CleanClean--roomroom

Description:Description:Software projects using spiral lifecycle may combine Software projects using spiral lifecycle may combine prototyping with objectprototyping with object--oriented analysis and design, and oriented analysis and design, and also use cleanalso use clean--room testing technique.room testing technique.

Development

Development

Testing

Page 7: Software Development Methodologies in Industrycourses.cecs.anu.edu.au/courses/CS_PROJECTS/10S1/Final...Every agile methods (e.g. XP, Scrum), has its own characteristics and purpose

Development Development lifecycles lifecycles -- 11

•• The project The project targets development targets development methodologies methodologies used in industry.used in industry.

•• The surveyThe survey specifically refers to the specifically refers to the following following lifecycles:lifecycles:

WaterfallWaterfallAgileAgileIncrementalIncrementalSpiralSpiralIterativeIterative

Page 8: Software Development Methodologies in Industrycourses.cecs.anu.edu.au/courses/CS_PROJECTS/10S1/Final...Every agile methods (e.g. XP, Scrum), has its own characteristics and purpose

Project and Analysis approachProject and Analysis approach

Project objective

Research Method

Survey objectives

Questionnaire designQuestionnaire construction implementation

Analysis Collected data

Report

A A systematic approachsystematic approach

Page 9: Software Development Methodologies in Industrycourses.cecs.anu.edu.au/courses/CS_PROJECTS/10S1/Final...Every agile methods (e.g. XP, Scrum), has its own characteristics and purpose

Research Research methods methods --1 1

Survey:Survey:Is Is often an investigation performed in often an investigation performed in retrospect, when, for example, a tool or a retrospect, when, for example, a tool or a technique, has been technique, has been used for used for a while.a while.The The primary means of gathering qualitative primary means of gathering qualitative data are interviews or data are interviews or questionnaires. questionnaires. The The results from the survey are then analysed results from the survey are then analysed to derive descriptive and explanatory to derive descriptive and explanatory conclusions. [conclusions. [WohlinWohlin]]

Page 10: Software Development Methodologies in Industrycourses.cecs.anu.edu.au/courses/CS_PROJECTS/10S1/Final...Every agile methods (e.g. XP, Scrum), has its own characteristics and purpose

Research Research methods methods -- 22

Case study:Case study:Case Case studies are used for monitoring projects, studies are used for monitoring projects, activities or assignments.activities or assignments.Data Data is collected for a specific purpose is collected for a specific purpose throughout the study.throughout the study.Based Based on the data collection, statistical on the data collection, statistical analyses can be carried out. analyses can be carried out.

Page 11: Software Development Methodologies in Industrycourses.cecs.anu.edu.au/courses/CS_PROJECTS/10S1/Final...Every agile methods (e.g. XP, Scrum), has its own characteristics and purpose

Research methodsResearch methods -- 33

Experiment:Experiment:Normally Normally done in a done in a laboratory laboratory environment, environment, which provides a high level of control.which provides a high level of control.Subjects Subjects are assigned to different treatments are assigned to different treatments at random.at random.

Page 12: Software Development Methodologies in Industrycourses.cecs.anu.edu.au/courses/CS_PROJECTS/10S1/Final...Every agile methods (e.g. XP, Scrum), has its own characteristics and purpose

Selected Selected method method -- 11

In the light of the previous explanations, I have In the light of the previous explanations, I have decided to conduct a questionnaire survey.decided to conduct a questionnaire survey.

Firstly, Firstly, the research project is based on the the research project is based on the practice practice and usage of the software and usage of the software development lifecycles and techniques in development lifecycles and techniques in industry. industry. Also, one Also, one of the research of the research objectives is objectives is to to collect collect datadata fromfrom people who are people who are practicing and have practicing and have knowledge and solid experience in software knowledge and solid experience in software development methodologies in our industry.development methodologies in our industry.

Page 13: Software Development Methodologies in Industrycourses.cecs.anu.edu.au/courses/CS_PROJECTS/10S1/Final...Every agile methods (e.g. XP, Scrum), has its own characteristics and purpose

Selected methodSelected method -- 22

Secondly, Secondly, conducting a questionnaire survey by conducting a questionnaire survey by sending emails to intended participants is sending emails to intended participants is quicker quicker and cheaper than other and cheaper than other methods.methods.Thirdly, based on the statement Thirdly, based on the statement ““The primary The primary means of gathering qualitative or quantitative means of gathering qualitative or quantitative data are interviews or questionnairedata are interviews or questionnaire”” [13[13], ], collecting collecting data by conducting a survey is more data by conducting a survey is more beneficial and more suitable to my research beneficial and more suitable to my research objectives.objectives.

Page 14: Software Development Methodologies in Industrycourses.cecs.anu.edu.au/courses/CS_PROJECTS/10S1/Final...Every agile methods (e.g. XP, Scrum), has its own characteristics and purpose

Project Project objective objective -- 11

To investigateTo investigate/examine and evaluate/examine and evaluate what & what & how how development methodologies are used in development methodologies are used in industry.industry.To ascertain what To ascertain what can be learned from their can be learned from their usage and what makesusage and what makes them beneficial, them beneficial, and and why they are less suitable for certain projects why they are less suitable for certain projects or situations.or situations.Identify the Identify the benefits, strengths, weaknesses, benefits, strengths, weaknesses, advantages and disadvantages of these advantages and disadvantages of these methodologies.methodologies.

Page 15: Software Development Methodologies in Industrycourses.cecs.anu.edu.au/courses/CS_PROJECTS/10S1/Final...Every agile methods (e.g. XP, Scrum), has its own characteristics and purpose

Project Project objective objective -- 22

Based on the project research/study, Based on the project research/study, investigation and evaluation,investigation and evaluation, a a useful tableuseful table shall be produced to shall be produced to helphelp software developers software developers lean more about choice of methodologieslean more about choice of methodologies..Which of the development methodologies are Which of the development methodologies are not useful for industry and why?not useful for industry and why?Which Which development methodologies can be development methodologies can be proven proven to be beneficial?to be beneficial?What What problems are there in implementingproblems are there in implementing particular methodologiesparticular methodologies??

Page 16: Software Development Methodologies in Industrycourses.cecs.anu.edu.au/courses/CS_PROJECTS/10S1/Final...Every agile methods (e.g. XP, Scrum), has its own characteristics and purpose

Survey objectivesSurvey objectivesSurvey/questionnaire objectivesSurvey/questionnaire objectives are to collect and relate (variously) the are to collect and relate (variously) the following data:following data:

Usage of software development methodologies inUsage of software development methodologies in organisations.organisations.Organisation sizeOrganisation sizeTechniquesTechniques used used with thewith the various development lifecyclesvarious development lifecyclesOrganisational culture Organisational culture and work and work environmentenvironment

Investigate individual project, by collecting the following:Investigate individual project, by collecting the following:Project status and durationProject status and durationProject complexityProject complexitySoftware development lifecycle and techniques used in project.Software development lifecycle and techniques used in project.Rate of change in projectRate of change in projectProject constraintsProject constraintsProject criticalityProject criticalityTeam factors in the projectTeam factors in the projectManagement/leadership experienceManagement/leadership experienceGeneral General information based on participants information based on participants experienceexperience

Page 17: Software Development Methodologies in Industrycourses.cecs.anu.edu.au/courses/CS_PROJECTS/10S1/Final...Every agile methods (e.g. XP, Scrum), has its own characteristics and purpose

Survey results Survey results -- 11

The data of the survey was extensiveThe data of the survey was extensiveThe surveyThe survey included both public included both public sector sector and private and private sector sector 110 emails were sent, about 20 emails 110 emails were sent, about 20 emails sent by third party,sent by third party, (total of 130 emails)(total of 130 emails)22.3% response 22.3% response rate (expected 20%)rate (expected 20%)

Page 18: Software Development Methodologies in Industrycourses.cecs.anu.edu.au/courses/CS_PROJECTS/10S1/Final...Every agile methods (e.g. XP, Scrum), has its own characteristics and purpose

Survey resultsSurvey results -- 22

•• Organisation Organisation cultural cultural factorsfactors were were assumed influence use of development assumed influence use of development methodologies. methodologies.

•• The analysed data The analysed data showed no showed no clear clear evidenceevidence to to supportsupport the assumption.the assumption.

Page 19: Software Development Methodologies in Industrycourses.cecs.anu.edu.au/courses/CS_PROJECTS/10S1/Final...Every agile methods (e.g. XP, Scrum), has its own characteristics and purpose

Survey resultsSurvey results -- 33

•• Organisation size Organisation size and and team size did not team size did not determine the determine the suitability of particularsuitability of particular methodologies. methodologies.

•• Difficult Difficult to draw conclusion on the to draw conclusion on the relationship of these factors on relationship of these factors on development methodologies.development methodologies.

Page 20: Software Development Methodologies in Industrycourses.cecs.anu.edu.au/courses/CS_PROJECTS/10S1/Final...Every agile methods (e.g. XP, Scrum), has its own characteristics and purpose

Survey resultsSurvey results -- 44

•• No No evidence found to support the evidence found to support the assumption of the influence/effects of assumption of the influence/effects of project factors such as complexity, quality, project factors such as complexity, quality, time pressure, project size, budget, project time pressure, project size, budget, project type, technology, change in requirements type, technology, change in requirements and project criticality on the use and project criticality on the use of a of a particular lifecycle.particular lifecycle.

Page 21: Software Development Methodologies in Industrycourses.cecs.anu.edu.au/courses/CS_PROJECTS/10S1/Final...Every agile methods (e.g. XP, Scrum), has its own characteristics and purpose

Survey resultsSurvey results -- 55

Leaders Leaders and team and team members members with low with low experience,experience, using informal using informal communication communication methods, methods, incomplete requirements,incomplete requirements, no no project deadlines,project deadlines, infrequent meetings infrequent meetings affect the implementation affect the implementation of incrementalof incremental methods to methods to enforce process. enforce process.

Page 22: Software Development Methodologies in Industrycourses.cecs.anu.edu.au/courses/CS_PROJECTS/10S1/Final...Every agile methods (e.g. XP, Scrum), has its own characteristics and purpose

Survey Survey resultsresults-- 66

Results show slight evidence of using combination of lifecycles in one project. Three projects have used two lifecycles.

First project have used waterfall and incrementalSecond project have used Incremental and agile Third project have used waterfall and iterative

Page 23: Software Development Methodologies in Industrycourses.cecs.anu.edu.au/courses/CS_PROJECTS/10S1/Final...Every agile methods (e.g. XP, Scrum), has its own characteristics and purpose

Survey Survey resultsresults-- 77

•• Confirm waterfall lifecycles are Confirm waterfall lifecycles are not usefulnot useful where project where project requirements/goals are not requirements/goals are not mature. mature.

•• Finally, Finally, II believe that the project objectives believe that the project objectives were were achieved and the results of the achieved and the results of the survey were adequate.survey were adequate.

Page 24: Software Development Methodologies in Industrycourses.cecs.anu.edu.au/courses/CS_PROJECTS/10S1/Final...Every agile methods (e.g. XP, Scrum), has its own characteristics and purpose

Future study Future study -- 11•• The following issues should be explored further in The following issues should be explored further in

future future research:research:EveryEvery agile methods (agile methods (e.g. XP, Scrum), has its e.g. XP, Scrum), has its own characteristics and purpose of use. Future own characteristics and purpose of use. Future study should look closelystudy should look closely the differences.the differences.Agile methods needsAgile methods needs separate research.separate research.The effect of rate of change in the project on The effect of rate of change in the project on methodology.methodology.The suitability of programming languages with The suitability of programming languages with lifecycleslifecycles..The use of combination methods in one The use of combination methods in one project.project.

Page 25: Software Development Methodologies in Industrycourses.cecs.anu.edu.au/courses/CS_PROJECTS/10S1/Final...Every agile methods (e.g. XP, Scrum), has its own characteristics and purpose

Future study Future study -- 22

The relationship and effect of organisation The relationship and effect of organisation size (small, medium and large) on size (small, medium and large) on development methodologies in more development methodologies in more detaildetailThe relationship and effect of project size The relationship and effect of project size (small, medium and large) on development (small, medium and large) on development methodologies in more methodologies in more detaildetailThe relationship between project type and The relationship between project type and development development methodologymethodologyExplore Explore the relationship between techniques the relationship between techniques and lifecycles in more and lifecycles in more detaildetail