Software Development Process Selection Approaches

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "Software Development Process Selection Approaches"

Transcription

1 The Journal of Applied Science Vol. 11 No. Vol. 2: No. 2 [2012] ISSN Printed in Thailand Review Article Software Development Process Selection Approaches Phongphan Danphitsanuphan Department of Computer and Information Science King Mongkut's University of Technology, North Bangkok address: Abstract In the world of software development, there are 2 main software process categories which are the Plan driven model and the Agility model. For decades, there have been many arguments about the advantages/disadvantages regarding these models and how to select the right set of processes for each particular software project. In 21th century, Hybrid model which is the combination of the Plan-driven and the Agility has emerged to cope with larger size and more complex software projects. However, there is still no silver bullet solution for software development as a whole when attempting to acquire good product quality and performance with a limited budget and timeframe. Keywords: Software process selection, Plan driven model, Agility Model, CMMI Plan driven model This model emphasizes a predefined solid set of software development procedures which pose questions such as what, when, how and who for each development step. Examples of the Plan driven model are Waterfall, CMMI, Rational development and TSP. Waterfall and CMMI are very popular in the software industry. Waterfall model, which originated in 1970s, is one of the oldest software development models and it engineers software like hardware machine. It is considered the simplest model of it kind. It is necessary for practitioners to proceed the following phases in a fix order. These steps consist of Requirement, Design, Coding, Integration testing, System testing, User acceptant testing and Operation & Maintenance as shown in figure 1. Figure 1: Water fall model [http:// ] 45

