Extreme Programming (XP)

Size: px
Start display at page:

Download "Extreme Programming (XP)"

Transcription

1 Assignment D Draft paper Extreme Programming (XP) Course code: INFOME Course name: Method Engineering Faculty of Science, Department of Information and Computer Sciences, Utrecht University, Princetonplein 5, 3584 CC, Utrecht, The Netherlands Notice of Originality Smuc, Domen, d.smuc@students.uu.nl I declare that this paper is my own work and that information derived from published or unpublished work of others has been acknowledged in the text and has been explicitly referred to in the list of references. All citations are in the text between quotation marks ( ). I am fully aware that violation of these rules can have severe consequences for my study at Utrecht University. Signed Name Domen Smuc Date Place Utrecht, The netherlands Version 1 Date: University year: 2015/2016

2 Table of Contents 1. INTRODUCTION CREATORS GLOBAL OVERVIEW OF EXTREME PROGRAMMING 1 2. EXAMPLE DESCRIPTION COLLECTIVE CODE OWNERSHIP CLASS, RESPONSIBILITIES, AND COLLABORATION (CRC) CARDS 2 3. PROCESS-DELIVERABLE DIAGRAMS (PDDS) EXTREME PROGRAMMING PDD 3 4. ACTIVITY TABLE 5 5. TABLE OF CONCEPTS 7 6. RELATED LITERATURE ORIGINS OF EXTREME PROGRAMMING POSITIONING AND APPLICATION OF EXTREME PROGRAMMING 9 7. REFERENCES 10 Figures Figure 1: Extreme Programming Life Cycle (Abrahamsson et. al., 2002, p19)... 1 Figure 2: Collective code ownership, adapted from Extreme Programming... 2 Figure 3: CRC cards as a deliverable... 2 Figure 4: Extreme Programming PDD... 4 Figure 5: Roots of Extreme Programming (Abrahamsson et. al., 2002, p23)... 9 Tables Table 1: Activity table... 5 Table 2: Table of concepts and definitions... 7 i

3 1. Introduction 1.1. Creators The Extreme Programming (XP) method began evolving in the Kent Beck (born 1961) was the person responsible for the initial development of the method, while working for Smalltalk as a consultant and a developer. Other authors, Ward Cunningham and Ron Jeffries, helped Kent with the initial definition of XP. Kent Beck has since been seen as the creator of XP and is one of the original 17 signatories of the Agile Manifesto (Agile Manifesto, 2016) - part of which is also the XP method Global overview of Extreme Programming According to Beck (1999), XP is a lightweight, efficient, low-risk, flexible, predictable method, which was developed to address the needs of smaller software development teams when facing with rapidly changing user requirements. It is designed to be adopted within the teams of two to ten programmers, where the majority of tasks can be performed in a fraction of a work day. For this purpose, Beck (1999) defined the following main stages for XP life cycle: exploration (1), planning (2), iterations to release (3), productionizing (4), maintenance (5), and death (6). Beck further defined four main activities of XP. Namely these are designing (1), coding (2), testing (3), and listening (4). Additionally, the concept of XP approach is built around the following 12 best practices, which encapsulate the idea of agility for software development through simplicity, continuous collaboration and iterative design process. 1. Planning process 2. Small Releases 3. System Metaphor 4. Simple Design 5. Test Driven Development 6. Refactoring 7. Pair Programming 8. Collective Code Ownership 9. Continuous Integration 10. Sustainable Pace 11. On-site Customer 12. Coding Standard The complete life cycle of the XP best practices and stages is illustrated in Figure 1 below. Figure 1: Extreme Programming Life Cycle (Abrahamsson et. al., 2002, p19) XP defines many roles, however according to Beck (1999) the following roles are most often used: tracker, customer, programmer, coach, manager, and tester. It follows that XP is a valuebased method, which core values consist of simplicity, communication, feedback and courage (Beck & Fowler, 2000). Beck (1999) see XP method as a discipline, which focuses on aligning people to be more productive and produce high quality software. Beck further defines the main goal of XP to be reducing the cost of changes, through facilitation of small iterative development life cycles, rather than traditional ones, which take substantial amount of time and are not responsive to changes. In other words, XP perceives changes as a natural process and thus embraces the idea of changes as a desired influence in software development projects. The key goal, as defined by Beck, can be seen in the planning for ongoing changes, rather than having a stable set of requirements. 1

4 2. Example 2.1. Description It has been discussed by William et. al. (2000) that one of the key steps in XP is the concept of pair programming. The authors further suggest this step is accredited to most of the success associated with this method. With this in mind, the following section focuses on describing this core activity in more detail, by focusing on the principle of Collective Code Ownership, with an example situation where pair-programming could be applied and used, to increase the quality of the produced output Collective code ownership In the given example, as illustrated in Figure 2, a typical iteration cycle is performed by a team of programmers. First the CRC cards are defined, which provide simple design for a complex problem. From this, unit tests are derived and programmers are paired. This is also known as pair programming. The programmers then perfrom refactoring. In other words complex code is refactored into simple code. In case there is a need for help, the defined pair is changed, to provide additional skills for a given task. By continously doing these steps, the programmers provide new functionality with the accompanying unit tests to be performed. This constitutes the continuous integration principle, during which all the unit tests are executed. If all unit tests are sucessful, the programmers move on to the acceptance tests. This step completes the current development iteration, and the next iteration can begin by refining and prioritizing addiitonal user stories. The number of iterations is not limited, and the development process follows this spiral incremental approach until the final solution is reached and all the acceptance tests have been sucessful. Figure 2: Collective code ownership, adapted from Extreme Programming 2.3. Class, Responsibilities, and Collaboration (CRC) Cards One of the core deliverables in the XP process and pair programming in general, are the Class, Responsibilities, and Collaboration cards. Their biggest value that can be seen is the ability for teams to actively contribute to the solution design. Each of the CRC cards contains three things; object class (top), responsibilities (left), and collaboration class (right). This is illustrated in the Figure 3. Figure 3: CRC cards as a deliverable 2

