Software Development Methodologies in Industry. By: Ahmad Deeb



Similar documents
When is Agile the Best Project Management Method? Lana Tylka

Higher National Unit specification. General information. Software Development: Analysis and Design (SCQF level 7) Unit code: HA4C 34.

Software Development Process

SOFTWARE PROCESS MODELS

The Spiral development model is a risk-driven process model generator. It

Software Life-Cycle. Series of steps through which software product progresses. A life-cycle is selected during requirement Phase

The traditional project management uses conventional methods in software project management process.

Frank Tsui. Orlando Karam. Barbara Bernal. State. University. Polytechnic. Ail of Southern JONES & BARTLETT LEARNING

Software Development Life Cycle Models - Process Models. Week 2, Session 1

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology

10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design

System development lifecycle waterfall model

AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT

Phase 2 Systems Analysis. Dr. Feng-Jen Yang

Object-Oriented and Classical Software Engineering

Unit 1 Learning Objectives

Issues in Internet Design and Development

Lecture Objectives. Software Life Cycle. Software Engineering Layers. Software Process. Common Process Framework. Umbrella Activities

AGILE SOFTWARE DEVELOPMENT A TECHNIQUE

Agile Project Forecasting Techniques. "Who Says You Can't Plan Agile Projects?" Matt Davis, PMP, MCITP October 21, 2013

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)

Software Process. Process: A sequence of activities, subject to constraints on resources, that produce an intended output of some kind.

Software Engineering. Introduction. Software Costs. Software is Expensive [Boehm] ... Columbus set sail for India. He ended up in the Bahamas...

Agile and the role of the business analyst

Life Cycle Models. V. Paúl Pauca. CSC Fall Department of Computer Science Wake Forest University. Object Oriented Software Engineering

A Comparative Study of Different Software Development Life Cycle Models in Different Scenarios

A comparative study on usage of traditional and agile software development methodologies in software industry of Asia

COSC 3351 Software Design. Recap for the first quiz. Edgar Gabriel. Spring For the 1 st Quiz

Comparative Analysis of Agile Software Development Methodologies-A Review

Software Development Life Cycle (SDLC)

Water-Scrum-Fall Agile Reality for Large Organisations. By Manav Mehan Principal Agile consultant

LECTURE 1. SYSTEMS DEVELOPMENT

The most suitable system methodology for the proposed system is drawn out.

Agile Software Development compliant to Safety Standards?

Agile Processes and Methodologies: A Conceptual Study

Agile Projects 7. Agile Project Management 21

A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing.

RISK MANAGMENT ON AN AGILE PROJECT

Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur

6. Software Lifecycle Models. A software lifecycle model is a standardised format for planning organising, and running a new development project.

System Design Approaches. System Design. Model-Driven Approaches Modern Structured Design. Model-Driven Approaches

Clinical Risk Management: Agile Development Implementation Guidance

Lecture 3 Software Development Processes

Software Engineering. An Introduction. Fakhar Lodhi

Measuring ROI of Agile Transformation

Universiti Teknologi MARA. The Perception of IT Organizations Towards Software Development Methodology Adoption

Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur

Objectives. Chapter 12. System Design. Model-Driven Approaches. System Design Approaches Systems Design

Software Processes. The software process. Generic software process models. Waterfall model. Waterfall model phases

Towards a New Methodology for Developing Web-Based Systems

How To Understand The Limitations Of An Agile Software Development

Application of software product quality international standards through software development life cycle

CERTIFIED FINANCIAL PLANNER BOARD OF STANDARDS, INC. FINANCIAL PLANNING PRACTICE STANDARDS

Standardized software development model for SME software houses in Pakistan

CS4507 Advanced Software Engineering

PROJECT MANAGEMENT METHODOLOGY OF OBJECT- ORIENTED SOFTWARE DEVELOPMENT

Agile Based Software Development Model : Benefits & Challenges

SOFTWARE DEVELOPMENT METHODOLOGIES, TRENDS, AND IMPLICATIONS

IT4304 Rapid Software Development (Optional)

Software Development Going Incremental, Iterative and Agile:

Models of Software Development

A MODEL FOR RISK MANAGEMENT IN AGILE SOFTWARE DEVELOPMENT

IPDET Module 6: Descriptive, Normative, and Impact Evaluation Designs

Chakra Vs Spiral Model - A Practical Approach

Managing TM1 Projects

