Rational Unified Process with Scrum

Total Page:16

File Type:pdf, Size:1020Kb

Rational Unified Process with Scrum A HYBRID SOFTWARE DEVELOPMENT METHOD FOR LARGE-SCALE PROJECTS: RATIONAL UNIFIED PROCESS WITH SCRUM Juyun Cho, Colorado State University-Pueblo, [email protected] ABSTRACT mentioned that the conventional methods were not initially designed to respond to requirements change Conventional software development methods have occurring in the middle of the development process, gradually been replaced by lightweight agile and the ability to take action appropriate to the software development methods since the mid-1990s. change often determines the success or failure of a This phenomenon is mainly due to the conventional software product [37]. According to the Standish methods’ shortcomings, including a slow adaptation Group report [33], numerous projects with the to rapidly changing business requirements, and a conventional methods in various industry and tendency to be over budget and behind schedule. This government sectors were completed with fewer paper analyzes characteristics, strengths, and features and functionalities than specified in the user weaknesses of both conventional and agile methods. requirements. It is also a challenge for the This paper also explains the four major phases and conventional methods to create a complete set of nine disciplines of the Unified Process, and the requirements up front due to constant changes in the common elements of the Scrum process. Finally, this technology and business environments. paper suggests a new hybrid software development method that combines the Rational Unified Process Despite the existing shortcomings, the conventional with the Scrum process to accommodate the strengths methods are still widely used in industry, particularly, of both methods while suppressing their weaknesses. for large-scale projects. The driving force of this The hybrid method can be utilized in the software broad utilization of the conventional methods comes industry, particularly, in the business sectors that from their straightforward, methodical, and structured deal with large-scale projects. nature [12], as well as their capability to provide predictability, stability, and high assurance [6]. Keywords: Hybrid software development method, Unified process, Scrum process, conventional Agile software development methods focus on software development methods, agile software iterative and incremental development, customer development methods. collaboration, and frequent delivery [33] through a light and fast development life cycle. There are many INTRODUCTION positive benefits of the agile approaches. Shorter development cycles, higher customer satisfaction, Conventional heavyweight, document-driven lower bug rates, and quicker adaptation to rapidly software development methods can be characterized changing business requirements have been reported as extensive planning, codified process, rigorous [6, 22, 24]. reuse, heavy documentation and big design up front [3]. The conventional methods were predominant in In spite of the potential benefits of the agile methods, the software industry up until the mid 1990s. Since many organizations are reluctant to throw their then, the conventional methods have been replaced conventional methods away and jump into agile by lightweight agile software development methods methods due to several issues. These include: 1) agile mostly in small-scale and relatively simple projects. methods significantly reduce the amount of This phenomenon is mainly due to the conventional documentation and rely heavily on tacit knowledge, methods’ shortcomings, including a slow adaptation 2) agile methods have not been sufficiently tested for to rapidly changing business requirements, and a mission/safety-critical projects, 3) agile methods are tendency to be over budget and behind schedule [3, 6, not adequate for highly stable projects, 4) agile 9, 15, 26, 34, 36]. The conventional methods also methods can be successful only with talented have failed to provide dramatic improvements in individuals who favor many degrees of freedom, and productivity, reliability, and simplicity [9]. 5) agile methods are not appropriate for large-scale projects. Table 1 below summarizes the Some researchers reported that during their project characteristics, strengths, and weaknesses of the development experience, requirements often changed conventional and agile methods. by 25% or more [5, 18]. An interesting research Volume X, No. 2, 2009 340 Issues in Information Systems A Hybrid Software Development Method For Large-Scale Projects Table 1. Comparisons between Conventional and Agile Methods Conventional Methods Agile Methods Characteristics Extensive planning Iterative and incremental Codified process development Rigorous reuse Customer collaboration Heavy documentation Frequent delivery Big design up front Light and fast development cycle Tacit knowledge within a team Light documentation Strengths Straightforward, methodical, and Short development cycle structured nature High customer satisfaction Predictability, stability, and high Low bug rate assurance Quick adaptation to rapidly changing business requirements Weaknesses A slow adaptation to rapidly Significant document reduction and changing business requirements heavy dependence on tacit A tendency to be over budget knowledge A tendency to be behind schedule Not sufficiently tested for Difficult to create a complete set of mission/safety-critical projects requirements up front Not adequate for highly stable projects Can be successful only with talented individuals who favor many degrees of freedom Not appropriate for large-scale projects As shown in the table, strengths and weaknesses exist The UP takes an iterative, requirements-driven, and with both methods. It would be very beneficial if we architecture-centric approach, which is based on can come up with a new method that accommodates sound engineering principles [19]. Some of the the strengths while suppressing the weaknesses of universal principles of UP includes: 1) adapt the both methods. This paper suggests a new method that process, 2) balance stakeholder priorities, 3) combines the Rational Unified Process (conventional collaborate across teams, 4) demonstrate value method) with the Scrum (agile method) to maximize iteratively, 5) elevate the level of abstraction, and 6) the strengths of the two approaches. focus continuously on quality. The remainder of this paper is organized as follows: The UP has a long and proven history and has clearly The next two sections describe the characteristics of evolved [2]. Table 2 depicts how the UP has evolved the Rational Unified Process and the common through several variations. Among the many different components of the Scrum process. Next, a new versions, Rational Unified Process (RUP) 2003 was hybrid model/method is presented with an utilized in this study as a framework. As shown in explanation how the Rational Unified Process is table 2, RUP came from the Objectory process v1.0 combined with the Scrum. Finally, the author and evolved into RUP 2003 with various additions concludes the paper with a suggestion for possible and enhancements. More recently, a lighter UP called future research. the Agile Unified Process (AUP) was developed for an agile software development. The AUP utilizes a RATIONAL UNIFIED PROCESS streamlined approach, which has fewer activities and deliverables with a simplified method. The Unified Process (UP) is a well-defined object- oriented system development process originally The structure of RUP is two dimensional: phases and offered by IBM Rational Software and was disciplines. The phases represent the four major developed by Booch, Rumbaugh, and Jacobson [25]. stages that a project goes through over time. The Volume X, No. 2, 2009 341 Issues in Information Systems A Hybrid Software Development Method For Large-Scale Projects major stages include inception, elaboration, Project construction, and transition. The disciplines represent Management the logical activities that take place throughout the Environment project. The nine disciplines can be employed across two or Table 2. History of Unified Process more phases during the RUP development life cycle. Year Event For example, the business modeling discipline can be 1988 Objectory v1.0 is created by Jacobson’s utilized in both the inception and elaboration phases Objectory AB company. Rational Unified to understand the business environment, the Process and Enterprise Unified Process came requirements, the design, the implementation, and the out from the Objectory process. testing disciplines can be employed across all four 1996 Rational Objectory Process (ROP) 4.0 is phases to classify requirements that the system must created. Iterative concept is introduced. implement, to design a solution for the system that 1998 ROP is renamed into Rational Unified satisfies the requirements, to write code that makes Process and RUP 5.0 is released. the system actually work, and to conduct unit and 1999 Rational Unified Process 5.5 is released with integrated system testing. The deployment discipline an enhancement of real-time and web-based can occur during the elaboration, construction, and development. transition phases to place a portion of the system or 2000 Rational Unified Process 2000 is developed the full system into operation for users. The support with the addition of business engineering disciplines can also occur across all four phases for techniques to the business modeling planning and controlling the project. Table 4 shows discipline and a more enhanced
Recommended publications
  • IBM Research Report Software Development As a Service: Agile
    RJ10476 (A1011-022) November 19, 2010 Other IBM Research Report Software Development as a Service: Agile Experiences Tobin J. Lehman IBM Research Division Almaden Research Center 650 Harry Road San Jose, CA 95120-6099 USA Akhilesh Sharma IBM Global Services IBM Almaden Research Center 650 Harry Road San Jose, CA 95120-6099 USA Research Division Almaden - Austin - Beijing - Cambridge - Haifa - India - T. J. Watson - Tokyo - Zurich LIMITED DISTRIBUTION NOTICE: This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g. , payment of royalties). Copies may be requested from IBM T. J. Watson Research Center , P. O. Box 218, Yorktown Heights, NY 10598 USA (email: [email protected]). Some reports are available on the internet at http://domino.watson.ibm.com/library/CyberDig.nsf/home . Software Development as a Service: Agile Experiences Tobin J. Lehman Akhilesh Sharma Almaden Services Research IBM Global Services IBM Almaden Research Center IBM Almaden Research Center San Jose, California, U.S.A. San Jose, California, U.S.A [email protected] [email protected] Abstract— At the IBM Almaden Research Center, we have projects from our past as examples, we show that the level of been working with other divisions of IBM, offering Software program technology and requirement understanding Development as a Service (SDaaS).
    [Show full text]
  • Designing Software Architecture to Support Continuous Delivery and Devops: a Systematic Literature Review
    Designing Software Architecture to Support Continuous Delivery and DevOps: A Systematic Literature Review Robin Bolscher and Maya Daneva University of Twente, Drienerlolaan 5, Enschede, The Netherlands [email protected], [email protected] Keywords: Software Architecture, Continuous Delivery, Continuous Integration, DevOps, Deployability, Systematic Literature Review, Micro-services. Abstract: This paper presents a systematic literature review of software architecture approaches that support the implementation of Continuous Delivery (CD) and DevOps. Its goal is to provide an understanding of the state- of-the-art on the topic, which is informative for both researchers and practitioners. We found 17 characteristics of a software architecture that are beneficial for CD and DevOps adoption and identified ten potential software architecture obstacles in adopting CD and DevOps in the case of an existing software system. Moreover, our review indicated that micro-services are a dominant architectural style in this context. Our literature review has some implications: for researchers, it provides a map of the recent research efforts on software architecture in the CD and DevOps domain. For practitioners, it describes a set of software architecture principles that possibly can guide the process of creating or adapting software systems to fit in the CD and DevOps context. 1 INTRODUCTION designing new software architectures tailored for CD and DevOps practices. The practice of releasing software early and often has For clarity, before elaborating on the subject of been increasingly more adopted by software this SLR, we present the definitions of the concepts organizations (Fox et al., 2014) in order to stay that we will address: Software architecture of a competitive in the software market.
    [Show full text]
  • Best Practices in Agile Software Development
    Universiteit Leiden ICT in Business Best practices in Agile software development A qualitative study on how organizations identify, analyze, improve, represent and document (best) practices to improve their software development processes. Name: Ing. R.H.J.C. (Roy) van Wel Student-no: 1310194 Date: 25/08/2013 1st supervisor: C.J. (Christoph) Stettina MSc. 2nd supervisor: Dr. L.P.J. (Luuk) Groenewegen MASTER'S THESIS Leiden Institute of Advanced Computer Science (LIACS) Leiden University Niels Bohrweg 1 2333 CA Leiden The Netherlands Acknowledgements By completing this Thesis I finished my education and will receive my Master of Science degree. Of course, I was not able to finish my Thesis without supervision. Therefore I would like to first thank Dr. Luuk Groenewegen, especially for making time available on short notice. Also I would like to give special thanks to Christoph Stettina MSc. for his supervision and coaching skills. You were there when I needed your help and you always gave me enough space for self-deployment. Although my background is ICT-related, I found the Thesis proposal from Christoph very intriguing. The initial objective was to look on currently available Agile practices and compare the applicability of existing process model descriptions to document Agile practices in an accessible but complete manner. During my literature study I got really enthusiastic about the subject Agile software development and decided to also examine how organizations identify, analyze and improve their practices. During my literature research I found very interesting literature how practices can be identified by executing workshops. Because I was really curious how this would work in practice, I asked André Lauwerijssen, a very skilled Scrum Master, to execute the workshop with me.
    [Show full text]
  • Extreme Programming from Wikipedia, the Free Encyclopedia
    Create account Log in Article Talk Read Edit View history Search Extreme programming From Wikipedia, the free encyclopedia Main page Extreme programming (XP) is a software development methodology which is Contents intended to improve software quality and responsiveness to changing customer Featured content requirements. As a type of agile software development,[1][2][3] it advocates frequent Current events "releases" in short development cycles, which is intended to improve productivity Random article and introduce checkpoints at which new customer requirements can be adopted. Donate to Wikipedia Wikipedia store Other elements of extreme programming include: programming in pairs or doing Interaction extensive code review, unit testing of all code, avoiding programming of features Help until they are actually needed, a flat management structure, simplicity and clarity in About Wikipedia code, expecting changes in the customer's requirements as time passes and the Community portal problem is better understood, and frequent communication with the customer and Recent changes among programmers.[2][3][4] The methodology takes its name from the idea that the Contact page Planning and feedback loops in beneficial elements of traditional software engineering practices are taken to extreme programming. Tools "extreme" levels. As an example, code reviews are considered a beneficial What links here practice; taken to the extreme, code can be reviewed continuously, i.e. the practice Related changes Software development of pair programming. Upload file process Special pages Critics have noted several potential drawbacks,[5] including problems with Core activities Permanent link unstable requirements, no documented compromises of user conflicts, and a Requirements · Design · Construction · Testing · Debugging · Deployment · Page information lack of an overall design specification or document.
    [Show full text]
  • SSW555 Syllabus
    Stevens Institute of Technology WebCampus.Stevens Syllabus Course Number: SSW 555 Agile Methods for Software Development Professor Name: Mark Ardis Office Hours: Wednesdays 3-5 PM Office address: Babbio 517 Course Web Address: Office phone number: 201 216 5143 (on WebCT) E-mail address: [email protected] Overview In software problem areas that require exploratory development efforts, those with complex requirements and high levels of change, agile software development practices are highly effective when deployed in a collaborative, people-centered organizational culture. This course examines agile methods, including Extreme Programming (XP), Scrum, Lean, Crystal, Dynamic Systems Development Method and Feature-Driven Development to understand how rapid realization of software occurs most effectively. The ability of agile development teams to rapidly develop high quality, customer-valued software is examined and contrasted with teams following more traditional methodologies that emphasize planning and documentation. Students will learn agile development principles and techniques covering the entire software development process from problem conception through development, testing and deployment, and will be able to effectively participate in and manage agile software developments as a result of their successfully completing this course. Case studies and software development projects are used throughout. Prerequisites Programming experience in an object-oriented language, preferably Java. Cross-listed with: CS 555 Learning Goals After
    [Show full text]
  • Agile Automated Software Testing Into Automotive V-Model Process
    Agile automated software testing into automotive V-Model process: A practical case Xavier Martin Artal Software QA Manager [email protected] es.linkedin.com/pub/xavier-martin/6/a89/723/ Agenda • Introduction • Automotive Trends: Car Connectivity • Car Telematics project Challenges • Use Case Solution: From V-Model to Agile Testing • Results and Conclusions Introduction What is this presentation about? • Expose a practical case of adoption of Agile techniques in automotive testing • Converge Spice automotive V-Model to Agile Spice V-Model Agile • Present Technical Solution adopted: Automation Test Framework • Discuss results and Agile adequacy to Automotive industry Automotive Trends: Vehicle Connectivity Car Telematics • Car Manufacturers start to add 3G/4G capabilities • Connectivity opens new opportunities to develop services for both clients and manufacturers Connectivity Services – Emergency Call – Fleet Management – Car Sharing – Remote Car Diagnostics – Stolen Vehicle Tracking (SVT) – WOTA Update – Dealer Services – User Premium Services Car telematics: eCall • Emergency Call Service for Europe • U.E Council proposes eCall obligatory in European Cars for end 2017 • Automatic call in case of accident or emergency will force car manufacturers to add IVTU to every new car for European Service • Similar regulations for Russia, USA, BRA and PRC Car Telematics Project Challenges What is an iVTU? iVTU = in Vehicle Telematics Unit - Electronic Unit in charge of granting 2G/3G/LTE connectivity to vehicles - Two Main processors architecture:
    [Show full text]
  • A Brief History of Devops by Alek Sharma Introduction: History in Progress
    A Brief History of DevOps by Alek Sharma Introduction: History in Progress Software engineers spend most of their waking hours wading George Santayana wrote that “those who cannot remember the through the mud of their predecessors. Only a few are lucky past are condemned to repeat it.” He was definitely not thinking enough to see green fields before conflict transforms the about software when he wrote this, but he’s dead now, which terrain; the rest are shipped to the front (end). There, they means he can be quoted out of context. Oh, the joys of public languish in trenches as shells of outages explode around them. domain! Progress is usually glacial, though ground can be covered This ebook will be about the history of software development through heroic sprints. methodologies — especially where they intersect with traditional best practices. Think of it as The Silmarillion of Silicon Valley, But veterans do emerge, scarred and battle-hardened. They except shorter and with more pictures. Before plunging into this revel in relating their most daring exploits and bug fixes to new rushing river of time, please note that the presented chronology recruits. And just as individuals have learned individual lessons is both theoretically complete and practically in progress. In other about writing code, our industry has learned collective lessons words, even though a term or process might have been coined, it about software development at scale. It’s not always easy to always takes more time for Best Practices to trickle down to Real see these larger trends when you’re on the ground — buried in Products.
    [Show full text]
  • 32Principles and Practices of Successful
    32 PRINCIPLES AND PRACTICES OF SUCCESSFUL CONTINUOUS INTEGRATION, CONTINUOUS DELIVERY, & DEVOPS De·vel·op·ment (dĭ-vĕl′әp-mәnt) is the application of systematic, disciplined, and quantifiable principles to the development, operation, and maintenance of new software-based products and services. It entailed project planning, requirements synthesis, architecture and design, coding and unit testing, integration, system, and acceptance testing, and operations and maintenance. Much of this involved synthesizing market, customer, and end-user needs ad nauseum, detailed architectures and designs, methodical coding practices, exhaustive test planning and execution, and dozens of software lifecycle documents. The term “synthesis” is applied because managers and analysts often derived, predicted, or manufactured bloated requirements leading to over scoping, uncertainty, risk, cost, duration, and poor quality. Traditional project failure rates were extremely high and the few that made it into production were either abandoned due to technological obsolescence or were extremely expensive to operate and maintain surviving on life support. Since operations and maintenance was 80% of total software life cycle costs spanning decades, expensive libraries were created to capture tacit developer knowledge and assumptions in explicit software documents, exceeding the cost of the computer programming itself. Thousands of hours were required to test bloated requirements leading to complex, open-looped systems with infinite states, latent defects, and unpredictable failures. Each development phase or activity was functionally organized and performed by a separate firm, business unit, department or team, spread across multiple states, countries, and time zones leading to unnecessarily slow handoffs. Manual lean and agile methods emerged to reduce the scope, complexity, risk, cost, duration, handoffs, and failure using medium-sized batches or product backlogs and vertical feature teams.
    [Show full text]
  • Strategies for Streamlining Enterprise Architecture in the Age of Agile John Mallinger & Paul Newell 22Nd Annual NDIA SE Symposium 10/24/2019
    Strategies for Streamlining Enterprise Architecture in the Age of Agile John Mallinger & Paul Newell 22nd Annual NDIA SE Symposium 10/24/2019 Approved for Public Release Right Sizing Architecture for Agile The Case for Architecture on Agile Projects Acquisition Strategies – Contracting for Agile Success Aggressive Tailoring – Driving Architecture Value Changing at the Speed of Agile – Planning for Evolution Approved for Public Release The agile challenge… The Agile Manifesto challenges software design and architecture to add value Prioritizes collaboration and responding to change Deemphasizes documentation and processes Architecture activities need to add clear and recognizable return on effort invested Team strategy may leverage emergent design Agile development strives for a balanced approach to documentation Avoid creating documentation shelfware Approved for Public Release The Case for Defining Architecture Eliminating all design and architecture efforts drives substantial risk into agile development Emergent designs fail to meet undefined quality attributes Poorly aligned teams build incompatible interfaces Incomplete system decomposition fails to satisfy user needs Defined architecture drives greater efficiency in agile Architecture supports reuse, commonality, and adoption of common patterns Coordinated approach helps agile scale to larger projects and teams Approved for Public Release Agile Done Wrong Big Design Up Front – developing 600+ requirement System Spec Agile principles undermined by defining large
    [Show full text]
  • 16 the Impact of Methods and Techniques on Outcomes from Agile Software Development Projects
    16 THE IMPACT OF METHODS AND TECHNIQUES ON OUTCOMES FROM AGILE SOFTWARE DEVELOPMENT PROJECTS David Parsons Hokyoung Ryu Ramesh Lai Massey University, Albany Auckland, New Zealand AbstrSCt Agile software development methods have become increasingly popular since the late 1990s, and may offer improved outcomes for software development projects when compared to more traditional approaches. However there has previously been little published empirical evidence to either prove or disprove this assertion. A survey carried out in March 2006 gathered responses from a large number of software development professionals who were using many different methods, both traditional and agile. A statistical analysis of this data reveals that agile methods do indeed improve outcomes from software development projects in terms of quality, satisfaction, and productivity, without a significant increase in cost. However, adoption of methods appears to involve a high degree of adaptivity, with many methods being used in com­ bination and sets of techniques being adopted on an ad hoc basis. In this con­ text, our analysis suggests that choosing specific combinations of methods can be particularly beneficial. However, we also find that successful adoption of an agile method is to some extent dependent on rigorous integration of certain core techniques. Keywords Agile method, technique, software development Please use the jbUowingjbrmat when citing this chapter: Parsons, D., Ryu, H., and Lai, R., 2007, in IFIP International Federation for Information Processing, Volume 235, Organizational Dynamics of Technology-Based Innovation: Diversifying the Research Agenda, eds. McMaster, T., Wastell, D., Femeley, E., and DeGross, J. (Boston: Springer), pp. 235-249. 236 Part 3: Software Process Improvement 1 INTRODUCTION This paper provides some statistical analyses of a data set originally gathered using an online survey to determine the level of adoption of agile approaches by software development organizations.
    [Show full text]
  • Architecture and Design Practices for Agile Project Management by Dr
    Architecture and Design Practices for Agile Project Management by Dr. David F. Rico, PMP, ACP, CSM A major principle within lean and agile methods is "No Big Design Up Front (BDUF)." Instead, agile teams promote the notion of evolutionary, emergent, and iterative design. Proponents of traditional methods believe a comprehensive top-down architecture and design are tantamount to system quality and project success. However, the lean and agile community has since learned that large architectures and designs are a form of "waste." That is, traditional teams over-specify the system architecture and design by gold-plating it with unnecessary features that undermine system quality and project success. How do agile teams perform architecture and design? Is there such a thing? What are its associated practices? When is it performed? How much effort is applied? Try to remember some of the characteristics of agile projects. Their goal is to rapidly produce a precious few system capabilities and customer requirements that have the biggest bang for the buck! That is, produce something with high business value or great return on investment. Furthermore, system quality, project success, and customer satisfaction are ultimately achieved by significantly reducing the scope of the system architecture and design. "Less is more" for agile projects! Recapping, agile projects address a smaller scope, fewer requirements, and shorter time horizons. They focus on a few critical customer needs, business functions, and capabilities. They are optimized for project success, system quality, customer satisfaction, and business value. Conversely, traditional methods are based on the theory of comprehensive, all-encompassing architectures and designs to anticipate every conceivable customer need.
    [Show full text]
  • Disciplined Agile Delivery (DAD): the Foundation for Scaling Agile
    Disciplined Agile Delivery (DAD): The Foundation for Scaling Agile Scott W. Ambler Chief Methodologist for Agile and Lean, IBM Rational www.ibm.com/developerworks/blogs/page/ambler twitter.com/scottwambler © 2012 IBM Corporation We hope that you find these slides useful. If you would like to discuss this topic further, please contact IBM. 1 2 Agenda 1 Agile Fundamentals 2 Disciplined Agile Delivery (DAD) 3 Agility at Scale 4 Parting Thoughts 2 © 2012 IBM Corporation 2 What is agile? Agile is a highly collaborative, evolutionary, quality focused approach to software development. How agile is different: –Focus on collaboration –Focus on quality –Focus on working solutions –Agilists are generalizing specialists –Agile is based on practice, not theory 3 © 2012 IBM Corporation Focus on collaboration: Less paperwork and more conversation Stakeholders actively involved Focus on quality: Have a full regression test suite for your systems Develop loosely-coupled, highly cohesive architectures Refactor to keep them this way Focus on working solutions: Greater feedback makes agile projects easier to manage Less documentation is required Less bureaucracy Agilists are generalizing specialists: Fewer hand offs between people Fewer people required Specialists find it difficult at first to fit into the team Agile is based on practice, not theory: This is a significant change from traditional You need to see how agile works in practice to truly understand it 3 Why agile? Higher success rates Iterative Agile Lean Ad-Hoc Traditional 0% 20% 40% 60% 80% 100% Successful Challenged Failed Source: DDJ 2011 IT Project Success Survey 4 © 2012 IBM Corporation Detailed results online at www.ambysoft.com/surveys/ Success as defined by the respondent (this is the same for all slides in this deck).
    [Show full text]