Agile software development and its' suitability to distributed project

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "Agile software development and its' suitability to distributed project"

Transcription

1 Agile software development and its' suitability to distributed project Lihan Guo 52493T

2 Table of Contents 1 Introduction Background of the study Research problem Objectives of the research Scope of the study Methodology of the study Structure of the report Agile software development concept and purpose Concepts Purpose Concept, specifications, categories and usage of distributed project Concept Specifications Categories Advantages and disadvantages Agile methodologies XP (Extreme Programming) XP phases Roles and responsibilities Practices, adoption and scope of use Other Agile methodologies Cockburn's Crystal Family Highsmith's Adaptive Software Development Scrum Agile software process and organization Process introduction Analysis of Agile Software Progress Underlying Assumption of Agile Software Progress Limitation of Agile Software process Criteria for Agile Software Development organization Analysis of the usage in distributed project Suitability to distributed project principles for Agile Software Development Distributed Extreme Programming Introduction Addressing the practices and values Challenge and solution difficulties encountered Summary and conclusion Summary Conclusion Reference...21

3 1 Introduction 1.1 Background of the study Agile Software Development, as a poplar methodology in software development, is used to reduce the cost to the changes of the project. Distributed project is more and more for the Global software development. This seminar report tries to study Agile Software Development s usability to the distributed project. With the development of the Globalization, developing software product by distributed teams is much more popular now. Scientific software development management can reduce the cost and guarantee the quality. This article studies the usability of a methodology, Agile Software Development, to the distributed project. It will give some useful idea and instructions for the application of the Agile Software Development on the distributed teams. Recently, there is no articles mainly describe the Agile Software Development s usability to distributed teams. The article tries to do some starting work on the basis of some separated parts of the articles on Agile Software Development and distributed teams 1.2 Research problem The main problems is the followings: What are Agile Software Development and distributed project? What is Agile Software development s suitability on distributed project? For first problem, the concept and purpose of Agile Software Development will be described; after that, the concept, specifications, categories and usage of distributed project comes. The principles, methodologies, process and organization will be introduced for the second problem and the suitability analysis will be described after the every introduction. Although there are a lot of articles on the Agile Software Development and Distributed software projects, there are few articles on the Agile Software Development usage on Distributed projects because of some conflicting specifications of both parts, so it is valuable to research this topic because of the more and more distributed projects are applied for the software development, especially fro Global Software development.

4 1.3 Objectives of the research The main objective is to get Agile Software Development s usability to the distributed project, which is the most import objective. There are also two sub-objectives as follows: The basic knowledge of the Agile Software Development The understanding of distributed project How to apply the Agile Software Development in distributed projects 1.4 Scope of the study In this report, the study of the Agile Software Development will be introduced briefly and the distributed project will be considered as some categories, e.g. global distributed project for software, distributed project in a company in one country and so on. About Agile Software Development, extreme Programming will be much more introduced than other methodology. 1.5 Methodology of the study About this report, the methodology of the study is literature study because of the basis on the just the related articles. Most of the articles are from IEEE, there is also some Agile Software Development knowledge in Internet, e.g. AgileAlliance (which is a famous nonprofit organization that promoting the concepts of agile software development). The report is based on the research and analysis of the materials I searched. 1.6 Structure of the report At first, the introduction part will give the readers a brief description of this report; secondly the concept and purpose of Agile Software Development will be described; after that, the concepts, specifications, categories and usage of distributed project comes. The principles, methodologies, process and organization will be introduced one by one, every part has the related suitability to distributed project, finally, there will be a summary and conclusion for the total report. 2 Agile software development concept and purpose 2.1 Concepts

5 There are some different concepts about the Agile Software Development, in previous study; researchers used Adaptive Software Development. Agile Software Development is firstly used by a group of researchers on this topic in February 2001; it develops on the basis of the study on the agility of software development, e.g. Extreme Programming (XP), Adaptive Software Development and some other methods. The popular concept recently is: Agile Software Development is the use of the lightbut-sufficient rules of project behavior and the use of human- and communication-oriented rules [1]. The term Agile implies the maneuverability, a business description from Goldman1997 can give more clear description: Agility is dynamic, context-specific, aggressively change-embracing and growth oriented, it is about the succeeding in emerging competitive arenas, and about winning profit, market share and customers. From the software development, agile style means good effectiveness in responding to changes. 2.2 Purpose Agile Software development are used for keep effective to changes by the reduce the cost of moving information between the people, and reduce the elapse time between making a decision to seeing the consequences of that decision by the reasonable management on the following: Individuals and interaction over process By the interactions between the individuals, the information sharing and rapid changes can be guaranteed. Working software over comprehensive documentations Working software supervises the project process and gives feedback. Customer collaboration over contract negotiation Customers collaborate with experienced developers Responding to the changes over following a plan From the Agility idea, a fixed plan may result in a wrong result. The four topics above are from the Agile Alliance s manifesto (Agile Alliance, as a nonprofit organization, dedicated to promoting the concepts of agile software development, and helping organizations adopt those concepts, ) 3 Concept, specifications, categories and usage of distributed project 3.1 Concept In recent years, there is irreversible trend towards the globalization of business, the economy forces are turning the national competition and cooperation into those in global

6 scope, to survive in this steady trend, distributed project in the software development is more and more popular. In this article, distributed project means a software project is distributed to different development teams (in different area, owned by the one company or different companies) for implementation of the distributed components. 3.2 Specifications There are two main frequent specifications from the recent application on the distributed projects: Low cost Access to skilled resources Low cost can guarantee the high benefits of the company, In some developing countries the labor cost is low, e.g. in India and China, Software Engineer only require much lower wages, if some companies in developed countries hired this kind of Software Engineers, the labor cost will be lower than use the native people. On the other hand, if company handles a software project, there are some hard or new components in this project, which the company is not good at recently and it is not necessary to hire some employers to develop those component because of high cost and low usage rate, the company can distribute those components to other companies that are good at those parts. It is a way to use skilled resources to guarantee high quality and low cost 3.2 Categories Distributed projects in software development is mainly concerned the following style: Global distributed software development In which the software development activities are distributed across multiple sites. Global software outsourcing (or Software offshore development) It is the outsourcing of software development to subcontractors outside the client organization s home country. India is the leading GSO subcontractor. Globally Dispersed software development It occurs when the two or more teams are separated by the boundary and the teams collaborate on common projects [2]. The above concepts are not totally different and are overlapped in some scope. There are some same particularities: Separated project: Project is separated into sub-projects and there are related teams that in charge of the sub-projects. Most of time, there exists physical distance,