Journal of. Risk Analysis of the Waterfall Model for Educational Software Development. Abstract

Agile Software Development

INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal

Development Methodologies

Assuming the Role of Systems Analyst & Analysis Alternatives

Software Process Models. Xin Feng

Software Project Management Plan

Life-Cycle Model. Software Life-Cycle Models. Software Development in Theory. Software Development in Practice

Comparative Analysis of Different Agile Methodologies

CSE 435 Software Engineering. Sept 16, 2015

White Paper IT Methodology Overview & Context

Requirements Management Practice Description

How To Understand And Understand The Software Development Process In Korea

Name of pattern types 1 Process control patterns 2 Logic architectural patterns 3 Organizational patterns 4 Analytic patterns 5 Design patterns 6

Introduction to Agile Software Development

[14: /2/22 Ch03-H8325.tex] ISBN: YULL: BTEC First ICT Practitioners Curriculum Support Pack Page:

A Capability Maturity Model (CMM)

SOFTWARE DEVELOPMENT SD

Information Management Strategic Plan - Methodology

Karunya University Dept. of Information Technology

Agile and lean methods for managing application development process

Role of the Business Analyst in an Agile Project

A social marketing approach to behaviour change

A system is a set of integrated components interacting with each other to serve a common purpose.

Modelli di sviluppo software. Enrico Giunchiglia

Software Development Risk Aspects and Success Frequency on Spiral and Agile Model

Transcription:

Software Development Methodologies in Industry By: Ahmad Deeb

Methodologies Software Development Methodologies in Industry Presentation outline SDM definition Project and analysis approach Research methods Project objective Survey objectives Survey results & finding Future study

Methodologies Software Development Methodologies in Industry What are Methodologies?

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

Lifecycles & Techniques - 1 Lifecycles - Waterfall - Prototyping - Spiral - Coding technique - Iterative - Object-Oriented Oriented - Incremental - Clean-room - Agile Techniques The techniques used to support in software lifecycles.

Lifecycles & Techniques - 2 Development Development Prototyping Spiral Object-oriented analysis Testing Clean-room Description: Software projects using spiral lifecycle may combine prototyping with object-oriented oriented analysis and design, and also use clean-room testing technique.

Development lifecycles - 1 The project targets development methodologies used in industry. The survey specifically refers to the following lifecycles: Waterfall Agile Incremental Spiral Iterative

Project and Analysis approach A systematic approach Project objective Report Research Method Survey objectives Analysis Collected data Questionnaire design Questionnaire construction implementation

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

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

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

Selected method - 1 In the light of the previous explanations, I have decided to conduct a questionnaire survey. Firstly, the research project is based on the practice and usage of the software development lifecycles and techniques in industry. Also, one of the research objectives is to collect data from people who are practicing and have knowledge and solid experience in software development methodologies in our industry.

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

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

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

Survey objectives Survey/questionnaire objectives are to collect and relate (variously) the following data: Usage of software development methodologies in organisations. Organisation size Techniques used with the various development lifecycles Organisational culture and work environment Investigate individual project, by collecting the following: Project status and duration Project complexity Software development lifecycle and techniques used in project. Rate of change in project Project constraints Project criticality Team factors in the project Management/leadership experience General information based on participants experience

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

Survey results - 2 Organisation cultural factors were assumed influence use of development methodologies. The analysed data showed no clear evidence to support the assumption.

Survey results - 3 Organisation size and team size did not determine the suitability of particular methodologies. Difficult to draw conclusion on the relationship of these factors on development methodologies.

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

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

Survey results- 6 Results show slight evidence of using combination of lifecycles in one project. Three projects have used two lifecycles. First project have used waterfall and incremental Second project have used Incremental and agile Third project have used waterfall and iterative

Survey results- 7 Confirm waterfall lifecycles are not useful where project requirements/goals are not mature. Finally, I believe that the project objectives were achieved and the results of the survey were adequate.

Future study - 1 The following issues should be explored further in future research: Every agile methods (e.g.( XP, Scrum), has its own characteristics and purpose of use. Future study should look closely the differences. Agile methods needs separate research. The effect of rate of change in the project on methodology. The suitability of programming languages with lifecycles. The use of combination methods in one project.

Future study - 2 The relationship and effect of organisation size (small, medium and large) on development methodologies in more detail The relationship and effect of project size (small, medium and large) on development methodologies in more detail The relationship between project type and development methodology Explore the relationship between techniques and lifecycles in more detail