5 3. Process-Deliverable Diagrams (PDDs) According to Weerd and Brinkkemper (2008) a Process-Deliverable Diagram (PDD) is the technique used for modelling activities and artifacts of a certain process. The authors define the PDD to be consisting of two key diagrams. These two diagrams, or views as the authors refer to them, are then integrated to form a complete process deliverable perspective of the given process. On the left hand side, there is the process view, which models all the activities, and together form the execution of the process being modelled. On the right side however, there is the deliverable view of the process. This view holds all the meta-model details about the deliverables that are derived from the activities of a given process. Furthermore, the process view is based on the activity diagrams in UML (OMG, 2004), and the deliverable view is based on the UML class diagram (2004). As a result, the final PDD diagram is intended to show a complete method, represented by a meta-model of that method. In this case, the PDD provides a meta-model of the Extreme Programming method (Figure 4) Extreme programming PDD In our scenario, the PDD is derived from the method fragments of the Extreme Programming method. The constructed PDD is illustrated in Figure 4, and is consisting of 5 main stages, which are modelled as open activities on the process side of the diagram. Namely these are Initiation, Planning game, Conduct daily meeting, Development, and Finish sprint. Additionally, the defined PDD contains the key deliverables, modelled on the right hand side, which can be seen as the outputs of the process view on the left hand side. For clarifying purposes, only the most significant concepts are explained in more depth. Firstly, the concept USER STORY is derived from the activities Define user story and the two estimation activities (cost, workload). These together form the basic picture of a user story. However, additional user story information (concept properties) is derived from the activity Establish project scope. In here, 3 concepts are derived, namely ADDED VALUE, RISK, and SCOPE. Although, these could typically be derived from the Define user story activity, in our case these are derived from the establish project scope. This is for the simple reason that risk, scope and added value, are almost impossible to define when looking at an individual story, but are normally defined at a higher level typically a project level. Further, although these three mentioned concepts are part of the concept USER STORY, the PDD defines the aggregation relationship going from the USER STORY to each of them. Further, the USER STORY is connected to two other deliverables, namely JOB and LIST OF USER STORIES. In order to implement a given USER STORY a JOB is specified from each. Each JOB then contains a STATUS of the workload being developed. During the Daily meeting activity, the concept DEVIATION is defined for each of the JOBs and outlines any deviations from the original development schedule. Additionally, the collection of different USER STORYs is modelled as an aggregation to the LIST OF USER STORIES, which in turn forms the concept RELEASE DEFINITION. This concept is at the end of the process used for validating the definition of the SOFTWARE RELEASE, to make sure the released software is developed to the correct specifications as defined in the RELEASE DEFINITION. 3

6 Figure 4: Extreme Programming PDD 4

7 Going one step further, there is also the concept of CODE REPOSITORY. Beck (1999), defines this concept as a system, but however due to the aggregation relationship between concepts UNIT TEST, FUNCTIONALITY, AND TEST RESULT, the test CODE REPOSITORY is used. The main reason for this is the fact that the three mentioned concepts are essentially individual parts of the system, however they are grouped in the repository before the system is actually constructed. Furthermore, during the activities of Continuous Integration (CI) and Refactoring, the concepts UPDATED CODE and STRUCTURED CODE are derived as the output of these activities. Both of these are modelled as the association relationship, since they continuously structure and update the code found in the CODE REPOSITORY. Lastly, in the final stage of Finish sprint, the execution of Acceptance test produces the ACCEPTANCE TEST RESULTS DOCUMENT, and is modeled as an closed concept. The reason for modelling it as closed concept instead of open one, is seen in the lack of information for this deliverable. There is little information available that would clearly indicate what properties and potential sub-activities are part of this concept, thus modelling as closed complex activity is best suited in this scenario. Finally, once the SOFTWARE RELEASE is finished, the system is implemented at a customer site, however this was not modelled in the actual PDD. Table 1: Activity table 4. Activity table Activity Sub-activity Description Initiation Define user stories The customer writes different system usage scenarios which result in an USER STORY. This must describe a desired feature in detail through different properties such Planning game Estimate development workload Estimate development cost Establish project scope Sort user stories as name and information about the proposed functionality. Based on the defined USER STORY, the development team starts the estimation activity. Here the team makes an analysis of the stories, and based on previous experience defines the workload estimation for each. The development team further uses the defined workload estimation of USER STORY to define an estimate of the development cost associated with implementing the USER STORY. The customer determines the actual SCOPE of the project. In other words, this means the customer sets the project boundaries in terms of development time and cost, as well as the amount of stories to be implemented. The development team must then sort the customerdefined USER STORY by their ADDED VALUE and RISK. Firstly, the sorting process focuses on the ADDED VALUE, starting with the highest value first. It then sorts the USER STORY based on the RISK estimation values, which results in the STORIES list. Finally the STORIES are then prioritized based on the sorting process mentioned. 5

8 Conduct daily meeting Select relevant user stories Define release definition Update development status Define job deviation Development Write unit test Develop user story functionality Execute unit test Perform CI The defined priority for STORIES dictates which should be selected for the current development sprint, based on the development workload limit of the specific sprint cycle. The development team thus selects the most suitable STORIES in this activity. Once the STORIES are selected, the development team defines the RELEASE DEFINITION. This is completely based on the activities previously described and establishes the scope of the development iteration or sprint. The next main activity in the XP process is the daily meeting. Each day of the sprint the team must meet in order to continuously evaluate the current status of the development. In terms of XP, the implementation of USER STORY is called a task or a JOB. For each of the JOBs being developed, the team must assign a STATUS description. The STATUS outlines the work done, problems that have occurred, and the development schedule for the next development day. Further, during the daily meeting, a job DEVIATION is defined, which outlines potential DEVIATON in the USER STORY implementation, and further defines the next USER STORY to be implemented. Before developing the USER STORY functionality, the development team must write up the UNIT TEST. This test examines the proposed USER STORY in terms of its functionality, problems, bugs and other potential problems that the system might encounter. In this activity the actual development of the USER STORY is performed, which results in a given system FUNCTIONALITY, which is added to the shared CODE REPOSITORY. Once the FUNCTIONALITY has been submitted to the shared CODE REPOSITORY the previously defined UNIT TEST is executed by the system (CODE REPOSITORY). This is normally an automated process, which takes place as soon as the FUNCTIONALITY is committed to the CODE REPOSITORY. The execution of the UNIT TEST results in a TEST RESULT, which defines if the implemented FUNCTIONALITY meets the set criteria. If the criteria is not accepted the team must go back to the Develop user story functionality activity. If accepted however, the next activity can begin. This activity is one of the main principles behind extreme programming, and agile development in general. The main aim is of this is to continuously generate UPDATED CODE, which is committed to the CODE REPOSITORY. This ensures the CODE REPOSITORY is kept up to date with all the new FUNCTIONALITY. 6