7 it means in the different area of same countries or different countries, project is easy to be concerned on the time zone, cultural difference Different development teams: concurrency, allocation, communication, management Cooperation in same project: communication, knowledge transfer, trust, quality control 3.3 Advantages and disadvantages There are a lot of advantages and disadvantages in the distributed project, so before a project is decided to be a distributed project, the manager should consider and analyze the project situation carefully and completely. The advantages is the following: Get rich pool of the trained workforce Take advantage of the cheap and skilled workforce outside, e.g. in developed countries, a software engineer has much more wage than that of one in the same line from the developing countries (e.g. India, China).. 24-hour-day work reduce the intervals It is possible for the appropriated time zone that distributed teams locate. Close to customers and using local expertise for the localization the product Making products in the local market can get the quick feedback and take advantage of the local expertise to save time and money. Take advantage of some benefit policies in some countries Get the some benefit policies, e.g. national tax policy in some counties sometimes. Get low cost in development It resulted from quite a few advantages (mainly above), e.g. low wage, low tax, skilled employee and so on. The disadvantages should be overcome are:. Communication difficulties It results mainly from the physical distances between the distributed teams, although using technology tools (e.g. Videoconference) can overcome some situations, but it can not solved all. Concurrent engineering

8 The members of teams lost sight of their work in the total project; distributed project requires its members to understand their responsibilities in the total projects for the good efficiencies. Cultural differences Cultural differences may cause difficulties in communication because of language and traditional custom. In different culture, there are a lot of differences, e.g. sense of time, attitudes to work, company structure and so on, if these difference should be analyzed before the distributed project decision and overcome in practical situations. Knowledge transfer Distributed project requires knowledge transfer, as to knowledge, it includes application knowledge, development knowledge, and company cultural knowledge and so on, it can be achieved by the people transfer, training, intellectual property transfer an so on. In the common situations, knowledge transfer is expensive and complex. Language and time Language differences increase the time, efficiency of communication between distributed teams; different time zones may cause synching problems, e.g. some teleology tools can t escape the time zone for synchronizing meeting for the distributed teams Coordination and control For a distributed project, coordination and control are important issues, software integration, software configuration management, project architecture, quality control, development and project management are much more complex and may increase the development cost. The above advantage and disadvantages are for the common situation, not absolutely. In chapter 4, Agile methodologies will be introduced briefly. Agile software development s suitability s to distributed project will be analyzed according to this chapter.. 4 Agile methodologies Agile method has two features: Agile methods are adaptive rather than predictive Agile methods are people-oriented rather than process-oriented [3] The first one implies Agile methods can adapt to changes and the second one means Agile method work with people s nature.

9 In this chapter, there are some important Agile methods will be described; Extreme Programming will be introduced much more than others. 4.1 XP (Extreme Programming) This method is the most famous Agile Software Method; XP is rooted in the Smalltalk community, it was developed in 1996 and theorized in Kent Beck played an important role in the development of XP. About this part, the introduction is on the basis of Extreme Programming (Beck 1999a) XP phases XP begins with four values: Communication, Feedback, Simplicity, and Courage. It consist of five phase: Exploration: customer offers the requirement for the first release. Planning: priority order for the requirement and agreement of the contents of first release. Iterations to Release: includes several iterations of the systems before the first release. Productionizing: requires extra testing and checking of the performance of the system before the system can be released to the customers. Maintenance and Death: maintenance phase requires an effort for customer support tasks; development velocity may decelerate after the system in production. The maintenance may require incorporating new people into the team and changing the team structure. [3] One of the most striking is its strong emphasis on testing. XP puts testing at the foundation of development, with every programmer writing tests as they write their production code. The tests are integrated into a continuous integration and build process that yields a highly stable platform for future development Roles and responsibilities The following table is on the basis of the Extreme Programming (Beck 1999a) Role Responsibility

10 Programmer Customer Tester Tracker Coach Consultant Manager Write tests and keep the program code as simple and definite as possible, on the other hand, communication and coordinate with other programmers and team members is very important Writes the requirement and functional tests, and decides when each requirement is satisfied and set the priority for the requirements Help the customer to complete the functional tests, run test regularly, and broadcast test results and maintenance testing tools. Give feedback for progress and some expectation study. Is the person who responsible for the progress as a whole External member possessing the specific knowledge needed, guide the team in solving some specific problems. Manager makes the decision by the analysis on the basis of the communication with project team. Table 1 XP roles and responsibilities Practices, adoption and scope of use There are 12 XP practices according to Extreme Programming, (Beck 1999a): The planning game: close interaction between customer and programmers Small releases: most valuable business requirement, short cycles Metaphor: system can be defined by a set of metaphor between the customer and programmers Simple design: design the simplest possible solution, get rid of all the unnecessary code to guarantee no abused area Testing: test-driven development, use automated testing framework. Refactoring: removing duplication, improve communication, simplifying and adding flexibility. Pair programming: dynamic, strategic and operational pair members. Collective ownership: anyone can change any part of code at any time. Continuous integration: code is integrated into finished part as soon as it is ready. 40-hour week. Work hour per week should not exceed 40. On-site customer: customers should be present and available full-time for the team. Coding standards: there exist coding rule for the programmers. [3]