2 This model is suitable for small, less-complex software projects that have clear requirement. It does not recommend each step to be reversed when fixing or making change to pieces of software once it has already been completed. This strategy encourages users to carefully consider what they are doing at each step thus ensuring a lot less defects when it comes to the finish product. Prior to the system design project, the project manager can plan the schedule and estimate the size of the team along with finalizing the resources in term of cost and time. Nevertheless, what if we cannot anticipate all the requirements and software specifications at the early phases of development? We might not be able to answer following questions. How much should we charge the customer? How many developers should be allocated? How long will the project last? These questions have been classic problems of this industry for decades. The embedded system (software application on hardware) is a good example to successfully implement the waterfall model since it has a solid set of specifications along with the output of each step. On the assembly line, a product cannot be rolled back to be fixed if a defect occurs. Another good example of using the waterfall model is contract-based (small & less-complex) software development due to predefined the project s scope of work, timeframe and fixed budget. Most government units around the world still draw up a contract based on Water fall model and tighten up each process with terms of payment and project deliverable items. CMMI [1] stands for Capability Maturity Model Integration, the most well-known process improvement approach of Plan driven models. CMMI believes that a set of good processes result in a high quality product even if the project size is big in terms of team members, number of delivered features, or its complexity. It looks at the software business it would any normal manufacturer. Fundamentally, CMMI does not tell the implementer how to do each process but rather it requires what needs to be done by providing a check list. A software organization must come up with its own procedures for individual step. Lots of companies can take years to acquire their own set of solid processes and rules. CMMI tends to have firm foundation before moving on to the next phase of development in the same way of the waterfall model. For example, product requirement needs to be completed and signed off by the customer before starting the design phase; architecture and design have to be mutually agreed before moving on to coding phase. This scheme will be hard if we have an ambiguous and uncompleted set of requirements at the very beginning of the project, or if requirements keep changing all the time. It is possible the customer might not know what they want until they see the final product. It is hard to decide when there has been enough reviewing of requirement and architecture improvements. If we can make this decision, we can then start coding confident that there will be less rework. Figure 2: CMMI model [http://www.cmmilevels.com/] 46

3 CMMI has 5 maturity levels which higher level implicates the better of product quality and the clearer of project visibility. All software companies already get level 1 by requiring nothing. Processes initiation and implementation are focused in level 2 and 3. In level 4, important statistical data, while implementing software projects in previous levels, will be recorded such as programmer performance (number of source line of code / hour), defect density rate (number of bugs), distribution time consumption per each phases. After that, these data will be analyzed to improve current software development processes of level 2 and 3 to achieve a better cost & time estimation and to optimize resource usage. CMMI uses documents as a tool to reinforce its quality processes and to transfer project knowledge which drives common understanding among project team member. The model can handle large scale of project with complication. However, about 30-40% of human effort will be used for producing and fixing documents. This extra work increases project cost and delay time to market. Agility model Once we cannot afford costly quality processes of the plan driven model and delivery time cannot be waited. Agility people believe that if we have all the best people with experiences and discipline, less documents and quality processes will be needed to acquire to build a good product. Agility is likely to use developer themselves to do knowledge transfer throughout the project and to work very closely to users. Normally, a team size is about 4-6 people. The most important set of requirements are elaborated with users and rushed to code, test and delivery to customer only as a running prototype in order to get early feedbacks and new requirements then the team will make a bigger prototype until it becomes a final software product. If requirement will be changed, the less effort will be required than plan driven model in term of documentation work. However, if the project is too big and complicated, it s hard to estimate the project duration. How much money needed to be allocated? Besides, what if a few key-mans leaves the project at the critical time? Extreme programming [2] is one of the most popular agility models. It provides set of rules and practices according to agility ideas. It believes that understandable source code with thoughtful comments can be a design document and everyone owns every piece of source code. One of the popular practices is pair programming technique which will require 2 programmers who have same level of project knowledge and skills to work together side by side. While coding by a programmer, another one will be doing real-time review a structure of the code and assist to have a better design and test at the same time; so, they can take turn all the time. Project will be finished fast, flawless and predictable if it is small and less complicated. Nevertheless, theses idea is not practical for large number of team member. In addition, the quality of the product relies on the quality of people and their compatibility. Figure 3: Extreme Programming process flow [http://www.extremeprogramming.org] 47

4 Model comparison Dr Boehm [3] has clearly summarized the comparison in the 4 areas to contrast between the Agility and the Plan-Driven methods as shown in table 1. Characteristics Agile Plan-driven Application Primary goals Rapid value; responding to change Predictability, stability, high assurance Size Smaller teams and projects Larger teams and projects Environment Turbulent; high change; projectfocused Stable; low-change; project/organization focused Management Customer Relations Dedicated on-site customer; focused on prioritizing incremental development As-needed customer interactions; focused on contract provisions Planning and control Internalized plan; qualitative control document plans, quantitative control Communication Tacit interpersonal knowledge Explicit documented knowledge Technical Requirement Development Testing Personal Prioritized informal stories and test cases; undergoing unforeseeable change Simple design short increments; refactoring assumed inexpensive Executable test cases define requirements Formalized project, capability, interface, quality, foreseeable evolution requirements Extensive design longer increments; refactoring assumed expensive Documented test plans and procedures Customer Dedicated, collocated CRACK* performers CRACK* performers, not always collocated Culture Comfort and empowerment via many degrees of freedom (thriving on chaos) Comfort and empowerment via framework and policies and procedures (thriving on order) * Collaborative, Representative, Authorized, Committed and Knowledgeable Table 1: the characteristic of Agility and the Plan-Driven project comparison How to select software development methodology? Regarding to Balancing Agility and Discipline, A Guide for the perplexed [4], There are 5 basic factors used to evaluate whether Agility and Plan drive model is suitable for a particular software project as depicted in figure [3]. 48

5 Figure 3: Example of software project profile Criticality is the first factor to be considered. If the software project concerns many lives, single life or a lot of money such as nuclear plant, air traffic control system or banking system, Plan driven model should be deployed to implement this kind of projects. On another hand, if we are doing entertainment applications like informative web-sites or games, the Agility model would be preferred to cope with uncertainties of their project nature. The second factor is a size of personal related to the project. If there are many people in the team, disciplined processes and documents of the Plan driven model can be used to promote commonly understanding throughout the project. Moreover, a skill of personal would be the third factor. Regarding to Level of Software Method Understanding and Use by Cockburn [4], If we have experienced people who are able to revised a method (break its rules) to fit an unprecedented new situation, the Agility should be good option to proceed to save time and resources; yet, a software quality is maintained by these people. In contrast, the Plan driven model would be considered if the ratio of average-and-below (less experienced) developers is more than superior developers. Fourthly, dynamism of requirements, if we implement CMMI on the project which owner doesn t know what they want, time and resources would be wasted on architecture and documentation. We would rather do the quick prototype to get customer s feedback as one of the practice in agility scheme. Lastly, in a plan-driven culture (thriving on order), the team members feel comfortable when there are clear and solid procedures that label their responsibilities. In an agile culture (thriving on chaos), person s tasks are defined by current work problems which can be various and unpredictable. Processes can be dynamically adjusted based on what suit the team member s skill set and their availability. By rating a project alone each of five axes, you can assess whether plan driven or agility model suits your project the most. If all the ratings are toward center, agility will be your choice, and vise versa. If the rating is fall in the middle between Agility and Plan driven, hybrid or mixed models should be considered. Incremental Commitment Model [5] is a good example of hybrid kind. It flexibly allows mixed practices of both approaches to address the particular problem. It emphasizes risk-driven and evident base development. People are misleading to select wrong approach all the time. Some believe that Agility does not require to do planning or any documentation. In realities, light weight processes and ground rules are needed to discipline the project team member in order to acquire the quality. Some use the Agility to develop large and complex system by using simple design and architecture due to its lightweight processes. They get very good progress at the beginning 49

6 of the project. Then, the unexpected difficulty occurs and the current design cannot encounter this problem. They have to throw away everything and re-design and re-code again and again. A lot of companies use CMMI as a marketing tool to win the procurement to implement comfort or noncritical software projects, such as game or entertainment web-sites, which their requirement is usually changed. Moreover, People and their mandatory skill sets are always not enough to fill-up CMMI rules. Time and money are consumed unnecessary against project progress. It has been always a classis selecting-approach problem on the contract base project since its phases of development and the term of payment are always tight up together. For example, 30% of project cost will be paid upon delivery of System and software requirement description (SSRD). More 20% will be issued for the design and test-case documents. The rest will due on User acceptant testing (UAT) and successfully deploy. Obviously, it s term of payment for Water fall model. What if the project is not suitable for the Plan-driven model? What if incremental development; such as the Spiral model, is more promising method to the project characteristic? Procurement and technical people should work and decide together on development approach; and then draw the contract and terms of payment against project character. REFERENCES [1] Software Engineering Institute. "Capability maturity Model Integration (CMMI) Version 1.1", Carnegie Mellon University, [2] Macias, F.; Holcombe, M.; Gheorghe, M. A formal experiment comparing extreme programming with traditional software constrcution Computer Science, Enc Proceedings of the Fourth Mexican International Conference of Digital Object Identifier.Mexico, [3] Barry Boehm. Software Engineering: Lifetime Contributions to Software Development, Management, and Research (Practioners) Wiley-IEEE Computer Society Pr; 1 edition. ISBN , Jul [4] Barry Boehm, Richard Turner, Grady Booch, Alistair Cockburn "Balancing Agility and Discipline: A Guide for the Perplexed" Addison-Wesley USA. ISBN , Aug [5] Boehm, B.; Lane, J.A. "New processes for new horizons: the incremental commitment model Software Engineering, 2010 ACM/IEEE 32 nd International Conference. Volumn 2, May

A Comparison between Five Models of Software Engineering

A Comparison between Five Models of Software Engineering International Journal of Research in Information Technology (IJRIT) www.ijrit.com ISSN 2001-5569 A Comparison between Five Models of Software Engineering Surbhi Gupta, Vikrant Dewan CSE, Dronacharya College

More information

In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is:

In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is: In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is: The period of time that starts when a software product is conceived and ends when the product is no longer

More information

ASSESSMENT OF SOFTWARE PROCESS MODELS

ASSESSMENT OF SOFTWARE PROCESS MODELS ASSESSMENT OF SOFTWARE PROCESS MODELS Akhilesh Research Scholar, Department of Computer Science, Manav Bharti University, Solan (H.P.) ABSTRACT The field of software engineering is related to the development

More information

Agile Projects 7. Agile Project Management 21

Agile Projects 7. Agile Project Management 21 Contents Contents 1 2 3 Agile Projects 7 Introduction 8 About the Book 9 The Problems 10 The Agile Manifesto 12 Agile Approach 14 The Benefits 16 Project Components 18 Summary 20 Agile Project Management

More information

(Refer Slide Time: 01:52)

(Refer Slide Time: 01:52) Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This

More information

Software Development Process

Software Development Process Software Development Process A software development process, also known as software development lifecycle, is a structure imposed on the development of a software product. Similar terms include software

More information

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW Year 2014, Vol. 1, issue 1, pp. 49-56 Available online at: http://journal.iecuniversity.com TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW Singh RANDEEP a*, Rathee AMIT b a* Department of

More information

Introduction to Agile Software Development

Introduction to Agile Software Development Introduction to Agile Software Development Word Association Write down the first word or phrase that pops in your head when you hear: Extreme Programming (XP) Team (or Personal) Software Process (TSP/PSP)

More information

A Capability Maturity Model (CMM)

A Capability Maturity Model (CMM) Software Development Life Cycle (SDLC) and Development Methods There are some enterprises in which a careful disorderliness is the true method. Herman Melville Capability Maturity Model (CMM) A Capability

More information

An Assessment between Software Development Life Cycle Models of Software Engineering

An Assessment between Software Development Life Cycle Models of Software Engineering International Journal of Electronics and Computer Science Engineering 700 Available Online at www.ijecse.org ISSN- 2277-1956 An Assessment between Software Development Life Cycle Models of Software Engineering

More information

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. CS 389 Software Engineering Lecture 2 Chapter 2 Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. Topics covered Software process models Process activities Coping

More information

Why Agile Works: Economics, Psychology, and Science. @MatthewRenze #PrDC16

Why Agile Works: Economics, Psychology, and Science. @MatthewRenze #PrDC16 Why Agile Works: Economics, Psychology, and Science @MatthewRenze #PrDC16 Purpose Explain why Agile practices are so successful Insights from: Economics Psychology Science Top 7 most important ideas Ideas

More information

CRITICAL ANALYSYS OF THE SCRUM PROJECT MANAGEMENT METHODOLOGY

CRITICAL ANALYSYS OF THE SCRUM PROJECT MANAGEMENT METHODOLOGY N ft n il Ionel CRITICAL ANALYSYS OF THE SCRUM PROJECT MANAGEMENT METHODOLOGY The Academy of Economic Studies Bucharest, Management Faculty, 6 Romana Square, Sector 1, Bucharest, Management Chair, E-mail:

More information

Agile Processes and Methodologies: A Conceptual Study

Agile Processes and Methodologies: A Conceptual Study Agile Processes and Methodologies: A Conceptual Study Sheetal Sharma Amity School of Engineering & Technology Amity University Noida Sheetal.meenu@gmail.com Darothi Sarkar Amity School of Engineering &

More information

Redesigned Framework and Approach for IT Project Management

Redesigned Framework and Approach for IT Project Management Vol. 5 No. 3, July, 2011 Redesigned Framework and Approach for IT Project Management Champa Hewagamage 1, K. P. Hewagamage 2 1 Department of Information Technology, Faculty of Management Studies and Commerce,

More information

Best-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler

Best-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler Best-Practice Software Engineering: Software Processes to Support Project Success Dietmar Winkler Vienna University of Technology Institute of Software Technology and Interactive Systems Dietmar.Winkler@qse.ifs.tuwien.ac.at

More information

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

Lecture Objectives. Software Life Cycle. Software Engineering Layers. Software Process. Common Process Framework. Umbrella Activities Software Life Cycle Lecture Objectives What happens in the life of software To look at the life cycle of a software To understand the software process and its related elements To relate to the different

More information

COMP 354 Introduction to Software Engineering

COMP 354 Introduction to Software Engineering COMP 354 Introduction to Software Engineering Greg Butler Office: EV 3.219 Computer Science and Software Engineering Concordia University, Montreal, Canada Email: gregb@cs.concordia.ca Winter 2015 Course

More information

Agile Models. Software Engineering 2004-2005. Marco Scotto (Marco.Scotto@unibz.it) Software Engineering

Agile Models. Software Engineering 2004-2005. Marco Scotto (Marco.Scotto@unibz.it) Software Engineering Agile Models 2004-2005 Marco Scotto (Marco.Scotto@unibz.it) Content Introduction Tame projects & wicked projects Win-Win Spiral software development model XP software development process Enforcing the

More information

Introduction to Software Project Management. CITS3220 Software Requirements & Project Management

Introduction to Software Project Management. CITS3220 Software Requirements & Project Management Introduction to Software Project Management CITS3220 Software Requirements & Project Management "A project gets a year late one day at a time." "Anything that can be changed will be changed until there

More information

A Comparison Between Five Models Of Software Engineering

A Comparison Between Five Models Of Software Engineering 94 A Comparison Between Five Models Of Software Engineering Nabil Mohammed Ali Munassar 1 and A. Govardhan 2 1 Ph.D Student of Computer Science & Engineering Jawahrlal Nehru Technological University Kuktapally,

More information

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

6. Software Lifecycle Models. A software lifecycle model is a standardised format for planning organising, and running a new development project. 6. Software Lifecycle Models A software lifecycle model is a standardised format for planning organising, and running a new development project. Hundreds of different kinds of models are known and used.

More information

Lecture 8 About Quality and Quality Management Systems

Lecture 8 About Quality and Quality Management Systems Lecture 8 About Quality and Quality Management Systems Kari Systä 10.03.2014 10.03.2014 TIE-21100/21106; K.Systä 1 Content of today s lecture Two weeks ago we discussed about testing and inspections, that

More information

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

Software Development Life Cycle Models - Process Models. Week 2, Session 1 Software Development Life Cycle Models - Process Models Week 2, Session 1 PROCESS MODELS Many life cycle models have been proposed } Traditional Models (plan-driven) } Classical waterfall model } Iterative