9 Finish sprint Perform refactoring Execute acceptance test Release finished software Another key principle is the refactoring activity. This produces STRUCTURED CODE, which means the CODE REPOSITORY becomes structured with individual FUNCTIONALITY, which provides a good overview of the current system. This activity begins the last phase of the XP process. The acceptance test is defined in terms of meeting the desired system FUNCTIONALITY. Executing this activity produces ACCEPTANCE STATUS which determines if the proposed SOFTWARE RELEASE meets the customer requirements. If the test is rejected, the team must go back to the Develop user story functionality activity and repeat the process. If accepted however, the final step of the sprint may begin. This is the last activity in the sprint, which results in the SOFTWARE RELEASE based on the CODE REPOSITORY containing all the individual FUNCTIONALITY. This ends the current sprint and the constructed software is ready for implementation at the customer s side. Table 2: Table of concepts and definitions 5. Table of concepts Concept USER STORY ADDED VALUE RISK SCOPE LIST OF USER STORIES RELEASE DEFINITION JOB STATUS Definition A USER STORY is a a representation of use requirements in terms of its functionality, which provides a value or addresses the need of a customer (Cohn, 2004). ADDED VALUE is associated with the USER STORY in terms of the functionality benefit, which is the ultimate goal of the customer or and end user (Beck, 1999) RISK is an uncertain event or condition that, if it occurs, has a positive or negative effect on a project's objectives (Project Management Institute, 2008). SCOPE is defined as the work that must be performed to deliver a product, service, or result with the specified features and functions (Project Management Institute, 2008). LIST OF USER STORIES is defined as a collection of user stories based on their added value, risk and cost (Beck, 1999). RELEASE DEFINITION is a collection of the selected stories, which contain all individual user stories with its properties. The release definition defines the scope of a specific sprint cycle, thus segregating the workload into many different sprints (Beck, 1999) JOB or a task is a specific measurement unit of software development activity, which is derived from the user story description, and defines the work to be carried our by the development team (Beck, 1999). STATUS is the status as the current job status in terms of the achieved goals (Beck, 1999). 7

10 DEVIATION UNIT TEST DEVIATION is described by International Organization for Standardization (2010) as a departure from a specified requirement. UNIT TEST is defined by International Organization for Standardization (2010) as execution of individual code parts and modules of the proposed software. This is normally done by the developer or a tester. In other words, it is a test of individual programs or modules which must ensure errors-less code. FUNCTIONALITY FUNCTIONALITY is defined as the features or capabilities of an application as seen by the user (International Organization for Standardization, 2010). CODE REPOSITORY TEST RESULT UPDATED CODE STRUCTURED CODE ACCEPTANCE TEST RESULT DOCUMENT SOFTWARE RELEASE CODE REPOSITORY (also system) is defined as the collection of individual unit tests and functionalities, where all the individual development iterations are together, forming a complete system to be developed (Beck, 1999). The TEST RESULT is the output the system generates when executing the specific unit test (Beck, 1999). The UPDATED CODE is the main output of the process Continuous Integration (CI), which ensures the new code is updated in the code repository as soon as it passes the unit testing activity (Beck, 1999). STRUCTURED CODE is the process of refactoring to ensure the code is structured and thus providing a complete flow of different modules in a code repository (Beck, 1999). ACCEPTANCE TEST RESULT DOCUMENT is defined as the testing conducted to determine whether a system satisfies its acceptance criteria and to enable the customer to determine whether to accept the system (IEEE, 2008). SOFTWARE RELEASE is defined as activities surrounding the release of one or more versions of software to one or more customers, including identifying, packaging, and delivering the elements of a product (International Organization for Standardization, 2010). 8

11 6. Related literature 6.1. Origins of Extreme Programming There are a number of agile methods, that have been developed by experienced practitioners, and can be seen as a replacement to traditional development methods. Erickson et.al (2005) defined agility as means to strip away as much of the heaviness, commonly associated with the traditional software development methodologies, as possible to promote quick response to changing environments, changes in user requirements, accelerated project deadlines and the like. (p. 89). XP follows this idea, by primarily focusing on best practices for software development (Dyba & Dingsoyr, 2008) and was evolved from the problems occurring from long software development life cycles (Beck, 1999). The original XP method was initially developed by Kent Beck and others in 1999, during one of the Object Oriented software development projects (Beck 1999). Stepleton (2003) suggests that XP was developed as the second formal agile method, right after Dynamic Systems Development Method (DSDM). Beck (1999) defines XP as a collection of ideas and practices, which have emerged from existing development methodologies (Figure 4). The author further suggests that there are no practices that fit every scenario or a project, but the individual practices and processes should be tailored to specific needs of individual projects. Figure 5: Roots of Extreme Programming (Abrahamsson et. al., 2002, p23) 6.2. Positioning and Application of Extreme Programming It has been suggested by Abrahamsson et. al. (2002) that XP is the most documented of the different agile methods. In turn this has triggered new research and practical experience, with providing insight into the specific areas of XP. It has been reported by Maurer and Martel (2002), that the average increase in lines of code produced by XP is around 66%, 302.1% increase in the new methods developed during a XP project, and a 282.6% increase in the number of development classes implemented with the same development effort. Jeffries et. al. (2002) suggests that XP should be considered in situations where rapid changes can be expected on daily basis, user requirements are uncertain and most likely to change periodically, and the value of teamwork overcomes the value of individual power. Furthermore, the author suggests the XP is suitable to perform true rapid development, supports continuous integration, and provides extensive support for complex domain models. Finally, the key feature of XP, according to Abrahamsson et. al (2003), is refactoring, which allows for ongoing redesign of the system to improve its performance and to be fully responsive to ongoing change. This is further supported with results presented by Williams (2010). In the article, the author presents the beneficial results of the XP method and pair programming, in both industrial and educational setting. The results obtained reveal the XP method requires more effort and time; however, the level of quality is seen to increase on average for more than 40% during a full scale software development project. One example of such project is the Chrysler Comprehensive Compensation System (C3) (Andres & Beck, 2004). 9

12 7. References Abrahamsson, P., Warsta, J., Siponen, M., & Ronkainen, J. (2003). New directions on agile methods: A comparative analysis. 25th International Conference on Software Engineering, Proceedings., Abrahamsson, P., Salo, O., Ronkainen, J., & Warsta, J. (2002). Agile software development methods: Review and analysis. ESPOO VTT Publications, 478. pp. 107 Andres, C., & Beck, K. (2004). Extreme Programming Explained: Embrace Change. Reading: Addison-Wesley Professional. Beck, K. (1999). Embracing change with extreme programming. IEEE Computer, 32 (10), Retrieved from: Beck, K., & Fowler, M. (2001). Planning extreme programming. Boston: Addison-Wesley Professional. Cohn, M. (2004). An Overview. In M. Cohn (eds.), User stories applied: for agile software development (pp. 3-12). Boston: Addison-Wesley Professional. Retrieved from &hl=nl&sa=X&ei=bCyIT4ngKIKg0QWT2PXpCQ&redir_esc=y#v=onepage&q &f=false%20link Dyba, T., & Dingsoyr, T. (2008). Empirical studies of agile software development: A systematic review. Information and software technology, 50(9), Erickson, J., Lyytinen, K., & Siau, K. (2005). Agile modeling, agile software development, and extreme programming: the state of research. Journal of database Management, 16(4),