11 There is no progress that fit every project, rather practices suit for the individual project. It aims to the small and medium sized teams. The team size is about 3 to 20 team members. Because of the requirement of communication and coordination between members at all time, so the geographical distribution is intolerable. The other important fact is that XP is people-oriented; the resistance against XP practices and principles of the project members or customers may fail the project. 4.2 Other Agile methodologies Cockburn's Crystal Family Alistair Cockburn develops Crystal family; he believes that different kinds of projects require different kinds of methodologies. He considers the different methodologies according to the number of people in the project, and the consequences of errors [4]. The Crystals have similar human orientation as XP, but insists on that although the least disciplined methodology could still succeed, from the ease of execution, people prefer Crystals to XP although Crystal is less productive than XP, Crystals also puts a lot of weight in end of iteration reviews, thus encouraging the process to be self-improving. In February 2001 Crystals and the following ASD became one open question. Crystal family doesn t cover the life-critical project; on the other hand, only co-located project can use this family Highsmith's Adaptive Software Development At the heart of ASD are three non-linear, overlapping phases: speculation, collaboration, and learning. ASD focus mainly on the problems in developing large and complex, and strongly recommend the incremental, iterative development with constant prototypes [4]. There are a few practices, e.g. iterative development, feature-based planning and customer focus group reviews. Some principles are useful, but there are few guidelines to put those principles into use. In February 2001, ASD was merged into the Crystal family study Scrum The main idea of Scrum is that system development involves in several environmental and technical variables (e.g. requirement, timeframe, resource) that is likely to change during the process [4]. The variables make the process unpredictable and complex so that flexibility of system process is required for response to changes. Scrum process includes three phases: pre-game, development and post game Scrum is suitable for the team with 5 to 9 members, if more, there should have more teams.

12 4.2.4 DSDM (Dynamic System Development Method) it is the number one framework fro the rapid application development in UK, it has five phases: Feasibility study Business study Functional model iteration Design and build iteration Implementation [4] DSDM has underlying principles that include active user interaction, frequent deliveries, empowered teams, testing throughout the cycle. Like other agile methods they use short time-boxed cycles of between two and six weeks. There's an emphasis on high quality and adaptivity towards changing requirements. DSDM is notable for having much of the infrastructure of more mature traditional methodologies, while following the principles of the agile methods approach DSDM team has two to six members; there may be many teams in one project. From the above introduction, XP is most widely applied for software development, the other methodologies are short of practical application or only used for a narrow scope. Only XP is widely used and can be as a mature methodology to used after several years development improvement. In this report, XP is considered as the representative of Agile methodologies to analyze the suitability to distributed projects. 5 Agile software process and organization This chapter introduces Agile Software process and organization and also analyzes the suitability for distributed projects. 5.1 Process introduction ASP means rapid and flexible adaptation to the change of the process, product and environment [6]. ASP is a total technology based on a content concept. From Mikio Aoyama viewpoint, there are three main ASP model. Incremental and evolutionary process: based on an incremental-delivery and evolution model by which products are incrementally delivered over time, it consists of a number of lightweight processes that is small and manageable units. Modular and lean process: Consists of lightweight processes, is more modular and leaner than conventional process models.

13 Time-Based process: based on time, the enacting of ASP is iterative with fixed cycle-time, large-volume development can be divided into multiple releases so that they can be developed incrementally and concurrently in a predictive way [6]. 5.2 Analysis of Agile Software Progress Underlying Assumption of Agile Software Progress The benefits of Agile Software Process is based on the following assumptions, the possibility will be considered for distributed project

14 Assumption 1 Customers are co-located with the development teams and readily availability when needed by developers; developers are located in close proximity. 2 Documentation and software models do not play central roles in software development 3 Software requirements and the environment in which software is developed evolve as software is being development 4 Development processes are dynamically adapted to changing project and product characteristics are more likely to produce high-quality products 5 Developers have the experience needed to define and adapt their processes appropriately 6 Project visibilities can be achieved primarily though delivery of increments and a few metrics Analysis for distributed projects For distributed project, it is hard to do according to this requirement, especially for the Global distributed project. If just for one distributed team, it may be possible for second condition, but hard for the first one. For distributed project, to keep the distributed teams running well, good and enough documents and software models play very important role. It depends on situations, in theory, the software environment in Distributed project. Environment better keep stable, or it is hard to control the total project. It s also right for distributed project. As above It is not enough for the project management, e.g. milestones that should be achieved. 7 Rigorous evaluation of software artifacts can be restricted to frequent informal reviews and code testing 8 Reusability and generality should not be goals of application-specific software development 9 Cost of change does not dramatically increase over time 10 Software can be developed in increments Yes 11 There is no need to design for change because any charge can be effectively handled by refactoring the code. [6] It is a good way to keep distributed project on right way, for a distributed project, one small error in one team may cause damage. It depends on situation, if there are some similar components of the development product. Yes According to the size of distributed project, if it is large project, it is better to do it, Table 2 Agile Software Process assumptions analysis

15 5.2.2 Limitation of Agile Software process Based the above analysis, from Dan Turk s viewpoint: Agile Software Process has the following limitation: Limited support for distributed development environment Limited support for subcontracting Limited support for building reusable artifacts Limited support for development involving large teams Limited support for developing safety-critical software Limited support for developing large, complex software. [7] The above conclusions are very important. 5.3 Criteria for Agile Software Development organization There are ten basic criteria for an Agile Software development organization from : Banedee, N [8] Business strategy and vision What is business, challenges, targets and goal of project Organization capabilities To achieve the above criteria Leadership, Functional & Technical competencies How is individual contributes through application of skill, knowledge and behavior The three above are for all the organizations. Performance measurement with action plan Performance measurement of project Performance measurement for individual technical competencies The three above are the basis of the quick response for changes. There are fewer situations for individual technical competencies Metrics analysis Action depends on the result of metrics analysis on measurement data. Recommended action plan to improve performance of project Recommended action plan to improve performance of individual technical competencies