More information

Software Development Life Cycle (SDLC)

Software Development Life Cycle (SDLC) Software Development Life Cycle (SDLC) Supriyo Bhattacharjee MOF Capability Maturity Model (CMM) A bench-mark for measuring the maturity of an organization s software process CMM defines 5 levels of process

More information

Software Quality Assurance in Agile, XP, Waterfall and Spiral A Comparative Study

Software Quality Assurance in Agile, XP, Waterfall and Spiral A Comparative Study Software Quality Assurance in Agile, XP, Waterfall and Spiral A Comparative Study S. Vijayakumar vijsy003@students.unisa.edu.au School of Computer and Information Science University of South Australia,

More information

Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal alain.april@etsmtl.ca

Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal alain.april@etsmtl.ca Using Simulation to teach project management skills Dr. Alain April, ÉTS Montréal alain.april@etsmtl.ca Agenda of the workshop 1 The software project management theory overview (40 minutes) 2 Why use SDLC

More information

Agile Methodologies and Its Processes

Agile Methodologies and Its Processes International Journal of Computational Engineering Research Vol, 03 Issue, 9 Agile Methodologies and Its Processes 1, Akanksha, 2, Akansha Rakheja, 3, Latika Kapur, 4, Kanika Ahuja 1,2,3,, Information

More information

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

INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal Research Article ISSN 2277 9140 ABSTRACT Analysis and tabular comparison

More information

The Role of Software Quality in Agile Software Development Methodologies Osama Sohaib and Khalid Khan Abstract he various agile software development methodologies have promoted since their inception and

More information

Agile So)ware Development

Agile So)ware Development Software Engineering Agile So)ware Development 1 Rapid software development Rapid development and delivery is now often the most important requirement for software systems Businesses operate in a fast

More information

Singhania University, Jhunjhunu, Rajasthan, India. 2 Department of Information Technology King Abdul Aziz University, Jeddah, Saudi Arabia

Singhania University, Jhunjhunu, Rajasthan, India. 2 Department of Information Technology King Abdul Aziz University, Jeddah, Saudi Arabia www.ijcsi.org 441 A Comprehensive Study of Commonly Practiced Heavy and Light Weight Software Methodologies 1 Asif Irshad Khan, 2 Rizwan Jameel Qurashi and 3 Usman Ali Khan 1 Department of Computer Science

More information

Topics covered. Agile methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods

Topics covered. Agile methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods Topics covered Chapter 3 Agile Software Development Agile methods Plan-driven and agile Extreme programming Agile project management Scaling agile methods 1 2 Need for rapid software Rapid software Changing