13 IEEE Computer Society. (2008). IEEE Standard for Software and System Test Documentation Retrieved from International Organization for Standardization (ISO). (2010). IEEE, Systems and Software Engineering--Vocabulary. ISO/IEC/IEEE 24765: 2010 (E)) Piscataway, NJ: IEEE computer society. Retrieved from f3ca&e=2c7512bebf Extreme Programming: A Gentle Introduction. (n.d.). Retrieved from Jeffries, R., Anderson, A., & Hendrickson, C. (2001). Extreme programming installed. Boston: Addison-Wesley Professional. Manifesto for Agile Software Development. (n.d.). Retrieved February 16, 2016, from Maurer, F., & Martel, S. (2002). Extreme programming: Rapid development for web-based applications. IEEE Internet computing, 6(1), Object Management Group. (2004). UML 2.0 superstructure specification (Technical Report ptc/ ) Project Management Institute (corporate author) (2008). A Guide to the Project Management Body of Knowledge (PMBOK Guide). Project Management Institute. Retrieved from Stapleton, J. (2003). DSDM: Business focused development (2nd ed.). London: Addison- Wesley. Weerd, I. van de, & Brinkkemper, S. (2008). Meta-modeling for situational analysis and design methods. In M.R. Syed and S.N. Syed (Eds.), Handbook of Research on 11

14 Modern Systems Analysis and Design Technologies and Applications (pp ). Hershey: Idea Group Publishing. Williams, L., Kessler, R. R., Cunningham, W., & Jeffries, R. (2000). Strengthening the case for pair programming. IEEE software, 17(4), 19. Williams, L. (2010). Pair Programming. Encyclopedia of Software Engineering, Taylor & Francis Group. 12

Extreme Programming, an agile software development process

Extreme 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 1.Determine objectives Cumulative cost Progress

More information

Assistant Professor, Integral University, Lucknow, India. Quality Parameters. Correctness. Efficiency. Portability. Usability.

Assistant Professor, Integral University, Lucknow, India. Quality Parameters. Correctness. Efficiency. Portability. Usability. Extreme Programming: Aiming towards Quality Assurance Ayesha Saad Khan, Mohammad Suaib M.tech CSE (2 nd Year), Integral University, Lucknow, India Abstract- Agile methodologies are among the most popular

More information

Success of Agile Environment in Complex Projects

Success of Agile Environment in Complex Projects Edith Cowan University Research Online Australian Information Warfare and Security Conference Conferences, Symposia and Campus Events 2010 Success of Agile Environment in Complex Projects Abbass Ghanbary

More information

Introduction to Extreme Programming

Introduction to Extreme Programming Introduction to Extreme Programming Brian Button bbutton@objectmentor.com, Inc Overview Motivation Business Case Description Case Studies References 1-800-338-6716 2 My Typical Client Manager doesn t trust

More information

Software Engineering G Session 12 Sub-Topic 1 Risk Management in Adaptive Software Engineering. Dr. Jean-Claude Franchitti

Software Engineering G Session 12 Sub-Topic 1 Risk Management in Adaptive Software Engineering. Dr. Jean-Claude Franchitti Software Engineering G22.2440-001 Session 12 Sub-Topic 1 Risk Management in Adaptive Software Engineering Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of

More information

Department of Software Engineering, Al Neelain University, Khartoum, Sudan 2

Department of Software Engineering, Al Neelain University, Khartoum, Sudan 2 Volume 6, Issue 5, May 2016 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Agile RACI Model

More information

Agile Development Methods: Philosophy and Practice. CSCE 315 Programming Studio, Fall 2017 Tanzir Ahmed

Agile Development Methods: Philosophy and Practice. CSCE 315 Programming Studio, Fall 2017 Tanzir Ahmed Agile Development Methods: Philosophy and Practice CSCE 315 Programming Studio, Fall 2017 Tanzir Ahmed History of Agile Methods Particularly in 1990s, some developers reacted against traditional heavyweight

More information

An Overview of Software Process

An Overview of Software Process An Overview of Software Process Objectives To introduce the general phases of the software development life cycle (SDLC) To describe various generic software process models and discuss their pros and cons

More information

Usability/user interface design in agile processes

Usability/user interface design in agile processes University of Wollongong Research Online Faculty of Informatics - Papers (Archive) Faculty of Engineering and Information Sciences 2004 Usability/user interface design in agile processes A. Fuller Faculty

More information

Generalizing Agile Software Development Life Cycle

Generalizing 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 information

Agile Software Development

Agile Software Development Agile Software Development Chapter 3 Agile Software Development in the textbook 3.1 Agile methods 3.2 Plan-driven and agile development 3.3 Extreme programming (XP) - A well known agile method 3.4 Agile

More information

Agile Development Method for Mobile applications: A Study

Agile Development Method for Mobile applications: A Study Volume 8, No. 5, May-June 2017 International Journal of Advanced Research in Computer Science REVIEW ARTICLE Available Online at www.ijarcs.info Agile Development Method for Mobile applications: A Study

More information

Suitability of Extreme Programming and RUP Software Development Methodologies for SOA Applications

Suitability of Extreme Programming and RUP Software Development Methodologies for SOA Applications Suitability of Extreme Programming and RUP Software Development Methodologies for SOA Applications Guillermo A. Callahan 1 1 Seminar on Enterprise Information Systems : Service Oriented Architecture and

More information

CS 5704: Software Engineering

CS 5704: Software Engineering CS 5704: Software Engineering Agile Methodologies Dr. Pardha S. Pyla 1 1 What is wrong with this? System requirements Software requirements Analysis Program design 1. Rigid/heavy weight process 2. Too

More information

Agile Quality Management

Agile Quality Management Agile Quality Management Panagiotis Sfetsos, PhD Assistant Professor, Department of Informatics, Alexander Technological Educational Institution E mail: sfetsos@it.teithe.gr Web Page: http://aetos.it.teithe.gr/~sfetsos/

More information

EXtreme Programming explained: embrace change by Kent Beck, Addison Wesley, September 1999.

EXtreme Programming explained: embrace change by Kent Beck, Addison Wesley, September 1999. XP XP extreme programming (slides partially from Andrew Black, Ras Bodik, and Dan Klawitter s letures) EXtreme Programming explained: embrace change by Kent Beck, Addison Wesley, September 1999. What is

More information

COMP 6481 Fall 2006 System Requirement Specifications

COMP 6481 Fall 2006 System Requirement Specifications COMP 6481 Fall 2006 System Requirement Specifications Instructor Name: Dr. Olga Ormandjieva Software Requirements Engineering using Agile Methods Project Report Name: Muhammad F. Ahmed ID: 5774454 Name:

More information

The problem. extreme Programming (XP) Conclusions Resources. Problems in software development. Practices Why XP works Benefits of XP

The problem. extreme Programming (XP) Conclusions Resources. Problems in software development. Practices Why XP works Benefits of XP Introduction to extreme Programming Contents The problem Problems in software development extreme Programming (XP) Values Practices Why XP works Benefits of XP Conclusions Resources Risks: Problems in

More information

CONTENTS. Introduction to Software Engineering. Software Process and Life Cycle Models. Software Life-Cycle Model-2. Chapter 1. Chapter 2.

CONTENTS. Introduction to Software Engineering. Software Process and Life Cycle Models. Software Life-Cycle Model-2. Chapter 1. Chapter 2. Contents (v) CONTENTS Preface About the Author (xv) (xvii) Chapter 1 Introduction to Software Engineering 1.1 Introduction 1 1.2 Basics of Software Engineering 2 1.3 Principles of Software Engineering