16 Distributed project is concentrate on the improve performance of project. Categorization of performance based on required competence to achieve targets and business goals As for targets of ASD organization, it is required for individual competence, but project don t consider individual competence for categorization of performance. distributed 5.4 Analysis of the usage in distributed project From last subchapter, ASD organization has two important specifications; firstly, members learn and improve their skill, secondly, performance measurement and analysis guarantee the quick response to the changes. 6 Suitability to distributed project Agile Software Development has its advantages and disadvantages, if it is applied appropriately, it can enhance the efficiency of distributed project like chapter 6.1. with the Agile Software Development improvement, there are new technology of ASD are created for the distributed project, it is not mature but a good start, in Chapter 6.2, it is introduced. 6.1 principles for Agile Software Development Recently, there are 12 principles for Agile Software Development (in Agile Alliance, see the principles are condensed definition of the value and goals of Agile Software Development. I analyze these principles one by one. The highest priority is to satisfy the customer through early and continuous delivery of valuable software. Agile software development is for the iterative development, according to the early requirements, creates the first working codes, more requirements and more codes. This principle is useful for the distributed project with the iterative development. Welcome changing requirements, even late in development, Agile processes harness change for the customer's competitive advantage. This principle is good for the small project with the iterative development, if for a large project, this principle should be applied after analysis. Deliver working software frequently, from a couple of weeks to a couple of months with a preference to the shorter time scale.

17 Not appropriate for the large distributed project, for a large project, the project is always divided into a series of small ones in order to guarantee the quick and repetitive delivery. Business people and developers must work together daily throughout the project. It is a good idea, for a large distributed project, there must be significant and frequent interaction and communication, but it is hard requirement for the business people and developers work together for the distributed project. It can be recommend in single team. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. This is a principle for management in the project, for a large project, this requirement is not enough, just offer and trust is not enough, the most important makes sure the motivated people have the right tool, processes and skills to get the job done. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. This principle is considered by the distributed project case by case, generally, there should be a face-to-face meeting for the managers in the beginning of the project to build the trust each other and sometimes there are some knowledge transfer events, e.g. training. By the communication technology, face-to-face meeting can be held by videoconference. Face-toface is good method, but it is not the best sometimes, turnover document should be the important information only. If distributed teams are from different countries, some important conversion is better to by document in case the misunderstanding. Face-to-face conversion should be used appropriately or increases the cost. Working software is the primary measure of progress. It is a good method for the project with iterative development, but most of projects, not using iterative development, monitor the project by important milestones. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Of course, it is a good approach, but for a large distributed project, it is hard to keep a constant pace indefinitely. it can be a expectation. Continuous attention to technical excellence and good design enhances agility. High quality is the key to high speed. The way to go fast is to keep the software as clean and robust as possible. Thus, all agile team-members are committed to producing only the highest quality code they can. This principle can be a instruction for all the distributed team members.

18 Simplicity--the art of maximizing the amount of work not done--is essential. Agile teams do not try to build the castle in the sky. Rather they always take the simplest path that is consistent with their goals. They don t anticipate tomorrow s problems and try to defend against them today. Simple means speed and flexibility. The best architectures, requirements, and designs emerge from self-organizing teams. An agile team is a self-organizing team. In theory, if every team is good enough, the project will be good, but not all the teams in a distributed project are mature and good enough, the important things, e.g. architecture should be considered and developed at a company or organization level, not just left to individual to the individual teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. Agreed, this principle is useful for the teams of distributed project. An agile team continually adjusts its organization, rules, conventions and relationships to remain agile 6.2 Distributed Extreme Programming Introduction Distributed Extreme Programming is Extreme Programming with certain relaxations on the requirements of close physical proximity of the team members, DXP applies XP principles in a distributed and mobile team environment [9]. In the twelve practices for XP, there are four practices are tightly related with co-located teams: Planning Game Pair programming Continuous integration On-site customers The above four practices must be addressed in the distributed projects Addressing the practices and values Practices: Planning Game: Videoconference and application share software support.

19 Pair programming: Remote Pair Programming requires videoconference and application sharing support. Continuous integration: it is for one member in the central team site, remote member can visit the machine in central site On-site customers: Videoconference and conform to the agreed rules. Values: Communication: useful available tool. Simplicity: the philosophy make it simple have nothing to with the physical location. Feedback: feedback needs to be propagated across distribution boundary Courage: value is not affected directly by the distribution of the team Challenge and solution The challenge of DXP used for distributed project can solve the Scope Challenge Solution Communication How to react to what one say from a remote site? How can receive the information without body gesture, face expression and so on? Good strategy and web new technology can overcome, e.g. let members know each other to make contact, video conference, application sharing, sharing documents Coordination Availability Synchronizing availability, adjusting time difference, coordinating distribution and integration of activities Member availability affect by the work arrangement, time zone and person limitation and so on. Good planning for the proper coordination of activities among distributed teams. Formulate the rules and guidelines for the availability of team members. Management Infrastructure Trust between the remote members, new strategy is required because of the difficulty of direct managerial control over the distant subordinates Communication and coordination among teams members depends on the hardware, software and the bandwidth of connection Experienced leaders, regular reports, feedbacks, team and events. Select the infrastructure components, the components should be easy to use, and have good interoperability with other

20 network. tools and availability on different platforms.[9] Table 4 Challenge and solution of DXP difficulties encountered There are still some difficulties left need improving, main difficulties are caused by the communication, e.g. different keyboard setting, narrow bandwidth connections, netmeeting don t work and so on. 8 Summary and conclusion 8.1 Summary This article solves the two following questions: What are Agile Software Development and distributed project? What is Agile Software development s suitability on distributed project? Agile Software Development is the use of the light-but-sufficient rules of project behavior and the use of human- and communication-oriented rules [1]. Distributed project is introduced in Chapter 3, describes the categories, and advantages and disadvantages. Agile software Development is described as the following sequence: Concept Four purposes: 1. Individuals and interaction over process 2. Working software over comprehensive documentations 3. Customer collaboration over contract negotiation 4. Responding to the changes over following a plan Methodologies: Agile method has two features: Agile methods are adaptive rather than predictive Agile methods are people-oriented rather than process-oriented [3] XP, CRISTAL, SCRUM, HASD, and DSDM are introduced and

21 XP is introduced in details including practice, roles and responsibilities Agile Software process and organization are described one by one, we understand, Agile process has limitation for distributed project and agile organization are concentrate on two factors: one is project success, the other is members learn and improve. Finally, we analyze the suitability totally, firstly, the ASD principles for distributed project, secondly, one new technology, DXP is used for distributed project. It isn t mature but a good start 8.2 Conclusion ASD can be used in Distributed project but just part of principles and method, e.g. by DXP, but DXP is not mature, DXP don t solve the all the disadvantages of distributed project, so ASD suitability to distributed project is just in the middle level, but with the development and improvement of DXP, the suitability will be enhanced. 9 Reference [1] Cockburn, Alistair, Agile software development, the people factor Addision - Wesley, Boston, MA, Nov 2001, xxii xxiii p. [referred ] [2] Camel, Erran, Globally Dispersed Software Development Teams: A defination and framework. 5 th International Conference on Management of Technology, march1996 [referred ] [3] Beck, K., Embracing change with Extreme Programming, IEEE1999, Computer [referred ] [4] Martin Fowler, The New Methodology, June 2002 [referred ] URL: [5] Abramhamsson, P., Salo, O., A., Agile Software development Method review and analysis, VTT publication 487, , p27 [referred ] URL: [6] Aoyama, M., Agile Software Process and its experience Software Engineering, Proceedings of the 1998 International Conference Page(s): [referred ] [7] Turk, D., France, R., Rumpe, B., Limitation of Agile Software Process

22 Agile alliance, 2001 [referred ] URL: [8].; Bhattacharya, S, Creating an agile software development organization: a key factor for survival in today's economy, Engineering Management Conference, IEMC ' IEEE International, Volume: Page(s): [referred ] [9] Kircher M., Jain P. Corsaro, A. & Levine, D. Distributed extreme Programming 2nd International Conference on extreme Programming and Flexible Processes in Software Engineering, May 2001, p [referred ] URL:

Introduction to Agile Software Development. EECS 690 Agile Software Development

Introduction to Agile Software Development. EECS 690 Agile Software Development Introduction to Agile Software Development EECS 690 Agile Software Development Agenda Research Consent Forms Problem with Software Engineering Motivation for Agile Methods Agile Manifesto Principles into

More information

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

Comparative Study of Agile Methods and Their Comparison with Heavyweight Methods in Indian Organizations

Comparative Study of Agile Methods and Their Comparison with Heavyweight Methods in Indian Organizations International Journal of Recent Research and Review, Vol. VI, June 2013 Comparative Study of Agile Methods and Their Comparison with Heavyweight Methods in Indian Organizations Uma Kumari 1, Abhay Upadhyaya

More information

Software Processes. Agile Methods

Software Processes. Agile Methods Software Processes Agile Methods Roadmap Agile Methods Agile Manifesto Agile Principles Agile Methods Agile Processes Scrum, Crystall,... Integrating Agile with Non-Agile Processes 2 Agile Development

More information

CS435: Introduction to Software Engineering! " Software Engineering: A Practitioner s Approach, 7/e " by Roger S. Pressman

CS435: 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 information

Agile Development Overview

Agile Development Overview Presented by Jennifer Bleen, PMP Project Services Practice of Cardinal Solutions Group, Inc. Contact: Agile Manifesto We are uncovering better ways of developing software by doing it and helping others

More information

History of Agile Methods

History of Agile Methods Agile Development Methods: Philosophy and Practice CPSC 315 Programming Studio Fall 2010 History of Agile Methods Particularly in 1990s, some developers reacted against traditional heavyweight software

More information

Agile Software Development in the Large

Agile Software Development in the Large Agile Software Development in the Large GI-Vortrag Braunschweig Jutta Eckstein Nicolai Josuttis What Does Large Mean? Large in... scope time people money risks We focus on Large Teams which implies everything

More information

Agile Software Project Management Methodologies

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

Comparing Agile Software Processes Based on the Software Development Project Requirements

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

More information

Introduction to Agile Software Development

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

More information

What Does Large Mean? Copyright 2003 by N. Josuttis and J. Eckstein 3. Why is Large an Issue?

What Does Large Mean? Copyright 2003 by N. Josuttis and J. Eckstein 3. Why is Large an Issue? Skalierung von agilen Prozessen Ein Erfahrungsbericht OOP 2003 Jutta Eckstein Nicolai Josuttis This Talk is About Agility Large Experience Success Copyright 2003 by N. Josuttis and J. Eckstein 2 1 What

More information

A Cynical View on Agile Software Development from the Perspective of a new Small-Scale Software Industry

A Cynical View on Agile Software Development from the Perspective of a new Small-Scale Software Industry A Cynical View on Agile Software Development from the Perspective of a new Small-Scale Software Industry Apoorva Mishra Computer Science & Engineering C.S.I.T, Durg, India Deepty Dubey Computer Science

More information

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 Waterfall: Spiral: Split project into controlled

More information

Agile Software Development. Mohsen Afsharchi

Agile Software Development. Mohsen Afsharchi Agile Software Development Mohsen Afsharchi I. Agile Software Development Agile software development is a group of software development methods based on iterative and incremental development, where requirements

More information

AGILE 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ä 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 information

Software Development with Agile Methods

Software Development with Agile Methods Case Study Software Development with Agile Methods Introduction: Web application development is a much studied, heavily practiced activity. That is, capturing and validating user requirements, estimating

More information

Agile Methodologies and Its Processes

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

More information

Software Development Life Cycle (SDLC)

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

More information

Extreme Programming, an agile software development process

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

A Review of Agile Software Development Methodologies

A Review of Agile Software Development Methodologies A Review of Agile Software Development Methodologies Shama.P.S Department of Computer Science & Engineering CENTRAL UNIVERSITY OF KARNATAKA, Kalaburagi 585367, India Shivamanth A Applied Mechanics Department

More information

A Software Project Management Innovation (SPM) Methodology: A Novel Method for Agile Software Development

A Software Project Management Innovation (SPM) Methodology: A Novel Method for Agile Software Development Third 21st CAF Conference at Harvard, in Boston, USA. September 2015, Vol. 6, Nr. 1 ISSN: 2330-1236 A Software Project Management Innovation (SPM) Methodology: A vel Method for Agile Software Development

More information

Agile processes. Extreme Programming, an agile software development process

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

Agile Beyond The Team 1

Agile Beyond The Team 1 Agile Beyond The Team 1 Dilbert Agile 2 What Does Your Organization Value? Projects over Teams? Do new teams spools up for new projects? On-Time/On-Budget Delivery over Zero Maintenance Products Deliver

More information

Agile Software Development

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

Agile with XP and Scrum

Agile with XP and Scrum Agile with XP and Scrum Amit Goel National Agile Software Workshop @ Indore Agile India Conference Agile Software Community of India Disclaimer and Credits Most of material in this presentation has been

More 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 Security Research Institute Conferences 2010 Success of Agile Environment in Complex Projects Abbass Ghanbary

More information

Agile Projects 7. Agile Project Management 21

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

More information

EXTREME PROGRAMMING AGILE METHOD USED IN PROJECT MANAGEMENT

EXTREME PROGRAMMING AGILE METHOD USED IN PROJECT MANAGEMENT EXTREME PROGRAMMING AGILE METHOD USED IN PROJECT MANAGEMENT Cruceru Anca Romanian- American University, Faculty of Management- Marketing, 1B Expozitiei Blvd, Bucharest, cruceruanca@yahoo.com, 0723508894

More information

CSE 435 Software Engineering. Sept 16, 2015

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

More information

UC Santa Barbara. CS189A - Capstone. Christopher Kruegel Department of Computer Science UC Santa Barbara http://www.cs.ucsb.

UC Santa Barbara. CS189A - Capstone. Christopher Kruegel Department of Computer Science UC Santa Barbara http://www.cs.ucsb. CS189A - Capstone Christopher Kruegel Department of Computer Science http://www.cs.ucsb.edu/~chris/ How Should We Build Software? Let s look at an example Assume we asked our IT folks if they can do the

More information

Agile Software Development

Agile Software Development Agile Software Development Lecturer: Raman Ramsin Lecture 1 Agile Development: Basics 1 Software Development Methodology (SDM) A framework for applying software engineering practices with the specific

More information

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

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

More information

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

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

More information

Agile Software Development Approaches and Their History. Volkan Günal

Agile Software Development Approaches and Their History. Volkan Günal Agile Software Development Approaches and Their History Volkan Günal August 3, 2012 2 ABSTRACT Author: Günal, Volkan Enterprise Software Engineering 2012: Agile Software Development (Seminar) With the

More information

Manifesto for Agile Software Development

Manifesto for Agile Software Development Rocky Mountain Information Management Association Manifesto for Agile Software Development We are uncovering better ways of developing software by doing it and helping others do it. Through this work we

More information

extreme Programming in Open-Source and Distributed Environments

extreme Programming in Open-Source and Distributed Environments extreme Programming in Open-Source and Distributed Environments Michael Kircher Siemens AG, Corporate Technology Michael.Kircher@mchp.siemens.de JAOO 2001 1 Outline Motivation Adaptation of XP Distributed

More information

Agile QA s Revolutionary Impact on Project Management

Agile QA s Revolutionary Impact on Project Management Agile QA s Revolutionary Impact on Project Management Introduction & Agenda Rachele Maurer Agile Coach, Platinum Edge Inc. PMP, CSM, PMI-ACP Agenda A quick overview of agile Current QA practices QA using

More information

New Developments in an Agile World: Drafting Software Development Agreements. By: Paul H. Arne 1,2

New Developments in an Agile World: Drafting Software Development Agreements. By: Paul H. Arne 1,2 New Developments in an Agile World: Drafting Software Development Agreements By: Paul H. Arne 1,2 A few months before this article was prepared, a group of senior IT professionals from some of the largest

More information

Agile Project Management By Mark C. Layton

Agile Project Management By Mark C. Layton Agile Project Management By Mark C. Layton Agile project management focuses on continuous improvement, scope flexibility, team input, and delivering essential quality products. Agile project management

More information

Digital Transformation of the Enterprise for SMAC: Can Scrum help?

Digital Transformation of the Enterprise for SMAC: Can Scrum help? Digital Transformation of the Enterprise for SMAC: Can Scrum help? Scope of this Report October 2015 In this paper, we consider the impact of the digital transformation on software development and whether

More information

Agile processes. Extreme Programming, an agile software development process. Extreme Programming. Risk: The Basic Problem

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

Bottlenecks in Agile Software Development Identified Using Theory of Constraints (TOC) Principles

Bottlenecks in Agile Software Development Identified Using Theory of Constraints (TOC) Principles Master thesis in Applied Information Technology REPORT NO. 2008:014 ISSN: 1651-4769 Department of Applied Information Technology or Department of Computer Science Bottlenecks in Agile Software Development

More information

Role of Agile Methodology in Software Development

Role of Agile Methodology in Software Development Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 2, Issue. 10, October 2013,

More information

A Capability Maturity Model (CMM)

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

More information

CSSE 372 Software Project Management: Managing Agile Projects

CSSE 372 Software Project Management: Managing Agile Projects CSSE 372 Software Project Management: Managing Agile Projects Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: bohner@rose-hulman.edu XKCD Reference Learning Outcomes: Plan Create a plan

More information

CSSE 372 Software Project Management: More Agile Project Management

CSSE 372 Software Project Management: More Agile Project Management CSSE 372 Software Project Management: More Agile Project Management Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: bohner@rose-hulman.edu Learning Outcomes: Plan Create a plan for

More information

Agile Testing and Extreme Programming

Agile Testing and Extreme Programming Agile Testing and Extreme Programming bret@pettichord.com www.pettichord.com March 2003 Copyright 2003 Bret Pettichord. All rights reserved. The Agile Alliance Values We have come to value: Individuals

More information

Agile Project Management with Scrum

Agile Project Management with Scrum Agile Project Management with Scrum Resource links http://www.agilealliance.org/ http://www.agilemanifesto.org/ http://www.scrum-master.com/ 1 Manifesto for Agile Software Development Individuals and interactions

More information

REVIEW OF AGILE METHODOLOGIES IN SOFTWARE DEVELOPMENT

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

AGILE SOFTWARE DEVELOPMENT. BY Sysop Technology Aurangabad-431003

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

EMC PERSPECTIVE. Adopting an Agile Approach to OSS/BSS Development

EMC PERSPECTIVE. Adopting an Agile Approach to OSS/BSS Development EMC PERSPECTIVE Adopting an Agile Approach to OSS/BSS Development Reader ROI The agile software methodology is different from the traditional approach in that requirements gathering and analysis, design,

More information

Agile Development with C#

Agile Development with C# Agile Development with C# Paweł Jarosz, pjarosz@pk.edu.pl Cracow University of Technology, Poland Jyvaskyla University of Applied Sciences, February 2009 Paweł Jarosz who am I? M.Sc. of Applied Physics

More information

Mitigating Risk with Agile Development. Rich Mironov CMO, Enthiosys

Mitigating Risk with Agile Development. Rich Mironov CMO, Enthiosys Mitigating Risk with Agile Development Rich Mironov CMO, Enthiosys 2 About Rich Mironov CMO at Enthiosys, agile product mgmt consultancy Business models/pricing, roadmaps Agile transformation and Interim

More information

Distributed Agile Development. Bapiraju Nandury Product Development Manager Bangalore Development Centre

Distributed Agile Development. Bapiraju Nandury Product Development Manager Bangalore Development Centre Distributed Agile Development Bapiraju Nandury Product Development Manager Bangalore Development Centre Agenda Distributed / offshore Development Agile Methods Distributed Agile Development Goals of this

More information

Agile Software Development Methodologies & Correlation with Employability Skills

Agile Software Development Methodologies & Correlation with Employability Skills Agile Software Development Methodologies & Correlation with Employability Skills Dineshkumar Lohiya School of Computer and Information Science University of South Australia, Adelaide Dineshkumar.Lohiya@postgrads.unisa.edu.au

More information

AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT

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

More information

Scaling Scrum. Colin Bird & Rachel Davies Scrum Gathering London 2007. conchango 2007 www.conchango.com

Scaling Scrum. Colin Bird & Rachel Davies Scrum Gathering London 2007. conchango 2007 www.conchango.com Scaling Scrum Colin Bird & Rachel Davies Scrum Gathering London 2007 Scrum on a Slide Does Scrum Scale? Ok, so Scrum is great for a small team but what happens when you have to work on a big project? Large

More information

Processes in Software Development. Presented 11.3.2008 by Lars Yde, M.Sc., at Selected Topics in Software Development, DIKU spring semester 2008

Processes in Software Development. Presented 11.3.2008 by Lars Yde, M.Sc., at Selected Topics in Software Development, DIKU spring semester 2008 Processes in Software Development Presented 11.3.2008 by Lars Yde, M.Sc., at Selected Topics in Software Development, DIKU spring semester 2008 Software hall of shame Classic mistakes ACM Code of Ethics

More information

Agile and Secure: Can We Be Both?

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

Agile So)ware Development

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