More information

ST3006 - Software Engineering

ST3006 - Software Engineering University of Dublin Trinity College ST3006 - Software Engineering Anthony Harrington Department of Computer Science Trinity College Dublin Anthony.Harrington@cs.tcd.ie Lifecycles A software project goes

More information

CSE 435 Software Engineering. Sept 16, 2015

CSE 435 Software Engineering. Sept 16, 2015 CSE 435 Software Engineering Sept 16, 2015 2.1 The Meaning of Process A process: a series of steps involving activities, constraints, and resources that produce an intended output of some kind A process

More information

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Modellistica Medica Maria Grazia Pia INFN Genova Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Lezione 16-17 Introduction to software process Software process models,

More information

Agile development of safety-critical software while meetings standards' requirements

Agile development of safety-critical software while meetings standards' requirements 1(37) Agile development of safety-critical software while meetings standards' requirements Matti Vuori, Tampere University of Technology 2011-11-04 Contents 1/2 A study in Ohjelmaturva 4 Tendency to be

More information

Quality Assurance Software Development Processes

Quality Assurance Software Development Processes Quality Assurance Software Development Processes Part II - Lecture 3 1 The University of Auckland New Zealand 254 12/09/ /2012 The FBI Virtual Case File 254 12/09/ /2012 Database application developed

More information

Changing Roles and Responsibilities from Traditional project management to Agile project management

Changing Roles and Responsibilities from Traditional project management to Agile project management Changing Roles and Responsibilities from Traditional project management to Agile project management Vishvadeep Tripathi School of computer science and IT Devi Ahilya University Indore, India vishvadeep@gmail.com

More information

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution Software Life Cycle Main issues: Discussion of different life cycle models Maintenance or evolution Not this life cycle SE, Software Lifecycle, Hans van Vliet, 2008 2 Introduction software development

More information

MANAGING CRITICAL KNOWLEDGE MANAGEMENT ISSUES IN GLOBAL SOFTWARE DEVELOPMENT PROJECTS

MANAGING CRITICAL KNOWLEDGE MANAGEMENT ISSUES IN GLOBAL SOFTWARE DEVELOPMENT PROJECTS MANAGING CRITICAL KNOWLEDGE MANAGEMENT ISSUES IN GLOBAL SOFTWARE DEVELOPMENT PROJECTS Che-Hung Liu, Florida International University, cliu001@fiu.edu Roman Wong, Barry University, rwong@barry.edu Yen-Tzu

More information

Measurement repository for Scrum-based software development process

Measurement repository for Scrum-based software development process Measurement repository for Scrum-based software development process VILJAN MAHNIC, NATASA ZABKAR Faculty of Computer and Information Science University of Ljubljana Trzaska 25, SI-1000 Ljubljana SLOVENIA

More information

WHY THE WATERFALL MODEL DOESN T WORK

WHY THE WATERFALL MODEL DOESN T WORK Chapter 2 WHY THE WATERFALL MODEL DOESN T WORK M oving an enterprise to agile methods is a serious undertaking because most assumptions about method, organization, best practices, and even company culture

More information

Introduction to Software Engineering

Introduction to Software Engineering CS1Ah Lecture Note 7 Introduction to Software Engineering In this note we provide an overview of Software Engineering. The presentation in this lecture is intended to map out much of what we will study

More information

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

The most suitable system methodology for the proposed system is drawn out. 3.0 Methodology 3.1 Introduction In this chapter, five software development life cycle models are compared and discussed briefly. The most suitable system methodology for the proposed system is drawn out.

More information

CS4507 Advanced Software Engineering

CS4507 Advanced Software Engineering CS4507 Advanced Software Engineering Lectures 2 & 3: Software Development Lifecycle Models A O Riordan, 2015 Some diagrams from Sommerville, some notes from Maciaszek/Liong Lifecycle Model Software development

More information

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

Application of software product quality international standards through software development life cycle Central Page 284 of 296 Application of software product quality international standards through software development life cycle Mladen Hosni, Valentina Kirinić Faculty of Organization and Informatics University

More information

Balancing Agility and Discipline in a Medical Device Software Organisation

Balancing Agility and Discipline in a Medical Device Software Organisation Balancing Agility and Discipline in a Medical Device Software Organisation Martin McHugh 1, Fergal McCaffery 1, Brian Fitzgerald 2, Klaas-Jan Stol 2 Valentine Casey 1 and Garret Coady 3 1 Regulated Software

More information

Success Factors of Agile Software Development

Success Factors of Agile Software Development Success Factors of Agile Software Development Subhas C. Misra, Vinod Kumar, and Uma Kumar Carleton University, Ottawa, Canada Abstract Agile software development methodologies have recently gained widespread

More information

Agile-Fall Process Flow Model A Right Candidate for Implementation in Software Development and Testing Processes for Software Organizations

Agile-Fall Process Flow Model A Right Candidate for Implementation in Software Development and Testing Processes for Software Organizations www.ijcsi.org 457 Agile-Fall Process Flow Model A Right Candidate for Implementation in Software Development and Testing Processes for Software Organizations Prakash.V SenthilAnand.N Bhavani.R Assistant