More information

Learning Objectives. Agile Modeling and. Major Topics. Prototyping. Patched Up Prototype. Agile Modeling, but First. Prototyping

Learning Objectives. Agile Modeling and. Major Topics. Prototyping. Patched Up Prototype. Agile Modeling, but First. Prototyping Agile Modeling and Prototyping Systems Analysis and Design, 7e Kendall & Kendall 6 Learning Objectives Understand the roots of agile modeling in prototyping and the four main types of prototyping Be able

More information

XP is not hacking. extreme Programming. XP practices. Whole Team. When using XP you write as little documentation as possible.

XP is not hacking. extreme Programming. XP practices. Whole Team. When using XP you write as little documentation as possible. extreme Programming Introduced by Ward Cunningham, Kent Beck, and Ron Jeffries. XP is what it says, an extreme way of developing software. If a practice is good, then do it all the time. If a practice

More information

Agile Manifesto & XP

Agile Manifesto & XP Agile Manifesto & XP Chapter 3.1-3.3 CMPT 276 Dr. B. Fraser Based on slides from Software Engineering 9 th ed, Sommerville. Slides 8 18-06-10 1 Topics 1) What is Agile trying to do? 2) How to choose plan-driven

More information

Introduction to Agile Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 07 09/13/2016

Introduction to Agile Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 07 09/13/2016 Introduction to Agile Life Cycles CSCI 5828: Foundations of Software Engineering Lecture 07 09/13/2016 1 Goals Introduction to Agile Life Cycles The Agile Manifesto and Agile Principles Agile Life Cycles

More information

Processes and Life- Cycles. Kristian Sandahl

Processes and Life- Cycles. Kristian Sandahl Processes and Life- Cycles Kristian Sandahl 2 Maintenance Requirements Validate Requirements, Verify Specification Acceptance Test (Release testing) System Design (Architecture, High-level Design) Verify

More information

Tuesday, October 25. Announcements

Tuesday, October 25. Announcements Tuesday, October 25 Announcements Crowdsourcing the Midterm http://www.drsusansim.org/teaching/inf111/pligg Homework 5 Skip lab portion Use anything you want to draw the diagrams for the take home portion

More information

Software Quality Assurance of Medium Scale Projects by using DXPRUM Methodology

Software Quality Assurance of Medium Scale Projects by using DXPRUM Methodology International Journal of Natural and Engineering Sciences 8 (1): 42-48, 2014 ISSN: 1307-1149, E-ISSN: 2146-0086, www.nobel.gen.tr Software Quality Assurance of Medium Scale Projects by using DXPRUM Methodology

More information

Gap Analysis between State of Practice & State of Art Practices in Agile Software Development

Gap Analysis between State of Practice & State of Art Practices in Agile Software Development 2015 Agile Conference Gap Analysis between State of Practice & State of Art Practices in Agile Software Development Abdul Rauf Department of Computer Science, College of Computer & Information Sciences,

More information

AGILE AND AGILE TESTING KAIZANIA 9 DECEMBER Lionel Bisschoff / Arrie van der Dussen. Kaizania 2009

AGILE AND AGILE TESTING KAIZANIA 9 DECEMBER Lionel Bisschoff / Arrie van der Dussen. Kaizania 2009 AGILE AND AGILE TESTING KAIZANIA 9 DECEMBER 2009 Lionel Bisschoff / Arrie van der Dussen Changing the way software products and services are created flexible production era impact on software development

More information

ABHELSINKI UNIVERSITY OF TECHNOLOGY

ABHELSINKI UNIVERSITY OF TECHNOLOGY T 76.3601 Introduction to Software Engineering Software Life-Cycle Models http://www.soberit.hut.fi/t-76.3601/ Casper.Lassenius@tkk.fi Software Engineering? 1. The application of a systematic, disciplined,

More information

Rapid 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 Rapid software development Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development Because of rapidly changing business environments, businesses have to respond

More information

User-centered System Design. Agile

User-centered System Design. Agile User-centered System Design Agile Department of Information Technology Methods - what are they? Why do we have them? Business modeling Usability Design Requirements Analysis & design Implementation Test

More information

Conformance to Medical Device Software Development Requirements with XP and Scrum Implementation

Conformance to Medical Device Software Development Requirements with XP and Scrum Implementation Int'l Conf. Software Eng. Research and Practice SERP'18 99 Conformance to Medical Device Software Development Requirements with XP and Scrum Implementation Ö. Özcan-Top 1 and F. McCaffery 1,2 1 Regulated

More information

Processes and Life- Cycles. Kristian Sandahl

Processes and Life- Cycles. Kristian Sandahl Processes and Life- Cycles Kristian Sandahl 2 Maintenance Requirements Validate Requirements, Verify Specification Acceptance Test (Release testing) System Design (Architecture, High-level Design) Verify

More information

An Agile Software Development Framework

An Agile Software Development Framework An Agile Software Development Framework Malik F. Saleh msaleh@pmu.edu.sa Management Information Systems Prince Mohammad Bin Fahd University Al Khobar, 31952, Saudi Arabia Abstract Agility in software projects

More information

Introduction. Failure. Why Projects Fail. Agile in an Hour

Introduction. Failure. Why Projects Fail. Agile in an Hour Agile in an Hour Joe Bergin & Fred Grossman Seidenberg School Computer Science and Information Systems Pace University Introduction Agile Software Development is a high discipline and very iterative development

More information

Extreme programming XP 5

Extreme programming XP 5 Extreme programming XP 5 XP is not XP is not XP is not XP is not XP is. a lightweight software development methodology for small to medium sized teams developing software in the face of t vague or rapidly

More information

SOFTWARE DEVELOPMENT. Process, Models, Methods, Diagrams Software Development Life Cyles. Part - V

SOFTWARE DEVELOPMENT. Process, Models, Methods, Diagrams Software Development Life Cyles. Part - V SOFTWARE DEVELOPMENT Process, Models, Methods, Diagrams Software Development Life Cyles Part - V Extreme Programming (XP) was conceived and developed by Kent Beck to address the specific needs of software

More information

From agility to productivity

From agility to productivity An analysis of agile method fragments Master thesis Author Version: 1.0 Erik ten Brinke Date: August 07, 2013 Master Business Informatics Utrecht University Supervisors Dr. Slinger Jansen (Utrecht University)

More information

Course Title: Agile for Business Analysts

Course Title: Agile for Business Analysts Course Title: Agile for Business Analysts 2 Day Workshop AG-BA08 Agile for Business Analysts Course ID: AG-BA08 Credits: 14 PDUs Course Duration: 2 days Course Level: Basic/Intermediate Prerequisites:

More information

Introduction. Failure. Why Projects Fail. Agile in an Hour

Introduction. Failure. Why Projects Fail. Agile in an Hour Agile in an Hour Joe Bergin & Fred Grossman Seidenberg School Computer Science and Information Systems Pace University Introduction Agile Software Development is a high discipline and very iterative development