More information

An Ideal Process Model for Agile Methods

An Ideal Process Model for Agile Methods An Ideal Process Model for Agile Methods Marcello Visconti 1 and Curtis R. Cook 2 1 Departamento de Informática, Universidad Técnica Federico Santa María, Valparaíso, CHILE visconti@inf.utfsm.cl 2 Computer

More information

Continuous Integration: Improving Software Quality and Reducing Risk. Preetam Palwe Aftek Limited

Continuous Integration: Improving Software Quality and Reducing Risk. Preetam Palwe Aftek Limited Continuous Integration: Improving Software Quality and Reducing Risk Preetam Palwe Aftek Limited One more title Do you love bugs? Or Are you in love with QC members? [Courtesy: Smita N] Agenda Motivation

More information

Laboratório de Desenvolvimento de Software

Laboratório de Desenvolvimento de Software Laboratório de Desenvolvimento de Software FEUP/MIEIC, 2015/16 Ademar Aguiar Nuno Flores Rui Maranhão Hugo Ferreira Luís Teixeira url: moodle http://www.facebook.com/notes/facebook-engineering/visualizing-friendships/469716398919

More information

Tamanna Assistant Professor Chandigarh University Gharuan, Mohali,India

Tamanna Assistant Professor Chandigarh University Gharuan, Mohali,India Volume 4, Issue 6, June 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com An Agile Methodology