More information

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS) CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS) Prescriptive Process Model Defines a distinct set of activities, actions, tasks, milestones, and work products that are required to engineer high quality

More information

Software Quality and Agile Methods

Software Quality and Agile Methods Software Quality and Agile Methods Ming Huo, June Verner, Liming Zhu, Muhammad Ali Babar National ICT Australia Ltd. and University of New South Wales, Australia {mhuo, jverner, limingz, malibaba }@cse.unsw.edu.au

More information

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

Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur Module 2 Software Life Cycle Model Lesson 4 Prototyping and Spiral Life Cycle Models Specific Instructional Objectives At the end of this lesson the student will be able to: Explain what a prototype is.

More information

Applying Agile Methods in Rapidly Changing Environments

Applying Agile Methods in Rapidly Changing Environments Applying Agile Methods in Changing Environments 7/23/2002 1 Applying Agile Methods in Rapidly Changing Environments Peter Kutschera IBM Unternehmensberatung GmbH Am Fichtenberg 1, D-71803 Herrenberg Steffen

More information

IMEO International Mass Event Organization based on Recent Experience of Euro 2012

IMEO International Mass Event Organization based on Recent Experience of Euro 2012 IMEO International Mass Event Organization based on Recent Experience of Euro 2012 1. Name of the project: Project Management 2. Leader of the workshop (materials' author): Szymon Włochowicz 1 Objectives

More information

EPL603 Topics in Software Engineering

EPL603 Topics in Software Engineering Lecture 3 Agile Software Development EPL603 Topics in Software Engineering Efi Papatheocharous Visiting Lecturer efi.papatheocharous@cs.ucy.ac.cy Office FST-B107, Tel. ext. 2740 Topics covered Agile methods

More information

What is a life cycle model?

What is a life cycle model? What is a life cycle model? Framework under which a software product is going to be developed. Defines the phases that the product under development will go through. Identifies activities involved in each

More information

Software Development Process and Activities. CS 490MT/5555, Fall 2015, Yongjie Zheng

Software Development Process and Activities. CS 490MT/5555, Fall 2015, Yongjie Zheng Software Development Process and Activities CS 490MT/5555, Fall 2015, Yongjie Zheng Software Process } A set of activities that leads to the production of a software product } What product we should work

More information

AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT

AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT Shivangi Shandilya, Surekha Sangwan, Ritu Yadav Dept. of Computer Science Engineering Dronacharya College Of Engineering, Gurgaon Abstract- Looking at the software

More information

Cost Estimation Strategies COST ESTIMATION GUIDELINES