More information

A Literature Review on Agile Model Methodology in software Development

A Literature Review on Agile Model Methodology in software Development A Literature Review on Agile Model Methodology in software Development Riya Shah* * Lecturer in Computer Engineering Department, S.B. Polytechnic, Savli, Gujarat, India. ABSTRACT Change is necessary, growth

More information

Course Title: Agile for Business Analysts

Course Title: Agile for Business Analysts Course Title: Agile for Business Analysts 2 Day Workshop AG-BA08 Agile for Business Analysts Course ID: AG-BA08 Credits: 14: PMI-PDUs, IIBA-CDUs (Professional Development Hours) Course Duration: 2 days

More information

The Systems Development Lifecycle

The Systems Development Lifecycle Modelling and Systems Development Lecture 2 The Systems Development Lifecycle The four-phase model common to all system developments projects The project Major attributes of the Lifecycle Moves systematically

More information

Agile Projects 7. Agile Project Management 21

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

More information

Software Life Cycles and Configuration Management

Software Life Cycles and Configuration Management Software Configuration Lecture 11 Software Engineering TDDC88/TDDC93 autumn 2008 Department of Computer and Information Science Linköping University, Sweden Theory Lecture Plan 2 L1 - Course Introduction

More information

Foundations of Software Engineering. Process: Agile Practices Michael Hilton

Foundations of Software Engineering. Process: Agile Practices Michael Hilton Foundations of Software Engineering Process: Agile Practices Michael Hilton 1 Learning goals Define agile as both a set of iterative process practices and a business approach for aligning customer needs

More information

Scrum er ikke en religion

Scrum er ikke en religion Scrum er ikke en religion Jesper Boeg, Agile Coach jbo@trifork.com January 25, 2011 In general Trifork Software development Coaching Workshops, seminars and conferences Please let me know if: You have

More information

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Lecturer: Raman Ramsin Lecture 7 Agile Methodologies: Scrum 1 Agile Methodologies: Brief History First appeared in 1995. The once-common perception that agile methodologies

More information

The Challenge of Agile Estimating

The Challenge of Agile Estimating The Challenge of Agile Estimating Christina Donadi Heather Nayhouse SCEA/ISPA National Conference, Albuquerque, New Mexico June 2011 2011 TASC, Inc. Agenda Overview of Agile Development Importance of Agile

More information

RUP and XP Part II: Valuing Differences

RUP and XP Part II: Valuing Differences RUP and XP Part II: Valuing Differences by Gary Pollice Evangelist, The Rational Unified Process Rational Software In the last issue of The Rational Edge, we looked at the common ground between the Rational

More information

Agile Software Development. Agile Software Development Basics. Principles of the Agile Alliance. Agile Manifesto. Agenda. Agile software development

Agile Software Development. Agile Software Development Basics. Principles of the Agile Alliance. Agile Manifesto. Agenda. Agile software development Agile Software Development T-110.6130 Systems Engineering in Data Communications Software P, Aalto University Agile software development Structured and disciplined, fast-paced Iterative and Incremental

More information

Identifying Bottlenecks in Agile Software Development using Theory of Constraints Principles

Identifying Bottlenecks in Agile Software Development using Theory of Constraints Principles Indian Journal of Science and Technology, Vol 8(29), DOI: 10.17485/ijst/2015/v8i29/85288, November 2015 ISSN (Print) : 0974-6846 ISSN (Online) : 0974-5645 Identifying Bottlenecks in Agile Software Development

More information

IJMIE Volume 4, Issue 10 ISSN:

IJMIE Volume 4, Issue 10 ISSN: Review on Scrum and Extreme Programming for Software Quality Assurance in industries Aaditi Sinha * Dr. D. R. Prajapati ** ABSTRACT Agile software development encourages people collaboration through the

More information

Scrum - Introduction. Petri Heiramo. Agile Coach, CST

Scrum - Introduction. Petri Heiramo. Agile Coach, CST Scrum - Introduction Petri Heiramo Agile Coach, CST Scrum Started in the Harvard BR. The relay race approach to product development may conflict with the goals of maximum speed and flexibility. Instead

More information

COMPARATIVE EVALUATION OF XP AND SCRUM USING THE 4D ANALYTICAL TOOL (4-DAT)

COMPARATIVE EVALUATION OF XP AND SCRUM USING THE 4D ANALYTICAL TOOL (4-DAT) COMPARATIVE EVALUATION OF XP AND SCRUM USING THE 4D ANALYTICAL TOOL (4-DAT) AsifQumer, Brian Henderson-Sellers, Faculty of Information Technology, University of Technology, Sydney, NSW, Australia asif@it.uts.edu.au,

More information

An Evolutionary Lifecycle Model with Agile Practices for Software Development at ABB

An Evolutionary Lifecycle Model with Agile Practices for Software Development at ABB An Evolutionary Lifecycle Model with Agile Practices for Software Development at ABB Aldo Dagnino ABB US Corporate Research Center 1021 Main Campus Drive Raleigh, NC, USA aldo.dagnino@us.abb.com Abstract

More information

Chapter 3 Agile Software Development

Chapter 3 Agile Software Development Chapter 3 Agile Software Development Chapter 3 Agile Software Development Slide 1 Topics covered Rapid software development Agile methods Plan-driven vs. agile development Extreme programming (XP) Agile

More information

Lecture 8 Agile Software Development

Lecture 8 Agile Software Development Lecture 8 Agile Software Development Includes slides from the companion website for Sommerville, Software Engineering, 10/e. Pearson Higher Education, 2016. All rights reserved. Used with permission. Topics

More information

Agile Methods. Background

Agile Methods. Background Agile Methods Agile Alliance http://www.agilealliance.com/home Background In 2001, a group of lightweight methodologies practioners met to discuss similarities and experiences They wrote the Manifesto

More information

Mapping The Best Practices of XP and Project Management: Well defined approach for Project Manager

Mapping 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 information

Part 1. Software engineering Facts. CSC 4181 Compiler Construction Software Engineering Lectures. What is software engineering? What is software?

Part 1. Software engineering Facts. CSC 4181 Compiler Construction Software Engineering Lectures. What is software engineering? What is software? Software engineering Facts CSC 4181 Compiler Construction Software Engineering Lectures Part 1 Fact: The economies of ALL developed nations are dependent on software. Fact: More and more systems are software

More information

A Practical Approach to Project Management in a Very Small Company

A Practical Approach to Project Management in a Very Small Company A Practical Approach to Project Management in a Very Small Company Edgar Caballero and Jose A. Calvo-Manzano Departamento Lenguajes y Sistemas Informáticos e Ingeniería del Software Universidad Politécnica

More information

Build your Project using Agile Methodology #1 of a Series, by Pavan Kumar Gorakavi, M.S., M.B.A, G.M.C.P, C.A.P.M.