More information

Creating a High Maturity Agile Implementation

Creating a High Maturity Agile Implementation Creating a High Maturity Agile Implementation Creating a High Maturity Agile Implementation www.qaiglobal.com 1 Copyright Notice 2015. Unless otherwise noted, these materials and the presentation of them

More information

Agile Framework for Globally Distributed Development Environment (The DAD Model)

Agile Framework for Globally Distributed Development Environment (The DAD Model) Agile Framework for Globally Distributed Development Environment (The DAD Model) REHAN AKBAR, MUHAMMAD HARIS, MAJID NAEEM Department of Computer Science GC University, Lahore Pakistan. rehankb@yahoo.com

More information

Neglecting Agile Principles and Practices: A Case Study

Neglecting Agile Principles and Practices: A Case Study Neglecting Agile Principles and Practices: A Case Study Patrícia Vilain Departament de Informatics and Statistics (INE) Federal University of Santa Catarina Florianópolis, Brazil vilain@inf.ufsc.br Alexandre

More information

Introduction to extreme Programming (XP)

Introduction to extreme Programming (XP) Introduction to extreme Programming (XP) Extreme Programming (XP) Kent Beck C3 Project Chrysler Comprehensive Compensation system. XP Values: Communication Courage Feedback Simplicity Established the Twelve