Cost Estimation Strategies COST ESTIMATION GUIDELINES Cost Estimation Strategies Algorithmic models (Rayleigh curve Cost in week t = K a t exp(-a t 2 ) Expert judgment (9 step model presented later) Analogy (Use similar systems) Parkinson (Work expands to

More information

Software Quality and Assurance in Waterfall model and XP - A Comparative Study

Software Quality and Assurance in Waterfall model and XP - A Comparative Study Software Quality and Assurance in Waterfall model and XP - A Comparative Study Dr. Sana a Jawdat Khalaf Sana_j_11@hotmail.com Dr. Mohamed Noor Al-Jedaiah m_aljedaiah@ammanu.edu.jo Abstract: -Dealing with

More information

The Discipline of Product Management

The Discipline of Product Management The Discipline of Product Management Phillip J. Windley, Ph.D. Chief Information Officer Office of the Governor State of Utah Product development is the process of designing, building, operating, and maintaining

More information

Balancing Plan-Driven and Agile Methods in Software Engineering Project Courses

Balancing Plan-Driven and Agile Methods in Software Engineering Project Courses Computer Science Education 0899-3408/02/1203-187$16.00 2002, Vol. 12, No. 3, pp. 187±195 # Swets & Zeitlinger Balancing Plan-Driven and Agile Methods in Software Engineering Project Courses Barry Boehm,

More information

Lean Development A team approach to Software Application Development

Lean Development A team approach to Software Application Development Lean Development A team approach to Software Application Development By P. Nallasenapathi Vice President, Saksoft Date: March 2006 India Phone: +91 44 2461 4501 Email: info@saksoft.com USA Phone: +1 212

More information

Ingegneria del Software Corso di Laurea in Informatica per il Management. Software process model

Ingegneria del Software Corso di Laurea in Informatica per il Management. Software process model Ingegneria del Software Corso di Laurea in Informatica per il Management Software process model Davide Rossi Dipartimento di Informatica Università di Bologna The task of the software development team

More information

A Survey of Software Development Process Models in Software Engineering

A Survey of Software Development Process Models in Software Engineering , pp. 55-70 http://dx.doi.org/10.14257/ijseia.2015.9.11.05 A Survey of Software Development Process Models in Software Engineering Iqbal H. Sarker 1, Faisal Faruque 1, Ujjal Hossen 2 and Atikur Rahman

More information

Comparing Plan-Driven and Agile Project Approaches

Comparing Plan-Driven and Agile Project Approaches Comparing Plan-Driven and Agile Project Approaches A Personal Perspective Presented by: Craig D. Wilson Matincor, Inc. Copyright 2006-2010 2010 Outline Introduction to System Development Methodology Contrasting

More information

C. Wohlin, "Managing Software Quality through Incremental Development and Certification", In Building Quality into Software, pp. 187-202, edited by

C. Wohlin, Managing Software Quality through Incremental Development and Certification, In Building Quality into Software, pp. 187-202, edited by C. Wohlin, "Managing Software Quality through Incremental Development and Certification", In Building Quality into Software, pp. 187-202, edited by M. Ross, C. A. Brebbia, G. Staples and J. Stapleton,

More information

Software Development Processes. Software Life-Cycle Models

Software Development Processes. Software Life-Cycle Models 1 Software Development Processes Sequential, Prototype-based RAD, Phased, Risk-based Spiral (c) 1998 M Young CIS 422/522 4/3/98 1 Software Life-Cycle Models Breaking projects down into pieces for... Planning

More information

Planned Methodologies vs. Agile Methodologies under the Pressure of Dynamic Market

Planned Methodologies vs. Agile Methodologies under the Pressure of Dynamic Market JKAU: Eng. Sci., Vol. 21 No.1 pp: 19-35 (1431A.H./2010 A.D.) DOI: 10.4197 / Eng. 21-1.2 Planned Methodologies vs. Agile Methodologies under the Pressure of Dynamic Market Faculty of Computer Science and

More information

Lean Software Development and Kanban

Lean Software Development and Kanban 1 of 7 10.04.2013 21:30 Lean Software Development and Kanban Learning Objectives After completing this topic, you should be able to recognize the seven principles of lean software development identify

More information

Selecting a Software Development Methodology based on. Organizational Characteristics. Adrienne Farrell

Selecting a Software Development Methodology based on. Organizational Characteristics. Adrienne Farrell ATHABASCA UNIVERSITY Selecting a Software Development Methodology based on Organizational Characteristics BY Adrienne Farrell An essay submitted in partial fulfillment Of the requirements for the degree

More information

Software Engineering

Software Engineering 1 Software Engineering Lecture 2: Software Life Cycles Stefan Hallerstede Århus School of Engineering 25 August 2011 2 Contents Naive Software Development Code & Fix Towards A Software Process Software

More information

Génie Logiciel et Gestion de Projets. Software Processes Focus on Extreme Programming

Génie Logiciel et Gestion de Projets. Software Processes Focus on Extreme Programming Génie Logiciel et Gestion de Projets Software Processes Focus on Extreme Programming 1 Roadmap Process, Method, Methodology?? What is a software process? Software Process Models Methodologies: RUP Focus

More information

Software Process Models. Xin Feng

Software Process Models. Xin Feng Software Process Models Xin Feng Questions to Answer in Software Engineering? Questions to answer in software engineering What is the problem to be solved? Definition What are the characteristics of the

More information

Building Software in an Agile Manner

Building Software in an Agile Manner Building Software in an Agile Manner Abstract The technology industry continues to evolve with new products and category innovations defining and then redefining this sector's shifting landscape. Over

More information

Abstract. 1 Introduction

Abstract. 1 Introduction Amir Tomer Amir Tomer is the Director of Systems and Software Engineering Processes at RAFAEL Ltd., Israel,with whom he has been since 1982,holding a variety of systems and software engineering positions,both

More information

Agile Software Engineering, a proposed extension for in-house software development

Agile Software Engineering, a proposed extension for in-house software development Journal of Information & Communication Technology Vol. 5, No. 2, (Fall 2011) 61-73 Agile Software Engineering, a proposed extension for in-house software development Muhammad Misbahuddin * Institute of

More information

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology Peter Mileff PhD SOFTWARE ENGINEERING The Basics of Software Engineering University of Miskolc Department of Information Technology Introduction Péter Mileff - Department of Information Engineering Room

More information

ABHINAV NATIONAL MONTHLY REFEREED JOURNAL OF RESEARCH IN SCIENCE & TECHNOLOGY www.abhinavjournal.com

ABHINAV NATIONAL MONTHLY REFEREED JOURNAL OF RESEARCH IN SCIENCE & TECHNOLOGY www.abhinavjournal.com SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC) ANALYTICAL COMPARISON AND SURVEY ON TRADITIONAL AND AGILE METHODOLOGY Sujit Kumar Dora 1 and Pushkar Dubey 2 1 Programmer, Computer Science & Engineering, Padmashree

More information

Accelerating software testing effectiveness using Agile methodologies..

Accelerating software testing effectiveness using Agile methodologies.. Accelerating software testing effectiveness using Agile methodologies.. How can testing be completed faster, and more efficiently, within short iterations? The Problem It is a painful paradox that while

More information

Software Development Processes. Software Life-Cycle Models. Process Models in Other Fields. CIS 422/522 Spring 1998 1

Software Development Processes. Software Life-Cycle Models. Process Models in Other Fields. CIS 422/522 Spring 1998 1 1 Software Development Processes Sequential, Prototype-based RAD, Phased, Risk-based Spiral (c) 1998 M Young CIS 422/522 1/10/99 1 Software Life-Cycle Models Breaking projects down into pieces for... Planning

More information

Advanced Software Engineering. Software Development Processes

Advanced Software Engineering. Software Development Processes Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Advanced Software Engineering Software Development Processes Prof. Agostino Poggi Software Development

More information

Software Development Life Cycle & Process Models

Software Development Life Cycle & Process Models Volume 1, Issue 1 ISSN: 2320-5288 International Journal of Engineering Technology & Management Research Journal homepage: www.ijetmr.org Software Development Life Cycle & Process Models Paritosh Deore

More information

PERFORMANCE ENGINEERING IN SCRUM

PERFORMANCE ENGINEERING IN SCRUM PERFORMANCE ENGINEERING IN SCRUM Balasubramanian, Infosys Technologies Limited This paper describes how performance engineering as a software discipline should be planned and executed in an agile development

More information

The Software Life Cycle. CSE 308: Software Engineering

The Software Life Cycle. CSE 308: Software Engineering The Software Life Cycle CSE 308: Software Engineering 1 Life Cycle Models A software life cycle model represents all of the activities and work products necessary to develop a software system Life cycle

More information

An introduction to the benefits of Application Lifecycle Management

An introduction to the benefits of Application Lifecycle Management An introduction to the benefits of Application Lifecycle Management IKAN ALM increases team productivity, improves application quality, lowers the costs and speeds up the time-to-market of the entire application

More information

SOFTWARE PROCESS MODELS

SOFTWARE PROCESS MODELS SOFTWARE PROCESS MODELS Slide 1 Software Process Models Process model (Life-cycle model) - steps through which the product progresses Requirements phase Specification phase Design phase Implementation

More information

Software Project Models

Software Project Models INTERNATIONAL JOURNAL OF TECHNOLOGY ENHANCEMENTS AND EMERGING ENGINEERING RESEARCH, VOL 1, ISSUE 4 135 Software Project Models Abhimanyu Chopra, Abhinav Prashar, Chandresh Saini Email-abhinav.prashar@gmail.com,

More information

Plan-Driven Methodologies

Plan-Driven Methodologies Plan-Driven Methodologies The traditional way to develop software Based on system engineering and quality disciplines (process improvement) Standards developed from DoD & industry to make process fit a

More information

Software Development Life Cycle at SSPL. An Summary of Methodologies We Offer

Software Development Life Cycle at SSPL. An Summary of Methodologies We Offer Software Development Life Cycle at SSPL An Summary of Methodologies We Offer 10/29/2009 Table of Contents The SSPL Advantage... 2 Commonly Used SDLC Models at SSPL... 2 Waterfall Model... 2 Agile Model...

More information

Agile Software Development Methodologies and Its Quality Assurance

Agile Software Development Methodologies and Its Quality Assurance Agile Software Development Methodologies and Its Quality Assurance Aslin Jenila.P.S Assistant Professor, Hindustan University, Chennai Abstract: Agility, with regard to software development, can be expressed

More information

Transitioning Your Software Process To Agile Jeffery Payne Chief Executive Officer Coveros, Inc. jeff.payne@coveros.com www.coveros.

Transitioning Your Software Process To Agile Jeffery Payne Chief Executive Officer Coveros, Inc. jeff.payne@coveros.com www.coveros. Transitioning Your Software Process To Agile Jeffery Payne Chief Executive Officer Coveros, Inc. jeff.payne@coveros.com www.coveros.com 1 About Coveros Coveros helps organizations accelerate the delivery

More information

Understanding Agile Project Management

Understanding Agile Project Management Understanding Agile Project Management Author Melanie Franklin Director Agile Change Management Limited Overview This is the transcript of a webinar I recently delivered to explain in simple terms what

More information

Manage projects effectively

Manage projects effectively Business white paper Manage projects effectively HP Project and Portfolio Management Center and HP Agile Manager Table of contents 3 Executive summary 3 The HP Solution Invest in what matters most then

More information

Comparing Agile Software Processes Based on the Software Development Project Requirements

Comparing Agile Software Processes Based on the Software Development Project Requirements CIMCA 2008, IAWTIC 2008, and ISE 2008 Comparing Agile Software Processes Based on the Software Development Project Requirements Malik Qasaimeh, Hossein Mehrfard, Abdelwahab Hamou-Lhadj Department of Electrical

More information

Software Engineering and Scientific Computing

Software Engineering and Scientific Computing Software Engineering and Scientific Computing Barbara Paech, Hanna Valtokari Institute of Computer Science Im Neuenheimer Feld 326 69120 Heidelberg, Germany http://se.ifi.uni-heidelberg.de paech@informatik.uni-heidelberg.de

More information

Development Methodologies Compared

Development Methodologies Compared N CYCLES software solutions Development Methodologies Compared Why different projects require different development methodologies. December 2002 Dan Marks 65 Germantown Court 1616 West Gate Circle Suite

More information

Top 10 Tips for Successful Software Development Management

Top 10 Tips for Successful Software Development Management 71% of the software projects do not succeed! Top 10 Tips for Successful Software Development Management by Jack Bicer Here are some time tested guidelines that have been used extensively to deliver web

More information