Build your Project using Agile Methodology #1 of a Series, by Pavan Kumar Gorakavi, M.S., M.B.A, G.M.C.P, C.A.P.M. Build your Project using Agile Methodology #1 of a Series, by Pavan Kumar Gorakavi, M.S., M.B.A, G.M.C.P, C.A.P.M. 1. What is Agile Methodology? Agile denotes nimbleness, a light weight systems development

More information

04. Agile Development

04. Agile Development 04. Agile Development Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2017 Background of Agile Software Development Software development until late 90s

More information

Chapter 3 Software Process Model

Chapter 3 Software Process Model Usman Akram COMSATS Institute of information Technology lahore musmanakram@ciitlahore.edu.pk March 8, 2015 About software process model Outline 1 About software process model Build and Fix Model Why Models

More information

This is a reprint from a paper published in the Proceedings of the IADIS International Conferences IADIS,

This is a reprint from a paper published in the Proceedings of the IADIS International Conferences IADIS, This is a reprint from a paper published in the Proceedings of the IADIS International Conferences IADIS,http://www.iadis.org IADIS International Conference Applied Computing 2006 MEASURING AGILITY AND

More information

Agile. How would you implement agile methodologies and tools for web projects? What do you see as the benefits and challenges to doing this?

Agile. How would you implement agile methodologies and tools for web projects? What do you see as the benefits and challenges to doing this? Agile How would you implement agile methodologies and tools for web projects? What do you see as the benefits and challenges to doing this? What is Agile? The term agile (sometimes written Agile) was popularised

More information

Dissatisfaction with the overheads involved in software design methods of the 1980s and 1990s led to the creation of agile methods.

Dissatisfaction with the overheads involved in software design methods of the 1980s and 1990s led to the creation of agile methods. Agile methods Dissatisfaction with the overheads involved in software design methods of the 1980s and 1990s led to the creation of agile methods. These methods: Focus on the code rather than the design

More information

2. True or false: In Scrum all the requirements for the project are known prior to the start of development.

2. True or false: In Scrum all the requirements for the project are known prior to the start of development. CTC-ITC 310 Program Management California State University Dominguez Hills Fall 2018 Instructor: Howard Rosenthal Assignment 5 A Deeper Look At Agile Methodologies Answer Sheet Each question is worth 10

More information

Let s Talk About Being Agile

Let s Talk About Being Agile Let s Talk About Being Agile Using Agile & Scrum For Project Success 27 August 2018 Agile & Scum 2 Certified Scrum Master Dec 2010 3 Agile Contributors Kent Beck Mike Beedle Arie van Bennekum Alistair

More information

Agile Software Development Agreements: Navigating the Complex Contracting Issues

Agile Software Development Agreements: Navigating the Complex Contracting Issues Presenting a live 90-minute webinar with interactive Q&A Agile Software Development Agreements: Navigating the Complex Contracting Issues Evaluating Agile vs. Waterfall Development; Structuring Provisions

More information

Agile Software Development. Lecture 4: Let s Wrap up Agile Fundamentals

Agile Software Development. Lecture 4: Let s Wrap up Agile Fundamentals Agile Software Development Lecture 4: Let s Wrap up Agile Fundamentals Mahmoud El-Gayyar elgayyar@ci.suez.edu.eg Slides are a modified version of the slides by Prof. Kenneth M. Anderson Acknowledgment

More information

A Process Model for Project Members Conforming to Enterprise Architecture

A Process Model for Project Members Conforming to Enterprise Architecture A Process Model for Project Members Conforming to Enterprise Architecture Ralph Foorthuis Sjaak Brinkkemper Technical Report UU-CS-2008-023 September 2008 Department of Information and Computing Sciences

More information

Lecture 1. Topics covered. Rapid p development and delivery is now often the most important requirement for software systems.

Lecture 1. Topics covered. Rapid p development and delivery is now often the most important requirement for software systems. Chapter 3 Agile Software Development Lecture 1 Topics covered Agile g methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods Rapid software development

More information

SOFTWARE ENGINEERING SOFTWARE-LIFE CYCLE AND PROCESS MODELS. Saulius Ragaišis.

SOFTWARE ENGINEERING SOFTWARE-LIFE CYCLE AND PROCESS MODELS. Saulius Ragaišis. SOFTWARE ENGINEERING SOFTWARE-LIFE CYCLE AND PROCESS MODELS Saulius Ragaišis saulius.ragaisis@mif.vu.lt CSC2008 SE Software Processes Learning Objectives: Explain the concept of a software life cycle and

More information

Chapter 4 Document Driven Approach for Agile Methodology

Chapter 4 Document Driven Approach for Agile Methodology Chapter 4 Document Driven Approach for Agile Methodology In this chapter, 4.1. Introduction 4.2. Documentation Selection Factors 4.3. Minimum Required Documents 4.4. Summary 4.1. Introduction In all, the

More information

Agile Methodologies. Introduction ISSSR 2013/2014

Agile Methodologies. Introduction ISSSR 2013/2014 Agile Methodologies Introduction Agenda Agile Manifesto Principles Design Scrum 2 What is Agile? A set of methods for software development Iterative Incremental Assume changeability of requirements First

More information

Agile Development Processes. CSCE Lecture 3-08/31/2017

Agile Development Processes. CSCE Lecture 3-08/31/2017 Agile Development Processes CSCE 740 - Lecture 3-08/31/2017 Common Practice: Code & Fix Sit down, write out the code, and fix problems as they occur. No formal structure to development. What is wrong with

More information

Lecture 5. Software Processes CSC 4700 Software Engineering. Software Development Processes. The software process

Lecture 5. Software Processes CSC 4700 Software Engineering. Software Development Processes. The software process Software Processes CSC 4700 Software Engineering Lecture 5 Dr. Tom Way CSC 4700 1 Software Development Processes Dr. Tom Way CSC 4700 2 The software process A structured set of activities required to develop

More information

Using Factor Analysis to Study the Critical Success Factors of Agile Software Development

Using Factor Analysis to Study the Critical Success Factors of Agile Software Development Using Factor Analysis to Study the Critical Success Factors of Agile Software Development Abdullah Aldahmash*, Andrew Gravell, Yvonne Howard School of Electronics and Computer Science, University of Southampton,

More information

THE ADVANTAGES OF AGILE METHODOLOGIES APPLIED IN THE ICT DEVELOPMENT PROJECTS

THE ADVANTAGES OF AGILE METHODOLOGIES APPLIED IN THE ICT DEVELOPMENT PROJECTS International Journal on Information Technologies & Security, 4 (vol. 9), 2017 51 THE ADVANTAGES OF AGILE METHODOLOGIES APPLIED IN THE ICT DEVELOPMENT PROJECTS Vangel Fustik Faculty of Electrical Engineering

More information

! How work in building software is done: ! e.g., waterfall process. ! e.g., object-oriented development. ! e.g., requirements inspection process

