Software Quality Assurance in Agile, XP, Waterfall and Spiral A Comparative Study
|
|
- Cecily Bradley
- 8 years ago
- Views:
Transcription
1 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, Adelaide Software quality engineering is essential to ensure that the developed software is of high quality. Quality assurance is an essential process in the development of any software. In order to achieve successful software products, quality is assessed in two ways. Firstly, quality is assessed during the development of the software and secondly, once the software is developed, it is assessed to check whether quality attributes are met. This paper focuses on the steps taken by Waterfall, Spiral, Agile, XP models to ensure quality. This comparative study proposes a de-facto standard to ensure quality using various software development models. S I. INTRODUCTION OFTWARE products developed are successful only if it assures high quality on delivery. Each application developed in a software project has its own quality issues. In order to overcome these issues the software development project must define its quality attributes initially during the planning phase [1].These operations depend on cost reduction but at the same time enhancing productivity and increasing income [2]. Quality according to the American National Standards Institute (ANSI) and the American Society for Quality (ANQ) is the features and characteristics of a product or service that impact the ability to assure given requirements. Quality frameworks have been developed by many researchers. For example, Garvin [3] developed a product quality framework. 1. Reliability: Prevents malfunctioning. 2. Conformance: Meets specified standards. 3. Features: Complements basic qualities. 4. Durability: Products lifetime measure. 5. Serviceability: Easy repair. 6. Performance: Basic working qualities. Parasuraman et al. [4] developed a five dimension service quality framework. 1. Tangibility: Equipments look and operation. 2. Reliability: Ability to perform accurately. 3. Responsiveness: Service support to customers. 4. Assurance: Builds trust among customers. 5. Understanding customer needs. This paper examines the software process models. This will be used to assist in choosing suitable models for developing high quality software. Following this, section II focuses on four software process models namely Waterfall, Agile, extreme Programming (one of the agile models) and Spiral. This section describes the phases of software development. Following this, section III describes the software quality development and assurance practices that are common in all the software development process models. Following this, section IV evaluates these process models and describes the quality assurance activities. Following this, in section V the author suggests a de-facto standard for the development of quality software. Finally the results are summarized in section V. Followed by the Employability skills in the appendix. II. BRIEF FOCUS ON SOFTWARE PROCESS MODELS A. Waterfall Model The software engineering community has introduced a number of methodologies to develop software since late 60s. As a result of research and continuous refinement, the models have now reached a stable level [5]. Each of these models addresses different developmental conditions and issues. The most traditional software development model is the waterfall model. This model could be used in both small and complex engineering projects and has been effective in complex projects [5]. The software development lifecycle is divided into five stages as shown in figure 1. In waterfall model the developmental activities include 1. Requirement definition 2. System and software design 3. Implementation and unit testing 4. Integration and system testing 5. Operation and maintenance [6]. The author has chosen this model because of its effectiveness in complex projects in addition to being traditional. Since it is linear, the quality assurance processes are clearly presented. Even though the waterfall model is successful in complex projects, it is unable to face changing requirements during its developmental process [5]. On the other hand, agile methods overcome the problems faced in the waterfall model.
2 2 B. Agile model Fig. 1: Waterfall model [7]. Agile methods were developed to face changing requirements. Agile model is a nine stage process as shown in figure 2. It is an iterative, self-organizing, incremental and emergent group of software development process [8]. Agile models deliver products in a short period when compared to waterfall model because of the following characteristics [8]. 1. Iterative: The entire system is developed by the analyst and based on the requirements and the subsystems are updated. 2. Self-organizing: Based on the skills the members of the development project are divided into teams and they report to their management. 3. Incremental: Each subsystem is developed in such a way that subsystems could be added to add functionality based on the requirements. 4. Emergent group: The project is based on increments, team and technology. The author has chosen this model because of its popularity of delivering products very quickly. The main aim of the author is to ensure whether the quickly delivered products meet the quality requirements. C. extreme Programming (XP) XP is based on the Agile model and is extensively used in small projects and ensures high quality products [9]. Agile methods like XP deliver products within a short period of time because of the techniques it follows. Some of the important techniques are 1. Simple planning 2. Short iteration 3. Early release 4. Frequent feedback from customers. The success of XP in delivering high quality products lies in the involvement of the end user as well as testing and reduced design efforts. A XP model is chosen when the team is small (consisting of around twenty developers) and there is no prior documentation of the project [9]. XP model is a five stage process [10] as shown in Figure Exploration: During this phase it is ensured whether the application could be developed using this model. The programmer estimates the time taken to develop the product and also experiment them based on their limitations. 2. Planning: In this phase the programmer and the customer decide on the date of delivery of the product. The time taken is approximately between two to six months. Furthermore this period is divided into iterations each with duration of four weeks. Test cases are defined in all iterations. 3. Productionizing: At this stage importance is given to ensure performance. Based on the feedback the production activities are slow down and risk management steps are taken. 4. Maintenance: This phase deals with adding new functionality to the already developed portion of the application. This phase makes sure the software satisfies all requirements and functions well. 5. Death: The final phase of the XP model is death. The model final dies when it is not able to satisfy further requirements of the customer. Fig. 2: Agile model [8]. Fig. 3: XP model [10].
3 3 D. Spiral model The spiral model is a combination of the waterfall and prototyping model [11]. A Spiral model can accommodate other software development process models in its stages based on which process suits its development. The Spiral model consists of four phases as shown in Figure 4 [11]. 1. Determine Objectives: In this phase the objective of the project, function, alternate methods to implement, constraints on choosing the alternate methods are identified. Communication between the developers and all the internal and external users takes place. 2. Identify and resolve risks: A preliminary design is laid for the system. This is the most important phase as it evaluates all the available alternatives and selects the best available method to develop a project at minimum costs. This phase identifies the possible risks that could be encounter during the development. If there is any uncertainty with the requirements then prototyping is used to find out the solution. 3. Development and test: The prototype is developed taking into consideration each characteristic that has to be present in the final product. This prototype represents the characteristics of the final product to be developed. 4. Plan the next iteration: The second prototype is developed after evaluation of the first prototype. The second prototype considers the strengths, weakness and risks of the previously designed prototype. Having considered the above factors the second model is planned, designed and tested. Fig. 4: Spiral model [11]. III. QUALITY ASSURANCE Software Quality Assurance ensures quality by examining each step of development during the entire process. Based on an analytical bottom-up approach certain quality development and assurance practices have been found to be common in these software development models [12]. 1. Iterative Software Development: The developmental process is iterative and incremental in order to maintain high quality standards. Based on the results obtained, the iterations have to be refined. The systems developed must be capable of accommodating subsystems. Each iteration cycle must include all the phases such as analysis, design, implementation, testing and deployment [8]. Iterative model is capable of dealing with changing user requirements. This model forces immediate feedback from the customers which further leads to quality improvement. Agile models are strictly iterative and hence demands components to be built on a daily basis. It also forces the developers to check for errors frequently and fix them within short period of time [13]. Integration of the components built must also be done daily. In order to maintain high quality, a lot of planning is required [14]. 2. Quality: Quality of the process must be considered as an important objective. The quality goals are documented by both the project team as well as the customer so that they can be achievable [14], [15]. The Spiral model defines the target of the project at the start and ensures their fulfillment at the completion of the project. 3. Continuous verification of Quality: Every change done to the process has to be documented. Only if the workflow is clearly defined with all changes been made, risk management would be easy. The quality of the product has to be tested extensively by means of both internal and external acceptance tests. The external test with the customer has to be done throughout the developmental phase. In Agile and Spiral models, quality is verified frequently through internal and external tests. This is essential to develop high quality products [14]. 4. Customer requirements: The requirements of the customer have to be documented not only in the beginning of the project but also document the changing requirements throughout the process. It is very essential to ensure that the requirements of the customer are satisfied to assure quality. In Agile, the customer involvement is high when compared to various traditional models [16]. 5. Architecture driven: Architecture has a major impact on software quality. The main reason for this is because of integration. Software development in recent time has time and cost constraints and hence reuse has become very popular [8], [9]. Hence an architecture that is well defined will allow integration and reuse. In Agile the architecture is well defined and hence ensures quality. 6. Focus on teams: The entire team is responsible for the success or failure of the project. In such teams motivation is an important factor that would lead to the development of successful projects. For a software development project to be successful a team has to be well defined, with tasks clearly defined and good communication between them. In agile based on the skills the project members are divided into teams and their tasks are well defined [13].
4 4 7. Pair programming: Pair programming is another criterion that is essential for high quality software. XP demonstrates pair programming in which one person implements the current method while the other works on integration. Better solutions are more likely in pair programming because each individual has a different perspective and hence compliments others in the team to solve the problem. Pair programming is a dynamic quality assurance technique in XP [17]. 8. Tailoring with restrictions: The core elements are developed in such a way that it could be added to other complex projects [8]. The number of core elements should be low in order to ensure quality. Spiral model focuses on incremental and integration. 9. Configuration and change management: All the objectives have to be documented along with the changes being made each time. A well defined configuration and change management ensures high quality in the developed project [18]. Agile method gives utmost importance to documentation. 10. Risk Management: Risk management is very essential to ensure quality. Risk management provides an opportunity to act rather than reacting to problems. Effective management of risk cuts down cost of rebuilding the entire product at later stages of development [11]. Spiral model mitigates risk in its exploration phase. IV. EVALUATION OF THE QUALITY SUPPORT IN AGILE, XP, SPIRAL AND WATERFALL In this section the author makes a comparative study of the Quality assurance activities present in Agile, XP with Waterfall, Spiral. The reason for the author s choice of comparing Agile, XP with Waterfall, spiral is because of their quality assurance activities that are found to be similar. A. Quality Assurance (QA) in Agile, XP: In the Agile model the phases overlap. The exploration phase in XP deals with risk management by exploring the limitations and experimenting to find out the risks involved. This determines whether the product could be developed using this model in a cost effective manner within the time constraints. This activity ensures quality as it identifies risks and eliminates them. The development phases in the agile model are similar to the waterfall model. XP uses dynamic technology [17]. The two main differences between the Agile and Waterfall models are: 1. Some phases in agile have both developments as well as QA activities [17]. 2. The output produced is immediately sent to assure quality even if the output is small. This is the main reason for projects developed using agile to be delivered quickly [17]. Some of these which support development as well as quality assurance are a. Formal architecture is avoided and system metaphor is used instead. The metaphor satisfies two main purposes. Firstly, it acts as a bridge between the developers and the users Secondly it contributes to the team s development [13], [19]. b. Architectural spike helps the developers and users to evaluate the architecture [20]. c. On-site customer feedback: The customers support the development team to verify their requirement and modify them [16]. Customer involvement is more in agile when compared to other models. d. Create unit tests [16]. e. Refactoring is a technique of altering the internal structure to enhance quality without affecting its peripheral behavior. Each modification done is called refactoring but does not have much effect. A number of alterations produce major restructuring. Each refactoring is kept as small as possible so that the possibility of getting it wrong is less and its functionality is checked after each refactoring [15]. Refactoring also adds to code inspection. f. Pair programming is used in agile in which two programmers work simultaneously on the same code. When they work in pairs each programmer has a unique perspective of looking at problems and hence capable of solving those easily thereby reducing defects and improving quality [14]. Pair programming is termed as continuous code inspection [14]. g. Stand up meeting [16]. h. Cyclic Redundancy Check (CRC) simplifies problems [16]. i. Continuous integration: In agile model codes, integration is not done once or twice but instead the code is kept integrated all the time. Continuous integration detects errors early [15]. j. Acceptance testing is carried out once unit test cases have been cleared. This is a vibrant quality assurance technique [7]. k. Customer feedback: Customer involvement is very high and hence this is one of the most important characteristic of agile model [17]. Fig. 5: Agile development methods and QA techniques [17].
5 5 The Quality Assurance techniques are based on: a. Dynamic QA techniques applied very early (acceptance testing). b. Developers responsible for ensuring quality (pair programming, code inspection, refactoring, standards coding). c. Validation of products (continuous integration, customer involvement, small release) [17]. B. Quality Assurance in Waterfall, Spiral model: Spiral model is iterative in nature [18] and focuses on risk mitigation [11]. This feature differentiates it from other models. Since it identifies and removes risk, this could also serve as one of the major factors assuring quality. Spiral model can accommodate other models and it usually accommodates waterfall model as it is the simplest model for the development of software. Waterfall model uses static and dynamic techniques to assure quality [16], [17]. In the waterfall model, the activities at each stage are well defined. The output from one stage is the input for the next subsequent phase and hence new phases cannot begin until their predecessor phases have been successful. The requirements are defined initially and using reviews, prototyping and model validation, they are evaluated and verified. Quality assurance practices are embedded in each phase as shown in figure 6. a. Customer involvement: The customers only define their requirements initially but are not involved during the developmental phase. Some milestone reviews may be set up but the customer involvement is very less in waterfall when compared to other models such as agile [19]. b. Continuous integration: There is no continuous integration and hence bugs are detected in later stages of development and integration is not frequent as it is in agile [16]. c. Acceptance testing: Acceptance tests are done only once during the later developmental stages. Acceptance testing is one of the dynamic quality assurance techniques [16]. V. PROPOSED STANDARD On comparing these processes, there are some practices found to be common in all the models. These practices could be considered to form the de-facto standard. A de-facto standard could be defined as something that is so dominant that everybody seems to follow it like an authorized standard. De-facto standard for quality support in software development process practices 1. Iterative software development. 2. Continuous verification of quality 3. Customer requirements 4. Architecture driven 5. Focus on teams. Including these software practices into the software development process assures development of high quality software [12]. VI. EMPLOYABILITY SKILLS The importance of quality assurance and the steps taken to assure quality has been discussed in this paper. In order to work as a member of a software development team, IT professionals must possess certain employability skills. This section explains how these software assurance practices present in the development of software, helps to enhance employability skills. Developers who possess these skills have better chances of employment. A. Communication: Effective communication plays a vital role in the software development industry. Developers initially communicate with the customers in order to know their requirements [14]. Developers working with these models will gradually improve their communication skills, as they will have a lot of chances to communicate with the users as well as other members of the team. B. Team Work: In Agile, the products are delivered quickly only because of teamwork. The development group is divided into teams and tasks are clearly defined. Only if there is sharing of knowledge and skills among the team members, quality products could be developed. In XP pair programming is one dynamic quality assuring activity [17]. Hence graduates who possess the capacity to work in teams will be able to deliver quality products. C. Problem Solving: Developers who work with these models must possess problem solving skills. During risk, it is the duty of the developer to solve it before the delivery of the product to the customer [17]. When the developers work in teams they develop this skill, when a problem is being solved in a team, each person has a different perspective of the same problem and hence will be able to solve problems efficiently. Fig. 6: Waterfall model and its QA activities [17]. D. Self Management: In order to ensure quality in these software models, the tasks are divided among the members and each of them have a specific role to perform [14]. Therefore self management skill
6 6 is essential to finish the task and deliver them within the specified time. When graduates work as developers they learn to manage themselves and thereby have increased chances of being efficient developers. E. Planning and Organizing: To deliver quality products the activities of the development team must be planned and organized [8]. Each member must possess these skills, as they are important to solve risks. Organizing activity includes proper documentation of all the activities carried out. Hence, people who have the habit of planning and organizing will have better employment prospects. F. Technology: In order to supply efficient products within a short period of time, it is necessary for the developers to be aware of the latest technologies and adapt them into their models. In certain software development teams, there are specific members who are responsible for adapting new technologies into their usual activity. G. Learning: Every individual in the IT industry must possess this skill of lifelong learning. As the technology keeps changing, it is necessary to learn them to keep in date with the current industry. H. Personal attributes/skills: Apart from the above mentioned employability skills, people working with these models should be responsible and committed towards their duty. In order to encourage developers, training and motivation programs could be conducted. Developers could be rewarded with incentives in order to encourage them. Thus, people working as part of a software development team possess these valuable employability skills. [4] A. Parasuraman, L. Berry and V. Zeithaml, Refinement and Reassessment of the SERQUAL scale, Journal of Retailing, vol. 67, no.4, pp , [5] I. Sommerville, Software engineering, 6 th ed. Harlow, England; New York: Addison-Wesley, [6] A. Abran and J. W. Moore, "Guide to the software engineering body of knowledge: trial version (version 0.95)." Los Alamitos, CA: IEEE Computer Society, [7]Waterfallmodel[online].Available: HNVqMy4/R5meiUT1A_I/AAAAAAAAAKs/ntjbIG944E/s320/waterfall+model.JPG. [8] M. Lindvall, V. R. Basili, B. Boehm, P. Costa, K. Dangle, F. Shull, R. Tesoriero, L. Williams, and M. V. Zelkowitz, Empirical findings in agile methods, in Proc. of Extreme Programming and agile Methods: XP/agile Universe, 2002, pp [9] M. Frank and M. Grigori, What You Always Wanted to Know about Agile Methods But Did Not Dare to Ask, ICSE 05, IEEE [10] B. Kent, Extreme Programming Explained ; Massachusetts: Addison- Wesley Professional, [11] W. B. Barry, A Spiral Model for Software Development and Enhancement, vol. 21, no. 5, pp May [12] W. Zuser, S. Heil and T. Grechenig, Software quality development and assurance in RUP, MSF and XP: a comparative study, in Proc. Third Workshop on Software Quality, St. Louis, Missouri, WoSQ. ACM, New York, NY, pp [13] E. T. James, H. James, How Useful Is the Metaphor Component of Agile Methods? A Preliminary Study, School of Computer Science, Carnegie Mellon University, [14] A. Cockburn and L. Williams, "The Costs and Benefits of Pair Programming," in Extreme Programming examined, G. Succi and M. Marchesi, Eds. Boston: Addison-Wesley, 2001, pp [15] M. Fowler, "Information about Refactoring," Addison Wesley, Canada, [16] F.Martin (2006, May, 01), Continuous Integration, Available: [17] H. Ming, V. June, Z. Liming, A. B. Mohammad, Software Quality and Agile Methods, COMPSAC 04, IEEE [18]S.I. Hashmi, J. Baik, Software Quality Assurance in XP and Spiral A Comparative Study, Computational Science and its applications, pp [19] J. Grenning, "Launching extreme programming at a process-intensive company," Software, IEEE, vol. 18, pp , [20] G. Jean, Schneider, V. Rajesh, Agile Practices in Software Development- Experiences from Student Projects, ASWEC 06, IEEE VII. CONCLUSION The software process models Agile, XP, Waterfall, Spiral show that each of them has their activities defined to ensure quality in their developed products. These models have quality assurance activities embedded in their developmental phase and hence do not have a separate department for quality assurance. There are some practices that are found to be common in all the models and hence based on these practices the author suggests the de-facto standard. Including these software practices into the software development process assures development of high quality software. REFERENCES [1] L. Lazic, A. Kolasinac and D. Avdic, The Software Quality Economics Model for Software Project Optimization, WSEAS Transaction on Computers, vol. 8, no. 1, pp Jan [2] H. Li and J. Meissner, Improving Quality in Business Process Outsourcing through Technology, Available: [3] A. Garvin, Competing on the Eight dimensions of Quality Havard Business Review, pp , Nov.-Dec
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 informationSoftware Quality Assurance in XP and Spiral - A Comparative Study
Fifth International Conference on Computational Science and Applications Software Quality Assurance in XP and Spiral - A Comparative Study Sajid Ibrahim Hashmi and Jongmoon Baik Information and Communication
More informationSoftware 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 informationSoftware Quality Development and Assurance in RUP, MSF and XP - A Comparative Study
Software Quality Development and Assurance in RUP, MSF and XP - A Comparative Study Wolfgang Zuser Vienna University of Technology wolfgang.zuser@inso.tuwien.ac.at Stefan Heil Capgemini Consulting Austria
More informationIn 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 informationTRADITIONAL 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 informationSoftware 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 informationPROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL
PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL Sanja Vukićević 1, Dražen Drašković 2 1 Faculty of Organizational Sciences, University of Belgrade, vukicevicsanja@yahoo.com 2 Faculty
More informationThe 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 informationCSE 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 informationAgile Software Development Methodologies & Correlation with Employability Skills
Agile Software Development Methodologies & Correlation with Employability Skills Dineshkumar Lohiya School of Computer and Information Science University of South Australia, Adelaide Dineshkumar.Lohiya@postgrads.unisa.edu.au
More informationSoftware 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 informationA 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 informationSoftware 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 informationClassical Software Life Cycle Models
Classical Software Life Cycle Models SWEN 301 Trimester 1, 2015 Lecturer: Dr Hui Ma Engineering and Computer Science Lecture slides make use of material provided on the textbook's companion website Motivation
More informationSoftware Process and Models
Agenda Software Process Models Plan-driven Process Models Software Process and Models A software process model simplified, abstracted description of a software development process. A model is good for
More informationAgile 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 informationThe 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 informationUmbrella: A New Component-Based Software Development Model
2009 International Conference on Computer Engineering and Applications IPCSIT vol.2 (2011) (2011) IACSIT Press, Singapore Umbrella: A New Component-Based Software Development Model Anurag Dixit and P.C.
More informationV. Phani Krishna et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 2 (6), 2011, 2915-2919
Software Quality Assurance in CMM and XP- A Comparative Study CH.V. Phani Krishna and Dr. K.Rajasekhara Rao CSE Department, KL University, Guntur dt., India. Abstract Software Quality Assurance is a planned
More informationHow To Understand The Limitations Of An Agile Software Development
A Cynical View on Agile Software Development from the Perspective of a new Small-Scale Software Industry Apoorva Mishra Computer Science & Engineering C.S.I.T, Durg, India Deepty Dubey Computer Science
More informationSOFTWARE 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 informationSoftware Engineering for Software-Intensive Systems: III The Development Life Cycle
Software Engineering for Software-Intensive Systems: III The Development Life Cycle Assistant Professor Dr. Room E 3.165 Tel. 60-3321 Email: hg@upb.de Outline I Introduction II Foundations III The Development
More informationSoftware Development Life Cycle
4 Software Development Life Cycle M MAJOR A J O R T TOPICSO P I C S Objectives... 52 Pre-Test Questions... 52 Introduction... 53 Software Development Life Cycle Model... 53 Waterfall Life Cycle Model...
More informationAgile 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 informationOutline. III The Development Life Cycle. Characteristics of Software Development Methodologies. The Prototyping Process
Software Engineering for Software-tensive Systems: Assistant Professor Dr. Room E 3.165 Tel. 60-3321 Email: hg@upb.de line I troduction II Foundations IV Requirements V Analysis & Design VI Implementation
More informationSOFTWARE DEVELOPMENT METHODOLOGIES, TRENDS, AND IMPLICATIONS
SOFTWARE DEVELOPMENT METHODOLOGIES, TRENDS, AND IMPLICATIONS Xihui Zhang University of North Alabama xzhang6@una.edu Hua Dai University of Wisconsin-La Crosse dai.hua@uwlax.edu Tao Hu King College thu@king.edu
More informationINTERNATIONAL 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 information3C05: Unified Software Development Process
3C05: Unified Software Development Process 1 Unit 5: Unified Software Development Process Objectives: Introduce the main concepts of iterative and incremental development Discuss the main USDP phases 2
More informationSelecting 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 informationCOMP 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 informationComparative Analysis of Different Agile Methodologies
Comparative Analysis of Different Agile Methodologies Shelly M. Phil (CS), Department of Computer Science, Punjabi University, Patiala-147002, Punjab, India Abstract: Today s business, political and economic
More informationModellistica 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 informationLife Cycle Models. V. Paúl Pauca. CSC 331-631 Fall 2013. Department of Computer Science Wake Forest University. Object Oriented Software Engineering
Life Cycle Models V. Paúl Pauca Department of Computer Science Wake Forest University CSC 331-631 Fall 2013 Software Life Cycle The overall framework in which software is conceived, developed, and maintained.
More informationA 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 informationCS 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 information10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design
Session # 3 Contents Systems Analysis and Design 2 1 Tiers of Software Development 10/4/2013 Information system development project Realistic behavior 3 Information system development project System Development
More informationAdapting Agile practices in globally distributed large scale software development
Adapting Agile practices in globally distributed large scale software development Mario Ivček Research and Development Centre Ericsson Nikola Tesla Krapinska 45, 10 000 Zagreb, Croatia Telefon: +38513654619
More informationPrinciples of Software Engineering: Software Methodologies. COSI 120b, Spring 2005
Principles of Software Engineering: Software Methodologies COSI 120b, Spring 2005 Overview What are methodologies? The methodologies Traditional Incremental Evolutionary Other Conclusions Way Forward What
More informationAgile 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 informationSoftware Development Under Stringent Hardware Constraints: Do Agile Methods Have a Chance?
Software Development Under Stringent Hardware Constraints: Do Agile Methods Have a Chance? Jussi Ronkainen, Pekka Abrahamsson VTT Technical Research Centre of Finland P.O. Box 1100 FIN-90570 Oulu, Finland
More informationREVIEW ON THE EFFECTIVENESS OF AGILE UNIFIED PROCESS IN SOFTWARE DEVELOPMENT WITH VAGUE SYSTEM REQUIREMENTS
REVIEW ON THE EFFECTIVENESS OF AGILE UNIFIED PROCESS IN SOFTWARE DEVELOPMENT WITH VAGUE SYSTEM REQUIREMENTS Lisana Universitas Surabaya (UBAYA), Raya Kalirungkut, Surabaya, Indonesia E-Mail: lisana@ubaya.ac.id
More informationAn 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 informationComparing 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 informationHow To Model Software Development Life Cycle Models
Various Software Development Life Cycle Models Sahil Jindal, Puneet Gulati, Praveen Rohilla Dronacharya College of Engineering, India Abstract:An SDLC model is a conceptual framework describing different
More information(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 informationABHINAV 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 informationAgile 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 informationNova Software Quality Assurance Process
Nova Software Quality Assurance Process White Paper Atlantic International Building 15F No.2 Ke Yuan Yi Road, Shiqiaopu, Chongqing, P.R.C. 400039 Tel: 86-23- 68795169 Fax: 86-23- 68795169 Quality Assurance
More informationIntroduction 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 informationThe Role of Agile Methodology in Project Management
Edith Cowan University Research Online Australian Information Warfare and Security Conference Security Research Institute Conferences 2010 Success of Agile Environment in Complex Projects Abbass Ghanbary
More informationSoftware Development Process Selection Approaches
The Journal of Applied Science Vol. 11 No. Vol. 2:45-50 11 No. 2 [2012] ISSN 1513-7805 Printed in Thailand Review Article Software Development Process Selection Approaches Phongphan Danphitsanuphan Department
More informationASSESSMENT 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 informationSurveying and evaluating tools for managing processes for software intensive systems
Master Thesis in Software Engineering 30 Credits, Advanced Level Surveying and evaluating tools for managing processes for software intensive systems Anuradha Suryadevara IDT Mälardalen University, ABB
More informationCS4507 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 informationSWEBOK Certification Program. Software Engineering Management
SWEBOK Certification Program Software Engineering Management Copyright Statement Copyright 2011. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted
More informationAgile with XP and Scrum
Agile with XP and Scrum Amit Goel National Agile Software Workshop @ Indore Agile India Conference Agile Software Community of India Disclaimer and Credits Most of material in this presentation has been
More informationProcess Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology
Process Methodology for Wegmans Deli Kiosk Version 1.0 Prepared by DELI-cious Developers Rochester Institute of Technology September 15, 2013 1 Table of Contents 1. Process... 3 1.1 Choice... 3 1.2 Description...
More informationAgile 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 informationSEEM4570 System Design and Implementation Lecture 10 Software Development Process
SEEM4570 System Design and Implementation Lecture 10 Software Development Process Software Development A software development process: A structure imposed on the development of a software product Also
More informationPlanned 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 informationTimeboxing: A Process Model for Iterative Software Development
Timeboxing: A Process Model for Iterative Software Development Pankaj Jalote, Aveejeet Palit Priya Kurien, V. T. Peethamber Infosys Technologies Limited Electronics City Bangalore - 561 229; India Fax:
More informationUsing 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 informationWhat 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 informationAgile and Secure: Can We Be Both?
Agile and Secure: Can We Be Both? OWASP AppSec Seattle Oct 2006 Keith Landrus Director of Technology Denim Group Ltd. keith.landrus@denimgroup.com (210) 572-4400 Copyright 2006 - The OWASP Foundation Permission
More informationAn Integrated Quality Assurance Framework for Specifying Business Information Systems
An Integrated Quality Assurance Framework for Specifying Business Information Systems Frank Salger 1, Stefan Sauer 2, Gregor Engels 1,2 1 Capgemini sd&m AG, Carl-Wery-Str. 42, D-81739 München, Germany
More information2.1 The RAD life cycle composes of four stages:
2.1 The RAD life cycle composes of four stages: A typical RAD life cycle is composed of the following Stages 2.1.1. Requirements Planning; 2.1.2 User Design; 2.1.3 Rapid Construction; 2.1.4 Transition.
More informationDevelopment models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit
Development models R. Kuiper and E.J. Luit 1 Introduction We reconsider the classical development models: the Waterfall Model [Bo76], the V-Model [Ro86], the Spiral Model [Bo88], together with the further
More informationAgile 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 informationSoftware Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University
Software Engineering Introduction & Background Department of Computer Science Kent State University Complaints Software production is often done by amateurs Software development is done by tinkering or
More informationSoftware Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering Software Processes Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce software process models To describe three generic process models and when
More informationA Software Development Simulation Model of a Spiral Process
A Software Development Simulation Model of a Spiral Process ABSTRACT: There is a need for simulation models of software development processes other than the waterfall because processes such as spiral development
More informationSinghania 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 informationHamid Faridani (h.faridani@rogers.com) March 2011
Hamid Faridani (h.faridani@rogers.com) March 2011 Introduction Methodologies like Waterfall, RUP and Agile have all become key tools for software developers and project manager s to aid them in delivering
More informationSoftware 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 informationScaling Down Large Projects to Meet the Agile Sweet Spot
Scaling Down Large Projects to Meet the Agile Sweet Spot Philippe Kruchten Kruchten Engineering Services Ltd Presenter Philippe Kruchten, Ph. D., P. Eng. KESL 2906 West 37 th avenue Vancouver BC V5Z 2M9
More informationQuality 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 informationIn this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice
In this Lecture you will Learn: Development Chapter 5C About the Unified Software Development How phases relate to workflows in an iterative life cycle An approach to system development Major activities
More informationCS435: Introduction to Software Engineering! " Software Engineering: A Practitioner s Approach, 7/e " by Roger S. Pressman
CS435: Introduction to Software Engineering! " " " " " " " "Dr. M. Zhu! Chapter 3! Agile Development! Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e " by Roger S. Pressman
More informationHow To Scale Agile Development With Knowledge Management
Managing Knowledge in Development of Agile Software Mohammed Abdul Bari Department of Computer Science, College of Science & Arts University of Al-Kharj Wadi Al-Dawasir-11991, Kingdom of Saudi Arabia Dr.
More informationIntroduction 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 informationTitle: Topic 3 Software process models (Topic03 Slide 1).
Title: Topic 3 Software process models (Topic03 Slide 1). Topic 3: Lecture Notes (instructions for the lecturer) Author of the topic: Klaus Bothe (Berlin) English version: Katerina Zdravkova, Vangel Ajanovski
More informationNeglecting Agile Principles and Practices: A Case Study
Neglecting Agile Principles and Practices: A Case Study Patrícia Vilain Departament de Informatics and Statistics (INE) Federal University of Santa Catarina Florianópolis, Brazil vilain@inf.ufsc.br Alexandre
More informationThe Unified Software Development Process
The Unified Software Development Process Technieche Universal Darmstadt FACHBEREICH IN-FORMAHK BLIOTHEK Ivar Jacobson Grady Booch James Rumbaugh Rational Software Corporation tnventar-nsr.: Sachgebiete:
More informationLife-Cycle Model. Software Life-Cycle Models. Software Development in Theory. Software Development in Practice
Life-Cycle Model Software Life-Cycle Models Xiaojun Qi It specifies the various phases/workflows of the software process, such as the requirements, analysis (specification), design, implementation, and
More information6. 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 informationRedesigned 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 informationGé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 informationFramework for Agile Methods Classification
Framework for Agile Methods Classification Adrian Iacovelli and Carine Souveyet Centre de Recherche en Informatique (CRI), Université Paris 1 - Panthon Sorbonne, 90 rue Tolbiac, 75013 Paris {adrian.iacovelli,carine.souveyet}@univ-paris1.fr
More informationSoftware 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 informationA Software Project Management Innovation (SPM) Methodology: A Novel Method for Agile Software Development
Third 21st CAF Conference at Harvard, in Boston, USA. September 2015, Vol. 6, Nr. 1 ISSN: 2330-1236 A Software Project Management Innovation (SPM) Methodology: A vel Method for Agile Software Development
More informationExtreme Programming, an agile software development process
Extreme Programming, an agile software development process Paul Jackson School of Informatics University of Edinburgh Recall: Waterfall and Spiral Models Waterfall: Spiral: Split project into controlled
More informationXP and TDD. Extreme Programming and Test Driven Development. Bertrand Meyer, Manuel Oriol Andreas Leitner. Chair of Software Engineering ETH Zurich
XP and TDD Extreme Programming and Test Driven Development Bertrand Meyer, Manuel Oriol Andreas Leitner ETH Zurich October 27, 2006 Outline Development Processes Overview Extreme Programming Test Driven
More informationNovel Hybrid Model: Integrating Scrum and XP
I.J. Information Technology and Computer Science, 2012, 6, 39-44 Published Online June 2012 in MECS (http://www.mecs-press.org/) DOI: 10.5815/ijitcs.2012.06.06 Novel Hybrid Model: Integrating Scrum and
More informationSoftware 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 informationProduct Derivation Process and Agile Approaches: Exploring the Integration Potential
Product Derivation Process and Agile Approaches: Exploring the Integration Potential Padraig O Leary, Muhammad Ali Babar, Steffen Thiel, Ita Richardson Lero, the Irish Software Engineering Research Centre,
More informationStory Card Based Agile Software Development
Story Card Based Agile Software Development Chetankumar Patel, and Muthu Ramachandran Leeds Metropolitan University, UK c.patel@leedsmet.ac.uk Abstract The use of story cards for user stories in many Extreme
More informationComparative Study of Agile Methods and Their Comparison with Heavyweight Methods in Indian Organizations
International Journal of Recent Research and Review, Vol. VI, June 2013 Comparative Study of Agile Methods and Their Comparison with Heavyweight Methods in Indian Organizations Uma Kumari 1, Abhay Upadhyaya
More information1. Software Process Models (Sommerville Chapters 4, 17, 19, 12.4)
1. Software Process Models (Sommerville Chapters 4, 17, 19, 12.4) A software process model is a standardised format for planning organising, and running a development project. 1 Hundreds of different models
More information