More information

Aristotle in an Agile World. By Ben Allen

Aristotle in an Agile World. By Ben Allen Aristotle in an Agile World By Ben Allen Introduction Aim of the presentation is to introduce the agile mindset to software testers, using ancient philosophy as a reference point. What do ancient philosophers

More information

Development. Lecture 3

Development. Lecture 3 Software Process in Modern Software Development Lecture 3 Software Engineering i Practice Software engineering practice is a broad array of principles, concepts, methods, and tools that must be considered

More information

Software processes that are:

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

Comparison and problems between Traditional and Agile software development methods

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

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

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

More information

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

COMPARATIVELY ANALYSIS OF AGILE SOFTWARE DEVELOPMENT

COMPARATIVELY ANALYSIS OF AGILE SOFTWARE DEVELOPMENT International Journal of Information Technology and Knowledge Management January-June 2012, Volume 5, No. 1, pp. 5-8 COMPARATIVELY ANALYSIS OF AGILE SOFTWARE DEVELOPMENT Ajaydeep 1, Lekha 2, Kavita Dawra

More information

Development Techniques. CSE301 University of Sunderland Harry R. Erwin, PhD

Development Techniques. CSE301 University of Sunderland Harry R. Erwin, PhD Development Techniques CSE301 University of Sunderland Harry R. Erwin, PhD Sources Boehm, 1981, Software Engineering Economics, Prentice- Hall. Stephens and Rosenberg, 2003, Extreme Programming Refactored:

More information

Governments information technology

Governments information technology So l u t i o n s Blending Agile and Lean Thinking for More Efficient IT Development By Harry Kenworthy Agile development and Lean management can lead to more cost-effective, timely production of information

More information

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

More information

Agile Software Development Methodologies and Its Quality Assurance

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

More information