! How work in building software is done: ! e.g., waterfall process. ! e.g., object-oriented development. ! e.g., requirements inspection process Software Process Process CMPUT 401 Module 04! How work in building software is done:! e.g., waterfall process! e.g., object-oriented development! e.g., requirements inspection process Department of Computing

More information

Agile Business Analysis - Resurgence. Dorothy Tudor - TCC

Agile Business Analysis - Resurgence. Dorothy Tudor - TCC Agile Business Analysis - Resurgence Dorothy Tudor - TCC Business Analysis in an Agile World Webinar [2] Business Analysts WE ALWAYS KNEW THEY WERE COMING BACK! WE HAD 20 YEARS TO PREPARE SO DID THEY!

More information

Process. CMPUT 401 Module 04. Department of Computing Science University of Alberta Ken Wong, 2008

Process. CMPUT 401 Module 04. Department of Computing Science University of Alberta Ken Wong, 2008 Process CMPUT 401 Module 04 Department of Computing Science University of Alberta Ken Wong, 2008 Software Process How work in building software is done: e.g., waterfall process e.g., object-oriented development

More information

Is Agile Project Management fit for small tech start-ups?

Is Agile Project Management fit for small tech start-ups? 2017 IJSRST Volume 3 Issue 1 Print ISSN: 2395-6011 Online ISSN: 2395-602X Themed Section: Science and Technology Is Agile Project Management fit for small tech start-ups? Priti Asthana Project Manager,

More information

AGILE CASE STUDY EVALUATION IN MIDDLE SIZE PROJECT. Penko Ivanov, Sylvia Ilieva

AGILE CASE STUDY EVALUATION IN MIDDLE SIZE PROJECT. Penko Ivanov, Sylvia Ilieva Serdica J. Computing 1 (2007), 241 254 AGILE CASE STUDY EVALUATION IN MIDDLE SIZE PROJECT Penko Ivanov, Sylvia Ilieva Abstract. In the last few years Agile methodologies appeared as a reaction to traditional

More information

Introduction to Agile/Extreme Programming

Introduction to Agile/Extreme Programming Introduction to Agile/Extreme Programming Matt Ganis, Senior Technical Staff Member (Certified Scrum Master) IBM Hawthorne, New York ganis@us.ibm.com August 2007 Session 8061 Current slides at: http://webpage.pace.edu/mganis

More information

What is Software Engineering?

What is Software Engineering? COSC 3351 Software Software Life Cycle (I) Spring 2008 What is Software Engineering? Real world problems are large and complex. Solving problems requires multiple steps Analyzing: Break the problems into

More information

Major attributes of the Lifecycle. The Systems Development Lifecycle. Project phases. Planning. Design. Analysis

Major attributes of the Lifecycle. The Systems Development Lifecycle. Project phases. Planning. Design. Analysis Modelling and Systems Development Lecture 2 The Systems Development Lifecycle The four-phase model common to all system development projects Major attributes of the Lifecycle The project Moves systematically

More information

Agile Methodology in Theory and Practice an Indian Perspective

Agile Methodology in Theory and Practice an Indian Perspective Volume 3, Issue 9, September-2016, pp. 476-481 ISSN (O): 2349-7084 International Journal Computer Engineering In Research Trends Available online at: www.ijcert.org Agile Methodology in Theory and Practice

More information

4. Agile Methods. Prof. Dr. Dirk Riehle, M.B.A. Friedrich Alexander-University Erlangen-Nürnberg. Version of

4. Agile Methods. Prof. Dr. Dirk Riehle, M.B.A. Friedrich Alexander-University Erlangen-Nürnberg. Version of 4. Agile Methods Prof. Dr. Dirk Riehle, M.B.A. Friedrich Alexander-University Erlangen-Nürnberg Version of 22.03.2012 Agile Methods by Dirk Riehle is licensed under a Creative Commons AttributionShareAlike

More information

Chapter 2 Objectives. Pfleeger and Atlee, Software Engineering: Theory and Practice (edited by B. Cheng) Chapter 2.

Chapter 2 Objectives. Pfleeger and Atlee, Software Engineering: Theory and Practice (edited by B. Cheng) Chapter 2. Chapter 2 Objectives What we mean by a process Software development products, processes, and resources Several models of the software development process Tools and techniques for process modeling 2.1 The

More information

Extreme programming. Why XP?

Extreme programming. Why XP? Extreme programming Timo Tuunanen YOMI 2004 Why XP? In the early 1990s a man named Kent Beck was thinking about better ways to develop software. He had recently spent some time working with Ward Cunningham.

More information

INDEX. Numerics 1970s - iterative practice s - iterative practice 85

INDEX. Numerics 1970s - iterative practice s - iterative practice 85 Numerics 1970s - iterative practice 82 1980s - iterative practice 85 A acceptance testing 147, 295 adaptive development 15 planning 12, 17, 253 Adaptive Software Development 29, 34, 38 adoption 314, 320,

More information

The Impact of Agile Methods on Software Project Management

The Impact of Agile Methods on Software Project Management 2013, TextRoad Publication ISSN 2090-4304 Journal of Basic and Applied Scientific Research www.textroad.com The Impact of Agile Methods on Software Project Management Mahdad Khelghatdost *, Ali Mohsenzadeh

More information

Software Engineering & Project Management Engr. Abdul-Rahman Mahmood MS, PMP, MCP, QMR(ISO9001:2000)

Software Engineering & Project Management Engr. Abdul-Rahman Mahmood MS, PMP, MCP, QMR(ISO9001:2000) Software Engineering & Project Management Engr. Abdul-Rahman Mahmood MS, PMP, MCP, QMR(ISO9001:2000) armahmood786@yahoo.com alphasecure@gmail.com alphapeeler.sf.net/pubkeys/pkey.htm http://alphapeeler.sourceforge.net

More information

Software Process. Overview

Software Process. Overview Software Process Overview What is software process? Examples of process models Unified Process (UP) Agile software development N. Meng, B. Ryder 2 1 Software Process Definition [Pressman] a framework for

More information

Non-object-oriented design methods. Software Requirements and Design CITS 4401 Lecture 15

Non-object-oriented design methods. Software Requirements and Design CITS 4401 Lecture 15 Non-object-oriented design methods Software Requirements and Design CITS 4401 Lecture 15 1 (reminder) Software Design is a creative process no cook book solutions goal driven we create a design for solving

More information

The Challenge of Improving Software Quality: Developers' Beliefs about the Contribution of Agile Practices

The Challenge of Improving Software Quality: Developers' Beliefs about the Contribution of Agile Practices Association for Information Systems AIS Electronic Library (AISeL) AMCIS 29 Proceedings Americas Conference on Information Systems (AMCIS) 29 : Developers' Beliefs about the Contribution of Agile Practices

More information

Software Engineering Part 2

Software Engineering Part 2 CS 0901341 Software Engineering Part 2 In this part, we look at 2.1 Software Process 2.2 Software Process Models 2.3 Tools and Techniques for Processing Modelling As we saw in the previous part, the concept

More information