Faced with the conflicting pressures of accelerated
|
|
|
- Allen Lang
- 10 years ago
- Views:
Transcription
1 COVER FEATURE Get Ready for Agile Methods, with Care Although many of their advocates consider the agile and plan-driven software development methods polar opposites, synthesizing the two can provide developers with a comprehensive spectrum of tools and options. Barry Boehm University of Southern California Faced with the conflicting pressures of accelerated product development and users who demand that increasingly vital systems be made ever more dependable, software development has been thrown into turmoil. Traditionalists advocate using extensive planning, codified processes, and rigorous reuse to make development an efficient and predictable activity that gradually matures toward perfection. Meanwhile, a new generation of developers cites the crushing weight of corporate bureaucracy, the rapid pace of information technology change, and the dehumanizing effects of detailed plan-driven development as cause for revolution. In their rallying cry, the Manifesto for Agile Software Development ( and in columns 1,2 such as those the Ongoing Debate sidebar describes, these developers call for a revitalized approach to development that dispenses with all but the essentials. Unsurprisingly, many developers who favor plan-driven methods have reacted to the manifesto with scathing criticism. Real-world examples argue for and against agile methods. Responding to change has been cited as the critical technical success factor in the Internet browser battle between Microsoft and Netscape. But overresponding to change has been cited as the source of many software disasters, such as the $3 billion overrun of the US Federal Aviation Administration s Advanced Automation System for national air traffic control. I believe that both agile and plan-driven approaches have a responsible center and overinterpreting radical fringes. Although each approach has a home ground of project characteristics within which it performs very well, and much better than the other, outside each approach s home ground, a combined approach is feasible and preferable. THE PLANNING SPECTRUM We can place various agile and plan-driven development approaches along a spectrum of increasing emphasis on plans, as Figure 1 shows. In this context, the term plan includes documented process procedures that involve tasks and milestone plans, and product development strategies that involve requirements, designs, and architectural plans. Compared to unplanned and undisciplined hacking, agile methods emphasize a fair amount of planning. Their general view, though, places more value on the planning process than the resulting documentation, 1 so these methods often appear less plan-oriented than they really are. Although hardcore hackers can use agile principles to claim that the work they do is agile, in general these methods have criteria, such as Extreme Programming s 12 practices, that help determine whether an organization is using an agile method or not. Another encouraging trend is that the buzz of agile methods such as XP is drawing many young programmers away from the cowboy role model and toward the more responsible agile methods. 2 Computer /02/$ IEEE
2 Ongoing Debate The price that XP pays for this benefit, however, is a reluctance by more conservative managers to sanction a method called extreme. 3 Plan-driven methods also have a responsible center focused on major milestones and their overall content, rather than on micromilestones locked into an ironbound contract. Excessively prespecified plans overconstrain the development team even at minor levels of change in personnel, technology, or commercial off-the-shelf upgrades. Such plans also provide a source of major contention, rework, and delay at high-change levels. On the other hand, when reviewing projects using the risk-driven spiral model, I find that to keep from losing their way, such projects, particularly larger ones, need to have at least three major anchor-point milestones to serve as project progress indicators and stakeholder commitment points. 4 Figure 1 also shows the location of the current software Capability Maturity Model and its successor, the Capability Maturity Model Integrated in the planning spectrum. Its proponents often use the software CMM in an overly restrictive and bureaucratic way, but it can be interpreted to include some forms of milestone risk-driven models. Software CMM leaders are also showing how liberal versus literal interpretations can include major portions of XP as being software CMMcompliant. 5 We can also interpret the CMMI, which adds process areas for risk management, integrated teaming, and an organizational environment for integration, to include agile methods. In the Software Management column in Computer s September and November 2001 issues, Jim Highsmith and Alistair Cockburn summarized and rationalized the shared value propositions embodied in the Manifesto for Agile Software Development. The developers of several emerging software development methods, such as Adaptive Software Development (ASD), Agile Modeling, Crystal Methods, Dynamic System Development Methodology (DSDM), Extreme Programming (XP), Feature Driven Development, Lean Development, and Scrum emphasize the following values: individuals and interactions over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation, responding to change over following a plan. That is, while there is value in the items on the right, agile method proponents value the items on the left more. Although their advocates have used each of these agile methods successfully in practice, critics who prefer process-based methods remain skeptical. In a letter 1 to Computer, Steven Rakitin indicates that in his experience, the items on the right are essential, while those on the left serve only as easy excuses for hackers to keep on irresponsibly throwing code together with no regard for engineering discipline. He provides hacker interpretations that turn agile value propositions such as responding to change over following a plan into chaos generators. For example, Rakitin asserts that agile developers consider following a plan to imply that they must spend time thinking about the problem and how they might actually solve it, when they would rather just jump in and code the solution. References 1. S. Rakitin, Manifesto Elicits Cynicism, Computer, Dec. 2001, p. 4. COMPARING THE METHODS The agile and plan-driven approaches each have strengths and weaknesses, as a direct comparison of several key areas shows. Hackers XP Adaptive SW development Milestone risk-driven models Milestone plan-driven models Inchpebble ironbound contract Agile methods CMM Figure 1. The planning spectrum. Unplanned and undisciplined hacking occupies the extreme left, while micromanaged milestone planning, also known as inchpebble planning, occupies the extreme right. Developers Alistair Cockburn and Jim Highsmith emphasize several critical people factors for agile methods: amicability, talent, skill, and communication. 2 Larry Constantine s independent assessment identifies a potential problem for agile methods: There are only so many Kent Becks in the world to lead the team. All of the agile methods put a premium on having premium people. 6 When you work with premium people, Highsmith and Cockburn s statement that A few designers sitting together can produce a better design than each could produce alone 1 rings true. Without premium people, however, you re more likely to get a design-by-committee mess. A significant consideration here is the unavoidable statistic that percent of the world s software developers are below average. This is not to say that agile methods require uniformly high-capability people. Many agile projects have succeeded with mixes of experienced and junior people, as have plan-driven projects. The Software CMM January
3 main difference is that agile methods derive much of their agility by relying on the tacit Agile methods derive knowledge embodied in the team, rather than much of their agility writing the knowledge down in plans. 7 When by relying on the the team s tacit knowledge is sufficient for the tacit knowledge application s life-cycle needs, things work embodied in the fine. But there is also the risk that the team will make irrecoverable architectural mistakes because of unrecognized shortfalls in team, rather than writing the its tacit knowledge. Plan-driven methods knowledge down reduce this risk by investing in life-cycle architectures and plans, and using these to facili- in plans. tate external-expert reviews. In doing so, however, they accept a risk that rapid change will make the plans obsolete or very expensive to keep up to date. Customers In USC s rapid-development electronic services projects, we have found that unless customer participants are committed, knowledgeable, collaborative, representative, and empowered, the developed products generally do not transition into use successfully, even though they may satisfy the customer. Participants in the XP 2001 Customer Involvement in XP workshop reached similar conclusions. 8 Agile methods work best when such customers operate in dedicated mode with the development team, and when their tacit knowledge is sufficient for the full span of the application. Again, though, these methods risk tacit knowledge shortfalls, which the plan-driven methods reduce via documentation and use of architecture review boards and independent expert project reviews to compensate for onsite customer shortfalls. Requirements Highsmith and Cockburn emphasize that agile approaches are most applicable to turbulent, highchange environments. According to their world view, organizations are complex adaptive systems in which requirements are emergent rather than prespecifiable. 1 However, while agile manifesto tenets such as the second principle welcome changing requirements, even late in development offer great potential for success, developers can misapply them, with disastrous results. Plan-driven methods work best when developers can determine the requirements in advance including via prototyping and when the requirements remain relatively stable, with change rates on the order of one percent per month. In the increasingly frequent situations in which the requirements change at a much higher rate than this, the traditional emphasis on having complete, consistent, precise, testable, and traceable requirements will encounter difficult to insurmountable requirements-update problems. Yet this emphasis is vital for stable, safety-critical embedded software. Architecture The agile manifesto values working software over comprehensive documentation, and emphasizes simplicity: maximizing the amount of work not done. This principle can be interpreted in many ways. Most are quite good, but some interpretations can cause problems. For example, based on the YAGNI precept: You Aren t Going to Need It, XP advocates doing extra work to get rid of architectural features that do not support the system s current version. This approach works fine when future requirements are largely unpredictable. However, in situations where future requirements are predictable, this practice not only throws away valuable architectural support for them, it also creates problems with customers who want developers to believe that their priorities and evolution requirements are worth accommodating. Some agile methods such as Crystal and DSDM do more architectural preplanning. As with requirements, plan-driven methods that emphasize heavyweight architecture and design documentation will encounter difficult to insurmountable problems in keeping up with rapidly changing requirements. On the other hand, if the architecture anticipates and accommodates requirements changes, plan-driven methods can keep even million-line applications within budget and schedule. Walker Royce provided a good example of such an effort in his description of the CCPDS- R project. 9 Refactoring With great developers and small systems, the assumption that refactoring is essentially free is valid. If so, the YAGNI approach is low-risk. However, empirical evidence indicates that with less-than-great developers, refactoring effort increases with the number of requirements or stories. For very large systems, our Pareto analysis of rework costs at TRW indicated that the 20 percent of the problems causing 80 percent of the rework came largely from architecture-breakers, such as architecture discontinuities to accommodate performance, fault-tolerance, or security problems, in which no amount of refactoring could put Humpty Dumpty back together again. 4 Computer
4 High P(L): inadequate plans High S(L): major problems (oversights, delays, rework) High P(L): plan breakage, delay High S(L): value capture delays Size Cockburn and Highsmith conclude that Agile development is more difficult for larger teams, but they cite occasional successful larger agile projects with up to 250 people. 2 Larry Constantine finds agile methods highly attractive for small projects, but he concludes that The tightly coordinated teamwork needed for these methods to succeed becomes increasingly difficult beyond 15 or 20 developers. 6 Plan-driven methods scale better to large projects like the million-line CCPDS-R project. But a bureaucratic, plan-driven organization that requires an average of a person-month just to get a project authorized and started won t be very efficient on small projects. Primary objective The first principle of the agile manifesto states that Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Early and continuous are reasonably compatible goals for small systems developed by great people. But overfocus on early results in large systems can lead to major rework when the architecture doesn t scale up. In such cases, a good deal of planning will be necessary, in the spirit of the eighth principle of Lean Programming: Ban Local Optimization. 10 Some agile methods are experimenting with concepts similar to the software architecture skeleton used in the CCPDS-R project. Plan-driven methods are most needed in highassurance software. Scott Ambler, the originator of agile modeling, says, I would be leery of applying agile modeling to life-critical systems. 11 Another major set of objectives for the more traditional plan-driven methods, and for the software CMM, has been predictability, repeatability, and optimization. But in a world involving frequent, radical changes, having processes as repeatable and optimized as a dinosaur s may not be a good objective. Fortunately, the CMMI and associated riskdriven methods provide a way to migrate toward more adaptability. RE = P(L) * S(L) Low P(L): few plan delays Low S(L): early value capture Sweet spot Time and effort invested in plans Figure 2. Risk exposure (RE) profile. This planning detail for a sample e-services company shows the probability of loss P(L) and size of loss S(L) for several significant factors. BALANCING AGILITY AND DISCIPLINE Particularly in the e-services sector, companies with a large customer base don t need just rapid value or high assurance they need both. Pure agility or pure plan-driven discipline alone can t meet these needs. A mix of each is needed. Martin Fowler s Is Design Dead? 12 essay and Jim Highsmith s Adaptive Software Development 13 book describe ways for combining agile and plandriven methods. Risk management offers another approach that can help balance agility and discipline and answer questions such as How much is enough? 4 I apply risk management here to address the question How much planning is enough? A central concept in risk management involves determining the risk exposure for a given course of action. To determine RE, you assess the probability of loss, P(L), involved in a course of action, the corresponding size of loss, S(L), and then compute the risk exposure as the expected loss: RE = P(L) * S(L). Loss can include profits, reputation, quality of life, or other value-related attributes. Figure 2 shows risk exposure profiles for a sample e-services company with a sizable installed base and thus the desire for high assurance, a rapidly changing marketplace and thus the desire for agility and rapid value, and an internationally distributed development team with a mix of skill levels and thus the need for some level of documented plans. The black curve in Figure 2 shows the variation in risk exposure from inadequate plans as a function of the company s level of investment in its projects process and product plans. At the left, a minimal investment corresponds to a high P(L) that the plans will have loss-causing gaps, ambiguities, and inconsistencies. It also corresponds to a high S(L) that these deficiencies will cause major project oversights, delays, and rework costs. At the right, we see that the more thorough the plans, the less probability that plan inadequacies will cause problems, and the smaller the size of the associated losses. The red curve in Figure 2 shows the variation in RE from market share erosion caused by delays in Low P(L): thorough plans Low S(L): minor problems January
5 Table 1. Home ground for agile and plan-driven methods. Home-ground area Agile methods Plan-driven methods Developers Agile, knowledgeable, collocated, and collaborative Plan-oriented; adequate skills; access to external knowledge Customers Dedicated, knowledgeable, collocated, collaborative, Access to knowledgeable, collaborative, representative, and representative, and empowered empowered customers Requirements Largely emergent, rapid change Knowable early; largely stable Architecture Designed for current requirements Designed for current and foreseeable requirements Refactoring Inexpensive Expensive Size Smaller teams and products Larger teams and products Primary objective Rapid value High assurance RE = P(L) * S(L) Low S(L): easy rework Agile sweet spot Mainstream sweet spot Time and effort invested in plans Figure 3. Comparative RE Profile for an agile home-ground company with a small installed base and less need for high assurance. RE = P(L) * S(L) Higher S(L): large system rework Plan-driven sweet spot Mainstream sweet spot Time and effort invested in plans Figure 4. Comparative RE profile for a plan-driven home-ground company that produces large, safety-critical systems. product introduction. Spending minimal time in planning will get at least a demo product into the marketplace early, enabling early value capture. Spending too much time in planning carries a high loss probability because of the time lost to planning and because rapid changes will cause delays via plan breakage. Longer planning times will also cause higher-sized losses because the delays will let stronger competitors capture most of the market share. The blue curve in Figure 2 shows the sum of the risk exposures from inadequate plans and market share erosion. The very low and very high investments in plans have high overall risk exposures, and the sweet spot when overall risk exposure is minimized occurs in the middle, indicating how much planning is enough for this company s operating profile. With the sample company situation as a reference point, we can run comparative risk exposure profiles for companies occupying the home ground of either agile methods or plan-driven methods, as summarized in Table 1. For example, Figure 3 shows the comparative RE profile for an e-services company with a small installed base, a rapidly changing marketplace, a collocated team of highly capable and collaborative developers and customers, and less need for high assurance. With this profile, the major change in risk exposure from Figure 2 involves less rework loss from minimal plans because the team can rapidly replan and refactor, thus the company s sweet spot moves to the left, toward agile methods. Figure 4 shows the corresponding RE profile for a company in the plan-driven home ground, with a more stable product line of larger, more safetycritical systems. Here, the major difference from Figure 2 involves more rework loss from minimal plans, with a resulting shift of the company s sweet spot toward higher investments in plans. ASSESSING RISK EXPOSURE In practice, quantifying estimates of P(L) and S(L) is difficult. But if you re combining agile and plandriven methods, you can use each method s homeground attributes to determine relative risks. So, for example, if your company or project fits an agile home-ground profile except for having a mix of equally important customers with less-than-ideal development representatives, you can reduce your risk exposure by conducting stakeholder requirements negotiations among the developers and customers. Then you can document the results to minimize the risk of future customer misunderstandings. Or, if your project fits a plan-driven homeground profile except for highly volatile user inter- 6 Computer
6 face requirements, you can use risk-driven specifications 4 to document those requirements that pose a high risk if they remain unspecified, such as critical message formats, but to avoid documenting volatile user interface requirements whose specification would be high risk. Risk-driven spiral methods and frameworks such as the Rational Unified Process (RUP), 9 Model-Based Architecting and Software Engineering (MBASE), 14 and the CMMI provide guidelines for finding a good balance of discipline and flexibility, although the current CMMI approach needs more explicit support for agility. Agile and plan-driven methods both form part of the planning spectrum. Despite certain extreme terminology, each is part of the responsible center rather than the radical fringe. Indeed, agile methods perform a valuable service by drawing erstwhile cowboy programmers toward a more responsible center. Both agile and plan-driven methods have a home ground of project characteristics in which each clearly works best, and where the other will have difficulties. Hybrid approaches that combine both methods are feasible and necessary for projects that combine a mix of agile and plan-driven homeground characteristics. Risk analysis of your project s characteristics versus a given method s home-ground characteristics can help determine the best balance the agile and plan-driven disciplines. Although information technology trends are moving us closer to agile methods emergent requirements and rapid change home-ground characteristics, increasing dependability concerns call for measures best implemented with plan-based solutions. To meet these disparate needs, organizations must carefully evolve toward the best balance of agile and plan-driven methods that fits their situation. I expect we will see agile methods used increasingly for projects such as financial services, electronic commerce, air traffic control; distributed, mobile, semiautomated, network-centric military or medical systems. References 1. J. Highsmith and A. Cockburn, Agile Software Development: The Business of Innovation, Computer, Sept. 2001, pp A. Cockburn and J. Highsmith, Agile Software Development: The People Factor, Computer, Nov. 2001, pp L. Copeland, Developers Approach Extreme Programming with Caution, Computerworld, 22 Oct. 2001, p B. Boehm and W. Hansen, The Spiral Model as a Tool for Evolutionary Acquisition, CrossTalk, May 2001, pp. 2-11; stsc.hill.af.mil/crosstalk/ crostalk.html. 5. L. Constantine, Methodological Agility, Software Development, June 2001, pp A. van Deursen, Customer Involvement in Extreme Programming: XP2001 Workshop Report, ACM Software Eng. Notes, Nov. 2001, pp W.E. Royce, Software Project Management: A Unified Framework, Addison-Wesley Longman, Reading, Mass., M. Poppendieck, Lean Programming: Part 2, Software Development, June 2001, pp S. Ambler, When Does(n t) Agile Modeling Make Sense? whendoesamwork.htm. 10. M. Fowler, Is Design Dead? Extreme Programming Explained, G. Succi and M. Marchesi, eds., Addison-Wesley Longman, Reading, Mass., J. Highsmith, Adaptive Software Development, Dorset House, New York, B. Boehm and D. Port, Balancing Discipline and Flexibility With the Spiral Model and MBASE, CrossTalk, Dec. 2001, pp ; hill.af.mil/crosstalk/crostalk.html. 13. A. Cockburn, Agile Software Development Joins the Would-Be Crowd, Cutter IT Executive Report, Jan M. Paulk, Extreme Programming from a CMM Perspective, IEEE Software, Nov.-Dec. 2001, pp If you re combining agile and plan-driven methods, you can use each method s home-ground attributes to determine relative risks. Acknowledgments This work was supported by the National Science Foundation, the Department of Defense Software Intensive Systems Directorate, and the Affiliates of the USC Center for Software Engineering. Barry Boehm is director of the University of Southern California Center for Software Engineering. Contact him at [email protected]. January
Outline. Agile Methods. Converse of Conway s Law. The Silver Bullet Fantasy (Brooks, 1986)
Agile Methods Barry Boehm, CS 510 Lecture Fall 2001 ([email protected]) (http://sunset.usc.edu) Outline Silver bullets and lead bullets Information technology trends The dwindling lead-bullet niche
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)
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
Success Factors of Agile Software Development
Success Factors of Agile Software Development Subhas C. Misra, Vinod Kumar, and Uma Kumar Carleton University, Ottawa, Canada Abstract Agile software development methodologies have recently gained widespread
Software Development Process Selection Approaches
The Journal of Applied Science Vol. 11 No. Vol. 2:45-50 11 No. 2 [2012] ISSN 1513-7805 Printed in Thailand Review Article Software Development Process Selection Approaches Phongphan Danphitsanuphan Department
Software Development Methodologies
Software Development Methodologies Jonathan Hoyle Eastman Kodak Thursday, June 2, 2005 Overview Predictive Methodologies Waterfall Other Predictive Methodologies Agile Methodologies Extreme Programming
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
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
Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution
Software Life Cycle Main issues: Discussion of different life cycle models Maintenance or evolution Not this life cycle SE, Software Lifecycle, Hans van Vliet, 2008 2 Introduction software development
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
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
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
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
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
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
Software Development Process
Software Development Process A software development process, also known as software development lifecycle, is a structure imposed on the development of a software product. Similar terms include software
Scaling Down Large Projects to Meet the Agile Sweet Spot
Scaling Down Large Projects to Meet the Agile Sweet Spot Philippe Kruchten Kruchten Engineering Services Ltd Presenter Philippe Kruchten, Ph. D., P. Eng. KESL 2906 West 37 th avenue Vancouver BC V5Z 2M9
Empirical Findings in Agile Methods
Empirical Findings in Agile Methods Mikael Lindvall 1, Vic Basili 1,4, Barry Boehm 3, Patricia Costa 1, Kathleen Dangle 1, Forrest Shull 1, Roseanne Tesoriero 1, Laurie Williams 2, and Marvin Zelkowitz
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
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
Development Methodologies. Types of Methodologies. Example Methodologies. Dr. James A. Bednar. Dr. David Robertson
Development Methodologies Development Methodologies Dr. James A. Bednar [email protected] http://homepages.inf.ed.ac.uk/jbednar Dr. David Robertson [email protected] http://www.inf.ed.ac.uk/ssp/members/dave.htm
Agile project management: A magic bullet?
Agile project management: A magic bullet? Prof. Darren Dalcher [email protected] Conferencia Iberoamericana de Calidad del Software Prof. Darren Dalcher 1 Outline I. What is agilility? The agile manifesto
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
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
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
Hamid Faridani ([email protected]) March 2011
Hamid Faridani ([email protected]) March 2011 Introduction Methodologies like Waterfall, RUP and Agile have all become key tools for software developers and project manager s to aid them in delivering
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
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: [email protected] XKCD Reference Learning Outcomes: Plan Create a plan
Abstract. Heavy vs Light Methodologies: Bulimic or Anorexic? Fernando Brito e Abreu FCT/UNL
Heavy vs Light Methodologies: Bulimic or Anorexic? Fernando Brito e Abreu FCT/UNL ISCTE, 15 April 2005 Abstract 2 From anorexic to bulimic Overview of heavy-weight methodologies Origins of light-weight
Lifecycle Models: Waterfall / Spiral / EVO
Lifecycle Models: Waterfall / Spiral / EVO Dror Feitelson Basic Seminar on Software Engineering Hebrew University 2011 Lifecycle The sequence of actions that must be performed in order to build a software
COMP 354 Introduction to Software Engineering
COMP 354 Introduction to Software Engineering Greg Butler Office: EV 3.219 Computer Science and Software Engineering Concordia University, Montreal, Canada Email: [email protected] Winter 2015 Course
Selecting a Software Development Methodology based on. Organizational Characteristics. Adrienne Farrell
ATHABASCA UNIVERSITY Selecting a Software Development Methodology based on Organizational Characteristics BY Adrienne Farrell An essay submitted in partial fulfillment Of the requirements for the degree
USAGE OF KANBAN METHODOLOGY AT SOFTWARE DEVELOPMENT TEAMS
Journal of Applied Economics and Business USAGE OF KANBAN METHODOLOGY AT SOFTWARE DEVELOPMENT TEAMS Nevenka Kirovska 1, Saso Koceski 2 Faculty of Computer Science, University Goce Delchev, Stip, Macedonia
CMMI - The AGILE Way By Hitesh Sanghavi
CMMI - The AGILE Way By Hitesh Sanghavi 1 The Maturity Levels 5 Focus on process improvement Optimizing 3 4 2 Process measured and controlled Process characterized for the organization and is proactive
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
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
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
Singhania University, Jhunjhunu, Rajasthan, India. 2 Department of Information Technology King Abdul Aziz University, Jeddah, Saudi Arabia
www.ijcsi.org 441 A Comprehensive Study of Commonly Practiced Heavy and Light Weight Software Methodologies 1 Asif Irshad Khan, 2 Rizwan Jameel Qurashi and 3 Usman Ali Khan 1 Department of Computer Science
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
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. [email protected] (210) 572-4400 Copyright 2006 - The OWASP Foundation Permission
How To Model In An Agile World
Modelling in an Agile World John Daniels Fastnloose Limited www.fastnloose.com John Daniels Co-founder of Fastnloose Ltd Software development by dispersed teams Co-author of UML Components & Designing
A Comparison between Agile and Traditional. Software Development Methodologies
A Comparison between Agile and Traditional Software Development Methodologies M. A. Awad This report is submitted as partial fulfilment of the requirements for the Honours Programme of the School of Computer
PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL
PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL Sanja Vukićević 1, Dražen Drašković 2 1 Faculty of Organizational Sciences, University of Belgrade, [email protected] 2 Faculty
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
Introduction to Software Project Management. CITS3220 Software Requirements & Project Management
Introduction to Software Project Management CITS3220 Software Requirements & Project Management "A project gets a year late one day at a time." "Anything that can be changed will be changed until there
Moonzoo Kim CS Division of EECS Dept. KAIST
Chapter 4 Agile Development Moonzoo Kim CS Division of EECS Dept. KAIST 1 Ex. UP Work Products Inception phase Vision document Init ial use-case model Init ial project glossary Init ial business case Init
V. Phani Krishna et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 2 (6), 2011, 2915-2919
Software Quality Assurance in CMM and XP- A Comparative Study CH.V. Phani Krishna and Dr. K.Rajasekhara Rao CSE Department, KL University, Guntur dt., India. Abstract Software Quality Assurance is a planned
Comparing Plan-Driven and Agile Project Approaches
Comparing Plan-Driven and Agile Project Approaches A Personal Perspective Presented by: Craig D. Wilson Matincor, Inc. Copyright 2006-2010 2010 Outline Introduction to System Development Methodology Contrasting
Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal [email protected]
Using Simulation to teach project management skills Dr. Alain April, ÉTS Montréal [email protected] Agenda of the workshop 1 The software project management theory overview (40 minutes) 2 Why use SDLC
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
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
Introduction to Software Engineering (ESE : Einführung in SE)
Introduction to Software Engineering (ESE : Einführung in SE) Prof. O. Nierstrasz Selected material courtesy of Prof. Serge Demeyer, U. Antwerp ESE Introduction Lecturers Assistants Lectures Exercises
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
How To Understand The Limitations Of An Agile Software Development
A Cynical View on Agile Software Development from the Perspective of a new Small-Scale Software Industry Apoorva Mishra Computer Science & Engineering C.S.I.T, Durg, India Deepty Dubey Computer Science
Agile-Fall Process Flow Model A Right Candidate for Implementation in Software Development and Testing Processes for Software Organizations
www.ijcsi.org 457 Agile-Fall Process Flow Model A Right Candidate for Implementation in Software Development and Testing Processes for Software Organizations Prakash.V SenthilAnand.N Bhavani.R Assistant
CS4507 Advanced Software Engineering
CS4507 Advanced Software Engineering Lectures 2 & 3: Software Development Lifecycle Models A O Riordan, 2015 Some diagrams from Sommerville, some notes from Maciaszek/Liong Lifecycle Model Software development
RUP for Software Development Projects
RUP for Software Development Projects George Merguerian www.bmc-online.com 1 Specialists in Global Project Management Brussels Frankfurt Houston Istanbul Milan Ottawa Shanghai Singapore Warsaw Washington
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
Hybrid-Agile Software Development
Hybrid-Agile Software Development Anti-Patterns, Risks, and Recommendations Paul E. McMahon, PEM Systems Abstract. Many organizations are driving toward increased agility in their software development
Software development processes Life-cycle Models
Software development processes Life-cycle Models Lecture 2 Kari Systä 20.1.2014 TIE-21100&21106/K.Systä 1 About weekly exercises TUE 1015-1200 TC131 Free space TUE 1214-1400 TC131 full WED 1015-1400 TC163
Quality Assurance Software Development Processes
Quality Assurance Software Development Processes Part II - Lecture 3 1 The University of Auckland New Zealand 254 12/09/ /2012 The FBI Virtual Case File 254 12/09/ /2012 Database application developed
A Contrast and Comparison of Modern Software Process Models
A Contrast and Comparison of Modern Software Process s Pankaj Vohra Computer Science & Engineering Department Thapar University, Patiala Ashima Singh Computer Science & Engineering Department Thapar University,
CRITICAL ANALYSYS OF THE SCRUM PROJECT MANAGEMENT METHODOLOGY
N ft n il Ionel CRITICAL ANALYSYS OF THE SCRUM PROJECT MANAGEMENT METHODOLOGY The Academy of Economic Studies Bucharest, Management Faculty, 6 Romana Square, Sector 1, Bucharest, Management Chair, E-mail:
Human Aspects of Software Engineering: The Case of Extreme Programming
1 Human Aspects of Software Engineering: The Case of Extreme Programming Orit Hazzan 1 and Jim Tomayko 2 1 Department of Education in Technology and Science, Technion - IIT, Haifa 32000, Israel [email protected]
Web Applications Development and Software Process Improvement in Small Software Firms: a Review
Web Applications Development and Software Process Improvement in Small Software Firms: a Review Haroon Tarawneh Al-balqa Applied University [email protected] Sattam Allahawiah Al-balqa Applied University
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 [email protected]
Business Analysts in an Agile World. Christian Antoine
Business Analysts in an Agile World Christian Antoine What is this about Value of software Building the right product Building the product right Where do BA s fit in this What this is not Back to basics
A Comparison between Five Models of Software Engineering
International Journal of Research in Information Technology (IJRIT) www.ijrit.com ISSN 2001-5569 A Comparison between Five Models of Software Engineering Surbhi Gupta, Vikrant Dewan CSE, Dronacharya College
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
How To Plan A Project
Software Engineering: A Practitioner s Approach, 6/e Chapter 4 Agile Development copyright 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University Use Only May be reproduced ONLY for student use
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
www.stephenbarkar.se Lean vs. Agile similarities and differences 2014-08-29 Created by Stephen Barkar - www.stephenbarkar.se
1 www.stephenbarkar.se Lean vs. Agile similarities and differences 2014-08-29 Purpose with the material 2 This material describes the basics of Agile and Lean and the similarities and differences between
Agile Project Management
Agile Project Management Overview Fabrizio Morando Application Development Manager martedì 20 novembre 2012 What is Agile? Agile is used to denote the ability of Agile Methods to respond to changing requirement
Introduction to Agile Methods
Introduction to Agile Methods Chennai Agile User Group Kickoff Sanjiv Augustine July 08, 2006 www.ccpace.com Introduction to Agile Methods Page 1 Agenda Agile at a Glance Landscape Basics Typical Benefits
Software Life Cycles and Configuration Management
Theory Lecture Plan 2 Software Configuration Lecture 11 Software Engineering TDDC88/TDDC93 autumn 2008 Department of Computer and Information Science Linköping University, Sweden L1 - Course Introduction
Software Quality Assurance in Agile, XP, Waterfall and Spiral A Comparative Study
Software Quality Assurance in Agile, XP, Waterfall and Spiral A Comparative Study S. Vijayakumar [email protected] School of Computer and Information Science University of South Australia,
AGILE SOFTWARE DEVELOPMENT
AGILE SOFTWARE DEVELOPMENT Michael Novikov and Nicolas Heuser May 23, 2006 1 Contents 1 THE TIME BEFORE AGILE SOFTWARE DEVELOPMENT 3 2 ADAPTIVE VERSUS PREDICTIVE SOFTWARE DEVELOPMENT 3 3 WHAT IS AGILITY?
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.
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,
The Co-Evolution of Agile and Continuous Integration. Jeffrey Fredrick Technical Evangelist [email protected]
The Co-Evolution of Agile and Continuous Integration Jeffrey Fredrick Technical Evangelist [email protected] 1 Manifesto for Agile Software Development We are uncovering better ways of developing software
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
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).
Keywords document, agile documentation, documentation, Techno functional expert, Team Collaboration, document selection;
Volume 4, Issue 4, April 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com A Document Driven