Agile Fundamentals, ROI and Engineering Best Practices. Rich Mironov Principal, Mironov Consulting

Agile Fundamentals, ROI and Engineering Best Practices. Rich Mironov Principal, Mironov Consulting Agile Fundamentals, ROI and Engineering Best Practices Rich Mironov Principal, Mironov Consulting 1 About Rich Mironov Agile product management thought leader Business models, pricing, roadmaps Agile transformations

More information

Software Requirements and Specification

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

Extreme Programming: Strengths and Weaknesses

Extreme Programming: Strengths and Weaknesses The International Arab Conference on Information Technology (ACIT 2013) Extreme Programming: Strengths and Weaknesses Ahmad dalalah Prep. Year Deanship University of Hail, SA a.dalalah@uoh.edu.sa Abstract:

More information

Agile Software Development

Agile Software Development E Learning Volume 5 Number 1 2008 www.wwwords.co.uk/elea Agile Software Development SOLY MATHEW BIJU University of Wollongong in Dubai, United Arab Emirates ABSTRACT Many software development firms are

More information

Agile Overview. 30,000 perspective. Juha Salenius CSPO CSM PMI-ACP PMP SCGMIS Workshop January 23 rd, 2013

Agile Overview. 30,000 perspective. Juha Salenius CSPO CSM PMI-ACP PMP SCGMIS Workshop January 23 rd, 2013 Agile Overview 30,000 perspective Juha Salenius CSPO CSM PMI-ACP PMP SCGMIS Workshop January 23 rd, 2013 Agenda 30,000 Perspective The Players Initiating a Project Agile Estimating Agile Communications

More information

SCEA 2010 EST06. Estimating Issues Associated with Agile. Bob Hunt. Galorath Incorporated

SCEA 2010 EST06. Estimating Issues Associated with Agile. Bob Hunt. Galorath Incorporated SCEA 2010 EST06 Estimating Issues Associated with Agile Development Bob Hunt Vice President, Services Galorath Incorporated What Is Agile Software Dev? In the late 1990 s several methodologies began to

More information

Agile on huge banking mainframe legacy systems. Is it possible?

Agile on huge banking mainframe legacy systems. Is it possible? EuroSTAR 2011 Agile on huge banking mainframe legacy systems. Is it possible? Christian Bendix Kjær Hansen Test Manager November 22, 2011 What is this presentation about? Goal Inspire others working with

More information

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

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

More information

Agile Requirements Generation Model: A Soft-structured Approach to Agile Requirements Engineering. Shvetha Soundararajan

Agile Requirements Generation Model: A Soft-structured Approach to Agile Requirements Engineering. Shvetha Soundararajan Agile Requirements Generation Model: A Soft-structured Approach to Agile Requirements Engineering Shvetha Soundararajan Thesis submitted to the faculty of the Virginia Polytechnic Institute and State University

More information

This handbook is meant to be a quick-starter guide to Agile Project Management. It is meant for the following people:

This handbook is meant to be a quick-starter guide to Agile Project Management. It is meant for the following people: AGILE HANDBOOK OVERVIEW WHAT IS THIS? This handbook is meant to be a quick-starter guide to Agile Project Management. It is meant for the following people: Someone who is looking for a quick overview on

More information

Agile project management: A magic bullet?

Agile project management: A magic bullet? Agile project management: A magic bullet? Prof. Darren Dalcher d.dalcher@mdx.ac.uk Conferencia Iberoamericana de Calidad del Software Prof. Darren Dalcher 1 Outline I. What is agilility? The agile manifesto

More information

Agile Offshore Outsourcing

Agile Offshore Outsourcing Agile Offshore Outsourcing Concepts and Practices for Flexible Integration of Offshore Development Services Agile Business Conference 2006 Joachim Sauer Agenda Challenges and common solutions of applying

More information

(General article) An Empirical Study of Agile Software Development. Ajay Deep a* Department of Information Technology, OITM, Hisar

(General article) An Empirical Study of Agile Software Development. Ajay Deep a* Department of Information Technology, OITM, Hisar ijesm www.ijesm.com International Journal of Engineering, Science and Metallurgy (General article) An Empirical Study of Agile Software Development Ajay Deep a* Department of Information Technology, OITM,

More information

AGILE vs. WATERFALL METHODOLOGIES

AGILE vs. WATERFALL METHODOLOGIES AGILE vs. WATERFALL METHODOLOGIES Introduction Agile and waterfall are two major methodologies that software developers and project managers have the option of using. Some of the goals of developers and

More information

Copyright is owned by the Author of the thesis. Permission is given for a copy to be downloaded by an individual for the purpose of research and

Copyright is owned by the Author of the thesis. Permission is given for a copy to be downloaded by an individual for the purpose of research and Copyright is owned by the Author of the thesis. Permission is given for a copy to be downloaded by an individual for the purpose of research and private study only. The thesis may not be reproduced elsewhere

More information

Product Derivation Process and Agile Approaches: Exploring the Integration Potential

Product Derivation Process and Agile Approaches: Exploring the Integration Potential Product Derivation Process and Agile Approaches: Exploring the Integration Potential Padraig O Leary, Muhammad Ali Babar, Steffen Thiel, Ita Richardson Lero, the Irish Software Engineering Research Centre,

More information

Exception Handling. development.

Exception Handling. development. Exception Handling Name: ID: These questions do not have a formal, definitive answer. They are meant to be food for thoughts. Feel free to seek answers on browsing the Internet, talking to other software

More information

Extreme Programming. As software organizations continue to move

Extreme Programming. As software organizations continue to move Spotlight Extreme Programming Rapid Development for Web-Based Applications Frank Maurer and Sebastien Martel University of Calgary As software organizations continue to move toward Web-based systems development,

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 Objectives To explain how an iterative, incremental development process leads to faster delivery of

More information

Gothenburg 2015 Jan Marek Jan.Marek@ca. com CA Technologies Introducing Agile development methodologies to Session S601 mainframe development teams

Gothenburg 2015 Jan Marek Jan.Marek@ca. com CA Technologies Introducing Agile development methodologies to Session S601 mainframe development teams Jan Marek Jan.Marek@ca. com CA Technologies Session S601 Introducing Agile development methodologies to mainframe development teams Agenda Introduce Agile software development methodologies Scrum overview

More information