|
|
- Kristopher Baldwin
- 8 years ago
- Views:
Transcription
1 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 even demanded a high degree to improve the quality of the software product. Agile software development has made its way into the software mainstream and has caught the attention of software engineers and researchers worldwide due to rapidly growing and volatile internet software industry as well as for the emerging mobile application environment. A certain level of quality must also assured of the delivered software product. This study has three purposes. First, it presents some general key contexts as well as relevant contexts of agile software development methodologies that provide significant impact on the software product identified by the researchers. Second, it analyzes importance of quality assurance in agile methodologies (Extreme Programming (XP), Dynamic System Development Method (DSDM) and Rational Unified Process (RUP). Third, it compares these methods, and highlights their similarities and differences and ensures the quality in these agile methods. Keywords Agile methodologies, Software Quality assurance, XP, DSDM, RUP. 1. Introduction TSoftware plays a significant role in lives of persons and in severe competition between companies. That is why Software Engineering (SE) is a discipline, which is not shy of introducing new methodologies, and is clearly maturing on complex projects with great achievements. In the past, few decades the issue of how software process development and improvement has been discussed that how it should organized in order to deliver faster, better, and cheaper solutions. Large numbers of different approaches to software development have introduced, of which only few have survived for used today. In recent years, so-called agile methodologies have become increasingly popular. These processes are intended to support iteration rather than traditional development methodology phases and focusing on continual interaction between developers and customers [1]. After the completion of iteration, the project team discusses and seeks solutions of the problems discovered in the last iteration. Many of the suggestions for improvement have come from experienced practitioners, who have labeled their methods agile software development. This movement has had a huge impact on how software is developed worldwide. However, though there are many agile methods, little is known about how these methods are carried out in practice and what their effects are. Changing requirements, the availability of new technology, and rising user expectations result in software support involving frequent and substantial modifications to fielded software systems. This study was motivated by the big question could there be limits on the possible improvements on software quality? unlike the work done by Mnkandla and Dwolatzky [11] that introduced an innovative technique for evaluating agile methodologies in order to determine which factors of software quality they improve. Zusar, Heil and Grechenig [13] have done comparative study but with different methodologies but do not considering the software quality factors and presented a de-facto standard for quality support in software development. This paper takes a different approach of ensuring quality in three different agile methodologies. The main objectives of conducting this study are; To compare and analyze characteristics of agile methodologies Extreme Programming (XP), Rational Unified Process (RUP), and Dynamic System Development Method (DSDM); and to evaluate the role of quality assurance in these agile software development methodologies (XP, RUP and DSDM), and to provide guidelines of quality assurance into these agile software development methodologies. The work is organized as Section 2 gives an overview and background of the agile methodology. Section 3 discuses agile software quality assurance. Section 4 provides some insights on the three agile methods as well as reviews and analysis on previous conducted researches. Section 5 which analyze, comparing the three methods and summarize the result derived after analyzing the three models. Finally, the study is concluded and gives a short discussion. 20
2 2. Agile methods overview The term Agile can be defined as characterized by quickness, lightness, and ease of movement; nimble (dictionary.com) the term lightweight is also used for agile [17] here we will focus agility in term of software development and quality. One of the primary causes of software project failure is the extended period of time it took to develop a system. Agile methods were developed to develop systems more quickly with limited time spent on analysis and design. Agile methods are iterative, focus on teamwork, collaboration between customer and developer, feedback from customer throughout the lifecycle of the software project and support early product delivery [12]. Intention is to make the development simpler and serve the customer better. Traditional software development approaches is not always feasible in today rapidly changing environment however agile methods promote possible quick response to changing environment. Waterfall model one of the traditional software process models where any stage should not start until the last stage is complete while agile methods based on short releases and go through all the stages at a time [2]. 3. Agile Software quality Assurance McBreen [3] defines agile quality assurance as the development of software that can respond to change, as the customer requires it to change [3]. This implies that outcome at the end of each phase is send frequently the delivery of tested, working, and customer approved software to quality assurance practitioners for feedback. Beck [4] defined agile software quality in terms of efficiency, Timeliness, cost effectiveness, ease of use, maintainability, integrity, robustness, extendibility and reusability. System metaphor is used instead of formal architecture [2], which presents a story that how a system works by describing classes and pattern of the system, which is helpful for communication between customer and developer and help the agile development team in architecture evaluation. While the on-site customer is the common practice in most agile projects which helps the developer in refining requirements throughout the project by communicating. In traditional software development, approach customers are only involved during requirement gathering but are much expected in agile methodology. Pair programming helps in reducing defects in code where two or more programmers working on the same code. Refactoring is the essential part of the agile methods that is the process of changing internal structure without changing the external behavior to help in understands ability of the code. During refactoring developers reconstruct the code and this action provides code inspection functionality. This activity reduces the probability of generating errors during development [2].Continuous integration occurs several times a day, it saves the time of the developer spend on searching for bugs as the system is kept integrated all the time, several times a day. Acceptance testing occur early rather than other traditional process models and one of the most uniqueness of the agile methods is early customer feedback which provides information to the development team early in the project lifecycle. Agile methods do have practices that have quality assurance abilities, some of them are inside the development phase and some others can separated out as supporting practices [2]. The frequency with which these agile quality assurance practices occur is higher than in classical SE methodologies. Due to the agile process characteristics, agile quality assurance practices are available in very early process stages [2]. The best practices of agile modeling are shown in figure 1 [18]. Figure: 1: The best practices of Agile Modeling [18] 4. Analysis of the three agile methodologies 4.1 Extreme Programming Extreme programming (XP) is one of the forms of agile software development that has received the most attention. It argues that application should develop incrementally and the customer can suggest any improvement to the functionality of the system to achieve high quality software. XP initially recognized four core values [4]. Communication, Simplicity, Feedback, Courage, and Later on a new value Respect is added. XP like to start with a KISS ( Keep It Simple, Stupid! ) principle. Simplest solutions and the more feature can be added later on. Simplicity is related to communication the more simply in design and code will improve the quality of communication. The third value is feedback working together with simplicity and communication. Feedback can be in form of testing, writing unit or integration testes from the system or from the customer 21
3 in form of acceptance testing or it can be within development team. The value of courage can make a project succeed due to XP trust in humans like courage in throwing code away when there is no way to fix, and courage to redesign the code where necessary and code for today not tomorrow. Simplicity supports courage because the simpler system makes more comfortable to work with. XP also ensure that nobody ignored, that is respect gained from the other team members and the other form is to respect your work by seeking good solution and high quality by trusting not to submit nonworking code. The explanation of these values forms common XP practices, which are [5]. Metaphor, Onsite customer, Small release, Planning game, Test driven development, Simple design, Refactoring, Pair programming, continuous integration, coding standard and sustainable pace. 4.2 Rational Unified Process (RUP) The Rational Unified Process (RUP) is an iterative software development process framework originally developed by Rational Software Cooperation [10]. There seems a lot of debate around RUP agility but in practice, RUP has adopted many of the agile practices. Hirsch [20] describes the details of what it takes to make RUP agile. The Rational Unified Process goal is to ensure the production of high-quality software that meets the needs of its customers, within a predictable schedule and budget [10] and provides a disciplined approach to assigning tasks and responsibilities within a development organization. The Rational Unified Process enhances team productivity, no matter if you work with requirements, design, test, management it ensure that all team members share a common process of how to develop software. The RUP is a process product [10] where the development team works closely with the customer emphasizing on working models over large amount of paper document [6]. Kruchten [7] claims that RUP can often be adopted, in whole or part, in many cases; however, a through configuration is suggested before implementing it. The Rational Unified Process captures many of the best practices in modern software. The adoption process is an iterative six-step program, which is repeated until the new process has been completely implemented. Each increment brings in new practices to implement and adjust the previously added practices based on previous feedback and the development case is updated if needed. The success of RUP to some extent, due to the fact that rational software sells popular tools to support the RUP phases, for example Rational Rose, UML tools, and a software configuration management tools. The six best practices of RUP are [10]: Develop software iteratively, Manage Requirements, use component based architecture, visually model software, verify software quality and control changes to software. Configuration change management (CCM) is a supporting workflow that tracks changes and their impact throughout the project. 4.3 Dynamic System Development Method (DSDM) As the name suggests it, develop the system dynamically. DSDM is an iterative and incremental approach that emphasizes continuously user involvement like other agile methodologies. Since its origin in 1994, this method has become a de-facto standard in UK [9]. Its goal is to deliver software systems within time and budget while adjusting for changing requirements along the development process, DSDM address most common failures of software projects like missing deadline, poor communication and lack of user involvement, exceeding budget. That is why it focuses on information system projects that are tightly characterized by time and budget. For DSDM to be successful, all of the core principles of DSDM must be applied in a project. If one of them is ignored, the whole basis of DSDM is endangered [8]. The nine core practices define the ideology and the basis for all activity in DSDM [8]. Software change management is explicitly consider in DSDM for example, one of the underlying principles is that; all changes during development must be reversible and development team members must be empowered to make decisions. Change control serves to ensure that quality, once built in to the system, is preserve [9]. 5. Software Quality support in agile methods This section briefly describes software quality assurance and their evaluated practices in particular agile methodologies and the software quality support in XP, DSDM and RUP. 5.1 Software Quality Assurance Quality assurance in this study refers to quality of the software product not the quality of an organization. Meeting some level of quality is a requirement for any software project. The first step in any project must be to define the projects quality goals. The quality goals include scope, requirements, and schedule in addition to the common approach of minimizing or eliminating defects. Defects are the common errors that indicate the quality is not being built in. Moreover, the lack of quality causes a lot of waste in the form of rework that added much complexity. Defects are not just bugs in code but the following is considered also to be defects. Building something the customer did not ask for because requirement was misunderstood, Building something the customer had asked for and was what they meant but now they want something different for example, changing requirement According to the IEEE Standard (IEEE Std ) Software quality is: The degree to which a system, component, or process meets customer or user needs or expectations 22
4 The IEEE standard specifically relates to software, this standard defines quality in terms of features and characteristics. It expresses quality in terms of customer expectation. If a customer s expectation is NIL, does not mean that a product with NIL characteristics is a quality product [14]? It is always better to have quality assurance at the beginning of the development cycle [19], by creating test cases to validate the requirement. Doing quality assurance at the end of the development cycle is inherently wasteful [19]. Table 1 lists the identified techniques as defined by McCall s, Richards and Walters quality model [15] and summarizes after evaluating the software quality factors [11] in the particular agile methodologies (XP, DSDM, and RUP). 5.2 Evaluation of quality practices support in XP, RUP and DSDM The best practices presented in Table 2, which support software quality development and software quality assurance in agile methods [13], have been extracted based on the analysis of the chosen agile process models (XP, RUP and DSDM). Table 2: Quality support in XP, RUP and DSDM Criteria XP RUP DSDM Iterative and incremental development Yes Yes Yes Continuously Verification and validation Yes Yes Yes Communication and Team Work Yes Yes Yes Pair Programming Yes No No Configuration and change Management No Yes Yes Simplicity Yes Yes Yes Test driven development Yes Yes Yes Flexible Architecture Yes Yes Yes Customer Feedback Yes Yes Yes User Involvement Yes Yes Yes Table 1: Software Quality factors in RUP, XP and DSDM Software Quality Software Quality Activities Factors XP RUP DSDM Efficiency User stories Visually modeling Feasibility study Pair Programming Use case modeling Business study Coding standard UML Integrity OOD Practices Component based Architecture driven architecture Re-usability Refactoring software patterns OO UML patterns OOD pattern Ease of Use Simple design Simple design Communication On site customer prototype prototyping Maintainability Incremental delivery Iterative development Iterative development Component based Testability Continuous integration Testing during iteration Testing is integrated Test driven development unit testing throughout the project cycle Flexibility Simple design Continuous improvement All changes are reversible Coding standard Programming guidelines user guidelines Timeliness Incremental delivery Incremental delivery time boxing development development incremental Cost- effectiveness Iterative development Iterative development Iterative delivery Small releases Frequent delivery 23
5 5.2.1 Software Quality support in XP Extreme Programming (XP) strengths apply only to smaller projects where the approach enables simple and fast development, but on delivering high quality as it focuses on software quality development. For large development projects, it may be a reasonable approach to integrate some of the key elements of XP. The approach that the customer is on site and involved in the iteration planning process strengthens quality control from the customer site [11]. Some of the main characteristics of XP are short iterations with small releases and rapid feedback. Another key strength of XP is the focus on teams together with the pair programming principle forms a very effective team approach [11]. Software configuration management (SCM) is not mentioned explicitly in all of XP literature, leaving XP practitioners with the impression that XP is not sound from an SCM perspective. In general, XP and its practices do not go against common SCM standards but with different names (like stories instead of change requests and planning game instead of change control board) [9] Software quality support in RUP Rational Unified Process (RUP) strongly verifies quality throughout the whole development process. At the end of iteration a well-defined review procedure is elicited which verifies all the target achievement of the iteration and, discovers the reasons if failure occurs, as they are an important input for the next iteration planning activities. The process is also very architecture driven. Customer requirements are well handled within RUP, as the requirements discipline (workflow) is heavily involved during Inception and Elaboration phases [11]. Requirements traceability is one of the most important goals in RUP. RUP strongly focuses on teamwork, defining different roles and responsibilities [11]. The biggest strengths of the process using RUP own unified change management approach. The pair-programming concept is not included, but can be integrated in to the process for example, team environment, with a culture of open communication Software quality support in DSDM Dynamic System Development Method (DSDM) Quality is base on pre-determined quality criteria, formulated to ensure conformance to user requirements both for the project and for each product the project delivers based on the user involvement and continuous feedback. Time boxing is the mechanism through which testing is a continuous activity throughout the development process and the Facilitated workshops are conducted which is the team based approach to communication. Evolutionary and incremental prototyping is the heart of the DSDM. Pair programming are not provided by the DSDM but can be easily be integrated to accomplish a maximum of quality assurance like XP focuses on the act of programming, which is treated very lightly indeed in DSDM but provides a controlling framework into which XP can be plugged. In a DSDM project, change management within the high-level scope and requirements defined in the Business Study is expected. According to Stapleton [8], "software configuration management is a key feature in DSDM. In DSDM, testing is integrated throughout the lifecycle of a project. 5.3 Results of Evaluation In this paper, the comparison of the agile software process models RUP, XP and DSDM shows that all three models define practices, which support software quality development as well as software quality assurance. All these three models are the most elaborated software process model regarding software quality support and equally define quality support practices. An agile methodology focuses on early and frequent customer involvement since the customer is the key stakeholder who decides if the final deliverable is easy to understand and easy-to-use [16]. Involvement of the customer in every aspect of the project ensures continued verification of the project deliverables to minimize errors. Developing software iteratively and incrementally allows identification of problems and risks early on that helps them in omission early on. At any stage of development, code can accommodate changing requirements without requiring significant rework [16]. XP is specialized for small and medium software projects, where its software quality support is as good as in RUP and DSDM. Each of the processes may be enhance by including best practices defined in one of the other processes. Pair Programming, for example, can be easily included in the programming practice of DSDM or RUP [13]. Collective ownership in XP is another technique that encourages developers to look at and improve each other s code [16]. Agile methods rely seriously on teamwork communication between different stakeholders where all the team members must proactively communicate with each other especially when new member join the team to help them move into the project. Figure 2 shows the practices, which are consider forming a common approach for software quality support in agile software development model. Based on our analysis of the three agile methodologies (XP, DSDM and RUP), use of iterative development, simplicity, customer involvement and feedback, V & V process, easily adaptive architecture, Test Driven Development (TDD) and producing less documentation improved the overall software quality. Iterative and Incremental Development Simplicity Verification and Validation activities Communication and Teamwork Test driven development (TDD) Flexible Architecture Lesser documentation Customer feedback Effective Agile Software Figure 2: Common quality practices of (XP, RUP, and DSDM) 24
6 6. Conclusion In Conclusion, agile processes like (XP, RUP and DSDM) addresses quality issues repeatedly and continuously, and focusing on the role of quality; software quality assurance is not to find defects but to prevent them. Agile development seeks software quality through increased customer value, fewer defects, faster development and flexibility to changing environment. Quality attributes depends upon customer satisfaction in term of budget and time, functional requirement, usability and security. Agile software development aims to develop and implement software quickly in close cooperation with the customer in an adaptive way, so that it is possible to react to changes set by the business environment and at the same time maintain effectiveness and efficiency [21]. One way to accomplish is for example, putting emphasis on tacit knowledge and sharing it via frequent face-to face communication and by concentrating on producing working software instead of documentation [21]. Because agile methods aim to minimize the number of documentations and plans, they put many pressures on individuals. Individuals are expected to write their code in a way that it can be easily understood without documentation. Thus the ideas that agile brings about are not new, however it is believed that agile software development methods provides a new way of approaching software engineering problems. Future works concentrate on how to change some of these principles to make agile methods have an optimal effect. Definition for other quality factors needs to be redefining such as usability in agile methods. Agile software development has been developed in western society. It emphasizes individuals and communication as well as collaborative skills. Such qualities are often associated with for instance North- Eastern Europe so would agile methods be applicable for example in Pakistan, India or Bangladesh? 7. References [1] Schneider, J., and Vasa, R: Agile Practices in Software Development Experiences from Student Projects. In Proceedings of the 2006 Australian Software Engineering Conference (ASWEC 06), [2] Huo, M., Verner, J., Zhu, L., and Babar, M. A: Software Quality and Agile Methods. In Proceedings of the 28th Annual International Computer Software and Applications Conference (COMPSAC 04), 2004 [3] McBreen, P: Quality Assurance and Testing in Agile Projects. McBreen Consulting, (Last accessed May 2009). [4] Beck, K: Extreme Programming Explained: Embrace Change. Second edition Kent Beck Publisher [5] Wang, W., Wu, Z., and Zhao, M: The Relationship between Developers and Customers in Agile Methodology. International Conference on Computer Science and Information Technology (ICCSIT'08), 2008 [6] Abrahamson, P., Salo, U., Ronkainen, J., and Warsta, J: Agile software development - review and analysis. Epsoo, VTT Publication, 2002 [7] Kruchten, P: Rational Unified Process, an Introduction. Addison-Wesley, 2000 [8] Stapleton, J: DSDM Business focus development. Addison Wesley second edition, 2003 [9] Koskela, J: Software configuration management in agile methods. VTT Technical Research Centre of Finland, 2003 [10]Rational Unified Process Best Practices for Software Development Teams: Rational Software Corporation White Paper 2001 [11]Mnkandla, E., Dwolatzky, B: Defining Agile Software Quality Assurance. In Proceedings of the International Conference on Software Engineering Advances (ICSEA'06), 2006 [12]Fowler, M., and Highsmith, J: Agile manifesto. Software development magazine, (Last accessed: May 2009). [13]Zusar, W. Heil, S. Grechenig, T: Software Quality Development and Assurance in RUP, MSF and XP- A comparative study. ACM, [14]Fitzpatrick, R. Staffordshire University. School of Computing Report, 1996 [15]McCall, J. A., Richards, P. K., and Walters, G. F: Factors in software quality. RADC TR , 1977, Vols I, II, III, US Rome Air Development Center Reports [16]Stamelos, I. G., Sfetsos, P: Agile Software Development Quality Assurance. Information Science Reference, 2007 [17] (last accessed May 2009) [18]Krishna, V: Agile and other development methods _Methods.aspx (Last accessed: August 2009) [19]Shalloway, Beaver, Trott: The role of quality assurance in lean-agile software development. Net Objectives, 2009 [20]Hirsch, M: Making RUP Agile. OOPSLA Practitioner Report, 2002 [21]Kalermo, J., Rissanen, J: Agile software development in theory and practice. Software Business program Master thesis, University of Jyvaskyla, 2002 About the Authors Osama Sohaib is a Lecturer at Department of Computer Science and IT, University of Baluchistan Quetta Pakistan. Khalid Khan is a Professor and the Director for Computer Sciences at PAF-Karachi Institute of Economics and Technology in Pakistan 25
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 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 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 informationCOMPARATIVE STUDY ON SOFTWARE PROJECT MANAGEMENT MODELS
COMPARATIVE STUDY ON SOFTWARE PROJECT MANAGEMENT MODELS *1 Mrs. Kalaivani S., * 2 Mrs. Kavitha S., *1 M.Phil Research Scholar, Department of Computer Science Auxilium College (Autonomous), Vellore, TamilNadu,
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 informationXtreme RUP. Ne t BJECTIVES. Lightening Up the Rational Unified Process. 2/9/2001 Copyright 2001 Net Objectives 1. Agenda
Xtreme RUP by Ne t BJECTIVES Lightening Up the Rational Unified Process 2/9/2001 Copyright 2001 Net Objectives 1 RUP Overview Agenda Typical RUP Challenges Xtreme Programming Paradigm Document driven or
More informationA Comparative Analysis and Evaluation of Different Agile Software Development Methodologies
IJCSNS International Journal of Computer Science and Network Security, VOL.15 No.7, July 2015 39 A Comparative Analysis and Evaluation of Different Agile Software Development Methodologies Saleh M. Al-Saleem
More informationSoftware 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 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 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 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 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 informationSoftware processes that are:
Agile Processes Software processes that are: Incremental (small software releases with rapid cycles) Cooperative (customer and developer working together with close communication) Straightforward (method
More informationAGILE 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 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 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 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 informationSoftware 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 informationSoftware 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 informationAGILE SOFTWARE DEVELOPMENT. BY Sysop Technology Aurangabad-431003
AGILE SOFTWARE DEVELOPMENT BY Sysop Technology Aurangabad-431003 Abstract: Software development which can be delivered fast, quick adaptation to requirements and collecting feed back on required information.
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 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 informationTopics 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 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 informationAkhil Kumar 1, Bindu Goel 2
Factors Influencing Agile Practices: A Survey Akhil Kumar 1, Bindu Goel 2 1 (University School of Information Technology, GGS Indraprastha University, New Delhi-110075) 2 (University School of Information
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 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 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 informationWeb Application Development Processes: Requirements, Demands and Challenges
Web Application Development Processes: Requirements, Demands and Challenges THAMER AL-ROUSAN 1, BASEM HADIDI 2, SHADI ALJAWARNEH 3 1, 3 Faculty of Science and Information Technology, Isra University, Amman,
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 informationRUP and XP, Part I: Finding Common Ground
RUP and XP, Part I: Finding Common Ground by Gary Pollice Evangelist, The Rational Unified Process Rational Software extreme Programming (XP) is hot! Attend any software development conference today and
More informationExtreme Programming, an agile software development process
Extreme Programming, an agile software development process Nigel Goddard School of Informatics University of Edinburgh Recall: Waterfall and Spiral Models Waterfall: Spiral: Split project into controlled
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 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 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 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 informationGeneralizing Agile Software Development Life Cycle
Generalizing Agile Software Development Life Cycle S. Bhalerao 1, D. Puntambekar 2 Master of Computer Applications Acropolis Institute of Technology and research Indore, India 1 Bhalerao.shilpa@gmail.com,
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 informationSoftware 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 informationAgile processes. Extreme Programming, an agile software development process. Extreme Programming. Risk: The Basic Problem
Agile processes Extreme Programming, an agile software development process Perdita Stevens School of Informatics University of Edinburgh What the spiral models were reaching towards was that software development
More informationQuality Assurance in an Agile Environment
Quality Assurance in an Agile Environment 1 Discussion Topic The Agile Movement Transition of QA practice and methods to Agile from Traditional Scrum and QA Recap Open Discussion www.emids.com 2 What is
More informationSoftware Development Methodologies
Software Development Methodologies Jonathan Hoyle Eastman Kodak Thursday, June 2, 2005 Overview Predictive Methodologies Waterfall Other Predictive Methodologies Agile Methodologies Extreme Programming
More informationAGILE SOFTWARE DEVELOPMENT A TECHNIQUE
AGILE SOFTWARE DEVELOPMENT A TECHNIQUE Saurav Tiwari 1,Aasheesh Goel 2,Rajeev Sharma 3 1,2 Research Scholar,MCADept.,SRM University,NCRCampus,Modinagar 3 Asst. Prof.,MCADept.,SRM University,NCR Campus
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 informationSoftware Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering
Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering Prof. Dr. Armin B. Cremers Sascha Alda Overview Phases during Software Development
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. 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 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 informationREVIEW OF AGILE METHODOLOGIES IN SOFTWARE DEVELOPMENT
REVIEW OF AGILE METHODOLOGIES IN SOFTWARE DEVELOPMENT 1 MALIK HNEIF, 2 SIEW HOCK OW 1 Department of Software Engineering, University of Malaya, Kuala Lumpur, Malaysia-50603 2 Assoc. Prof., Department of
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 informationAdvanced 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 informationCorso di Laurea Magistrale in Informatica, Università di Padova Tecnologie open-source, Anno accademico 2010/2011. Development Processes 1 / 51
Software development process A software development process is a structure imposed on the development of a software product Software development activities Requirements analysis The important task in creating
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 informationAgile Modeling: A Brief Overview
Agile Modeling: A Brief Overview Scott W. Ambler President, Ronin International scott.ambler@ronin-intl.com Abstract: Agile Modeling (AM) is a practice-based methodology for effective modeling of software-based
More informationIntroduction 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 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 informationAGILE SOFTWARE DEVELOPMENT: INTRODUCTION, CURRENT STATUS & FUTURE Pekka Abrahamsson 23.11.2005 Jyväskylä
AGILE SOFTWARE DEVELOPMENT: INTRODUCTION, CURRENT STATUS & FUTURE Pekka Abrahamsson 23.11.2005 Jyväskylä Fact corner: SME of 250 developers Mobile & desktop sw Products sold globally EXAMPLE OF AN INNOVATIVE
More informationApplying 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 informationHuman Aspects of Software Engineering: The Case of Extreme Programming
1 Human Aspects of Software Engineering: The Case of Extreme Programming Orit Hazzan 1 and Jim Tomayko 2 1 Department of Education in Technology and Science, Technion - IIT, Haifa 32000, Israel oritha@tx.technion.ac.il
More informationContinuous Integration
Effective Implementation of Agile Practices Incoordination with Lean Kanban Veerapaneni Esther Jyothi Assistant Professor, Department of Computer Applications, V.R.Siddhartha Engineering College, Kanuru,
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 informationObject Oriented Hybrid Software Engineering Process (SEP) model for Small Scale Software Development Firms
Object Oriented Hybrid Software Engineering Process (SEP) model for Small Scale Software Development Firms Shaikh Mostafa Al Masum mostafa@miv.t.u-tokyo.ac.jp Research Student, Ishizuka Lab, University
More informationTo introduce software process models To describe three generic process models and when they may be used
Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software
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 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 informationWeb Application Development Process
Web Engineering Web Application Development Process Copyright 2013 Ioan Toma & Srdjan Komazec 1 Where we are? # Date Title 1 5 th March Web Engineering Introduction and Overview 2 12 th March Requirements
More informationAgile Software Development
Agile Software Development Application in the Medical Device Industry Kelly Weyrauch Medtronic, Inc. (29 April 2008) Introduction Purpose Provide an introduction to Agile Software Development as it applies
More informationAgile processes. Extreme Programming, an agile software development process
Agile processes Extreme Programming, an agile software development process Nigel Goddard School of Informatics University of Edinburgh What the spiral models were reaching towards was that software development
More informationSoftware Process. Process: A sequence of activities, subject to constraints on resources, that produce an intended output of some kind.
Software Process Process: A sequence of activities, subject to constraints on resources, that produce an intended output of some kind. Any process has these characteristics: The process prescribes all
More informationSoftware 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 informationRequirements Engineering and Agile Software Development
1 Requirements Engineering and Agile Software Development Frauke Paetsch Fachhochschule Mannheim frauke.paetsch@web.de Dr. Armin Eberlein University of Calgary eberlein@enel.ucalgary.ca Dr. Frank Maurer
More informationSoftware Life Cycles and Configuration Management
Theory Lecture Plan 2 Software Configuration Lecture 11 Software Engineering TDDC88/TDDC93 autumn 2008 Department of Computer and Information Science Linköping University, Sweden L1 - Course Introduction
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 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 informationQuality in an Agile World BY SCOTT AMBLER Ambysoft, Inc.
TALKING POINTS Quality is an inherent aspect of true agile software development. The majority of agilists take a test-driven approach to development where they write a unit test before they write the domain
More informationLean QA: The Agile Way. Chris Lawson, Quality Manager
Lean QA: The Agile Way Chris Lawson, Quality Manager The Quality Problem Agile Overview Manifesto Development Methodologies Process Agile QA Lean QA Principles An Agile QA Framework Summary Q & A Agenda
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 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 informationIngegneria del Software Corso di Laurea in Informatica per il Management. Agile software development
Ingegneria del Software Corso di Laurea in Informatica per il Management Agile software development Davide Rossi Dipartimento di Informatica Università di Bologna The problem Efficiency: too much effort
More informationAbstract. 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 informationMapping The Best Practices of XP and Project Management: Well defined approach for Project Manager
HTTPS://SITES.GOOGLE.COM/SITE/JOURNALOFCOMPUTING/ 103 Mapping The Best Practices of XP and Project Management: Well defined approach for Project Manager Muhammad Javed 1, Bashir Ahmad 1, Shahid Hussain
More informationComparison and problems between Traditional and Agile software development methods
Lappeenranta University of Technology School of Industrial Engineering and Management Software Engineering and Information Management Department of Master Degree Program in Computer Science Mehar Ullah
More informationRapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1
Rapid software development Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1 Objectives To explain how an iterative, incremental development process leads to faster delivery of
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 informationContents. 3 Agile Modelling 31 3.1 Introduction 31 3.2 Modelling Misconceptions 31
Contents 1 Introduction 1 1.1 WhyThisBook? 1 1.2 A Bit of History 1 1.3 What Is Agile Software Development? 2 1.4 WhyBe Agile? 3 1.5 What This Book Is About? 3 1.6 Implementation Languages 3 1.7 The Structure
More informationA 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 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 informationLarge Scale Systems Design G52LSS
G52LSS Lecture 3 Rapid and Agile Development Rapid Application Development Prototyping CASE Tools Agile Development Extreme Programming Learning outcomes: describe main features of methods for RAD and
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 informationAgile software development and its' suitability to distributed project
Agile software development and its' suitability to distributed project Lihan Guo 52493T Table of Contents 1 Introduction...3 1.1 Background of the study...3 1.2 Research problem...3 1.3 Objectives of the
More informationAgile Software Project Management Methodologies
Economy Informatics, 1-4/2005 27 Agile Software Project Management Methodologies Prof. Constanţa-Nicoleta BODEA, PhD Economic Informatics Department, Academy of Economic Studies, Bucharest Successfully
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 informationCHAPTER 3 : AGILE METHODOLOGIES. 3.3 Various Agile Software development methodologies. 3.4 Advantage and Disadvantage of Agile Methodology
CHAPTER 3 : AGILE METHODOLOGIES 3.1Introductions 3.2 Main Stages in Agile project 3.3 Various Agile Software development methodologies 3.4 Advantage and Disadvantage of Agile Methodology 3.1Introductions
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 informationEffort Reduction in RUP using CRM for Project Development: Mapping the Best Practices of CRM into RUP
Effort Reduction in RUP using CRM for Project Development: Mapping the Best Practices of CRM into RUP Muhammad Javed, Bashir Ahmad, Muhammad Ali Abid, Muhammad Ahmad Jan Sheikh Muhammad Saqib and Muhammad
More informationSoftware Requirements and Specification
Software Requirements and Specification Agile Methods SE3821 - Jay Urbain Credits: Beck, K. (1999). Extreme Programming Explained: Embrace Change. Boston, MA: Addison-Wesley. Beck, Kent; et al. (2001).
More informationExtreme Programming - A Model For Agile Software Development
International Journal of Information Technology and Knowledge Management July-December 2010, Volume 3, No. 2, pp. 699-705 EXTREME PROGRAMMING: NEWLY ACCLAIMED AGILE SYSTEM DEVELOPMENT PROCESS Er. Rohini
More information