Enviar búsqueda
Cargar
CTLR 2010 Issue 7 Waterfall Contract
•
0 recomendaciones
•
487 vistas
S
susanatkinson
Seguir
'Why the Waterfall Contract is Flawed'
Leer menos
Leer más
Denunciar
Compartir
Denunciar
Compartir
1 de 4
Descargar ahora
Descargar para leer sin conexión
Recomendados
SCL Aug Sep 2010 Software Development How Agile Are You
SCL Aug Sep 2010 Software Development How Agile Are You
susanatkinson
One XP Experience: Introducing Agile (XP) Software Development into a Culture...
One XP Experience: Introducing Agile (XP) Software Development into a Culture...
David Leip
Agile development
Agile development
Buddhika Rathnayaka
What is this thing called Agile?
What is this thing called Agile?
John Goodpasture
Why Adopt Nearshore Agile Development?
Why Adopt Nearshore Agile Development?
Ciklum Ukraine
Introduction to Agile by David Draper
Introduction to Agile by David Draper
Valtech UK
Software Risk Management for IT Execs CAST
Software Risk Management for IT Execs CAST
CAST
Agile.usability
Agile.usability
Nika Stuard
Recomendados
SCL Aug Sep 2010 Software Development How Agile Are You
SCL Aug Sep 2010 Software Development How Agile Are You
susanatkinson
One XP Experience: Introducing Agile (XP) Software Development into a Culture...
One XP Experience: Introducing Agile (XP) Software Development into a Culture...
David Leip
Agile development
Agile development
Buddhika Rathnayaka
What is this thing called Agile?
What is this thing called Agile?
John Goodpasture
Why Adopt Nearshore Agile Development?
Why Adopt Nearshore Agile Development?
Ciklum Ukraine
Introduction to Agile by David Draper
Introduction to Agile by David Draper
Valtech UK
Software Risk Management for IT Execs CAST
Software Risk Management for IT Execs CAST
CAST
Agile.usability
Agile.usability
Nika Stuard
White paper - Adhoc 2.0
White paper - Adhoc 2.0
Nuno Brito
Offshore Agile Maintenance
Offshore Agile Maintenance
Naresh Jain
Technology Projects. What could possibly go wrong
Technology Projects. What could possibly go wrong
Andrew Lewis
Software Lifecycle
Software Lifecycle
Soumen Sarkar
Status reporting guidelines
Status reporting guidelines
Eric Tachibana
T328
T328
guestb85775
T328
T328
performanceweb
T328
T328
performanceweb
Four principles seminar manageware seminar
Four principles seminar manageware seminar
Manageware
Agile Maintenance
Agile Maintenance
Naresh Jain
Managing Software Debt - Quality Debt Focus for QASIG Seattle
Managing Software Debt - Quality Debt Focus for QASIG Seattle
Chris Sterling
Five benefits of agile practices in software intensive systems development
Five benefits of agile practices in software intensive systems development
IBM Rational software
Immutable principles of project management (austin pmi)(v4)(no exercise)
Immutable principles of project management (austin pmi)(v4)(no exercise)
Glen Alleman
Managing Agile Software Development Projects
Managing Agile Software Development Projects
Martina Šimičić
Agile in an ANSI-748-C environment
Agile in an ANSI-748-C environment
Glen Alleman
Agile Software Development In The Large
Agile Software Development In The Large
ConSanFrancisco123
Macrosolutions Consulting Service: Project Maturity Assessment and Diagnosis
Macrosolutions Consulting Service: Project Maturity Assessment and Diagnosis
Macrosolutions SA
Chen.tim
Chen.tim
NASAPMC
Agile Software Development - Making Programming Fun Again
Agile Software Development - Making Programming Fun Again
Calen Legaspi
An Introduction to Agile Software Development
An Introduction to Agile Software Development
Serena Software
Agile Methodologies & Key Principles
Agile Methodologies & Key Principles
Orchestrate Mortgage and Title Solutions, LLC
What is Agile Development?
What is Agile Development?
Intelliware Development Inc.
Más contenido relacionado
La actualidad más candente
White paper - Adhoc 2.0
White paper - Adhoc 2.0
Nuno Brito
Offshore Agile Maintenance
Offshore Agile Maintenance
Naresh Jain
Technology Projects. What could possibly go wrong
Technology Projects. What could possibly go wrong
Andrew Lewis
Software Lifecycle
Software Lifecycle
Soumen Sarkar
Status reporting guidelines
Status reporting guidelines
Eric Tachibana
T328
T328
guestb85775
T328
T328
performanceweb
T328
T328
performanceweb
Four principles seminar manageware seminar
Four principles seminar manageware seminar
Manageware
Agile Maintenance
Agile Maintenance
Naresh Jain
Managing Software Debt - Quality Debt Focus for QASIG Seattle
Managing Software Debt - Quality Debt Focus for QASIG Seattle
Chris Sterling
Five benefits of agile practices in software intensive systems development
Five benefits of agile practices in software intensive systems development
IBM Rational software
Immutable principles of project management (austin pmi)(v4)(no exercise)
Immutable principles of project management (austin pmi)(v4)(no exercise)
Glen Alleman
Managing Agile Software Development Projects
Managing Agile Software Development Projects
Martina Šimičić
Agile in an ANSI-748-C environment
Agile in an ANSI-748-C environment
Glen Alleman
Agile Software Development In The Large
Agile Software Development In The Large
ConSanFrancisco123
Macrosolutions Consulting Service: Project Maturity Assessment and Diagnosis
Macrosolutions Consulting Service: Project Maturity Assessment and Diagnosis
Macrosolutions SA
Chen.tim
Chen.tim
NASAPMC
Agile Software Development - Making Programming Fun Again
Agile Software Development - Making Programming Fun Again
Calen Legaspi
La actualidad más candente
(19)
White paper - Adhoc 2.0
White paper - Adhoc 2.0
Offshore Agile Maintenance
Offshore Agile Maintenance
Technology Projects. What could possibly go wrong
Technology Projects. What could possibly go wrong
Software Lifecycle
Software Lifecycle
Status reporting guidelines
Status reporting guidelines
T328
T328
T328
T328
T328
T328
Four principles seminar manageware seminar
Four principles seminar manageware seminar
Agile Maintenance
Agile Maintenance
Managing Software Debt - Quality Debt Focus for QASIG Seattle
Managing Software Debt - Quality Debt Focus for QASIG Seattle
Five benefits of agile practices in software intensive systems development
Five benefits of agile practices in software intensive systems development
Immutable principles of project management (austin pmi)(v4)(no exercise)
Immutable principles of project management (austin pmi)(v4)(no exercise)
Managing Agile Software Development Projects
Managing Agile Software Development Projects
Agile in an ANSI-748-C environment
Agile in an ANSI-748-C environment
Agile Software Development In The Large
Agile Software Development In The Large
Macrosolutions Consulting Service: Project Maturity Assessment and Diagnosis
Macrosolutions Consulting Service: Project Maturity Assessment and Diagnosis
Chen.tim
Chen.tim
Agile Software Development - Making Programming Fun Again
Agile Software Development - Making Programming Fun Again
Similar a CTLR 2010 Issue 7 Waterfall Contract
An Introduction to Agile Software Development
An Introduction to Agile Software Development
Serena Software
Agile Methodologies & Key Principles
Agile Methodologies & Key Principles
Orchestrate Mortgage and Title Solutions, LLC
What is Agile Development?
What is Agile Development?
Intelliware Development Inc.
Poor Man's Kanban
Poor Man's Kanban
Chicago ALT.NET
MS_Practicum_Research_Paper_Glenn_Fuller_IP_110309
MS_Practicum_Research_Paper_Glenn_Fuller_IP_110309
Glenn Fuller
MS_Practicum_Research_Paper_Glenn_Fuller_IP_110309
MS_Practicum_Research_Paper_Glenn_Fuller_IP_110309
Glenn Fuller
A MAPPING MODEL FOR TRANSFORMING TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO ...
A MAPPING MODEL FOR TRANSFORMING TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO ...
ijseajournal
Ibm smarter quality_management
Ibm smarter quality_management
Cristiano Caetano
Rational collaborative-lifecycle-management-2012
Rational collaborative-lifecycle-management-2012
Strongback Consulting
Agile Localization Fundamentals: An Integrative Approach
Agile Localization Fundamentals: An Integrative Approach
Alberto Ferreira
7.agila model
7.agila model
Balasingham Karthiban
Lect2 conventional software management
Lect2 conventional software management
meena466141
3784_Streamlining_the_development_process_with_feature_flighting_and_Azure_cl...
3784_Streamlining_the_development_process_with_feature_flighting_and_Azure_cl...
Crystal Thomas
7 Myths of Agile Development
7 Myths of Agile Development
Intelliware Development Inc.
Scrum the new silver bullet
Scrum the new silver bullet
Eduardo Hernández Rangel, MCC, PMP, ITIL Cer, Scrum Master
Fromscrumtokanbantowardlean
Fromscrumtokanbantowardlean
Luca Aliberti
A Systematic Study On Agile Software Development Methodlogies And Practices
A Systematic Study On Agile Software Development Methodlogies And Practices
Sean Flores
Lowering business costs: Mitigating risk in the software delivery lifecycle
Lowering business costs: Mitigating risk in the software delivery lifecycle
IBM Rational software
software engineering notes for cse/it fifth semester
software engineering notes for cse/it fifth semester
rajesh199155
Software engineering note
Software engineering note
Neelamani Samal
Similar a CTLR 2010 Issue 7 Waterfall Contract
(20)
An Introduction to Agile Software Development
An Introduction to Agile Software Development
Agile Methodologies & Key Principles
Agile Methodologies & Key Principles
What is Agile Development?
What is Agile Development?
Poor Man's Kanban
Poor Man's Kanban
MS_Practicum_Research_Paper_Glenn_Fuller_IP_110309
MS_Practicum_Research_Paper_Glenn_Fuller_IP_110309
MS_Practicum_Research_Paper_Glenn_Fuller_IP_110309
MS_Practicum_Research_Paper_Glenn_Fuller_IP_110309
A MAPPING MODEL FOR TRANSFORMING TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO ...
A MAPPING MODEL FOR TRANSFORMING TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO ...
Ibm smarter quality_management
Ibm smarter quality_management
Rational collaborative-lifecycle-management-2012
Rational collaborative-lifecycle-management-2012
Agile Localization Fundamentals: An Integrative Approach
Agile Localization Fundamentals: An Integrative Approach
7.agila model
7.agila model
Lect2 conventional software management
Lect2 conventional software management
3784_Streamlining_the_development_process_with_feature_flighting_and_Azure_cl...
3784_Streamlining_the_development_process_with_feature_flighting_and_Azure_cl...
7 Myths of Agile Development
7 Myths of Agile Development
Scrum the new silver bullet
Scrum the new silver bullet
Fromscrumtokanbantowardlean
Fromscrumtokanbantowardlean
A Systematic Study On Agile Software Development Methodlogies And Practices
A Systematic Study On Agile Software Development Methodlogies And Practices
Lowering business costs: Mitigating risk in the software delivery lifecycle
Lowering business costs: Mitigating risk in the software delivery lifecycle
software engineering notes for cse/it fifth semester
software engineering notes for cse/it fifth semester
Software engineering note
Software engineering note
CTLR 2010 Issue 7 Waterfall Contract
1.
Why the Traditional
Contract for Software Development is Flawed 179 assumptions are rarely questioned. This might Why the Traditional explain why the waterfall model of software development is so difficult to abandon.” Contract for Software An analysis of the assumptions underlying the waterfall contract is long overdue. This article re-examines the key Development is features of the waterfall contract, and explains why it is Flawed fundamentally flawed. Agile methods Susan Atkinson * Director, Corporate & Commercial Groups, The essence of Agile software development methodology is best encapsulated by the Agile Manifesto3: gallenalliance individuals and interactions over processes and tools; Computer contracts; Project management; Software working software over comprehensive documentation; development customer collaboration over contract negotiation; responding to change over following a plan. Introduction Agile has entered the mainstream. In a recent survey, That is, while there is value in the items on the right, more than 50 per cent of the respondents said that at least the Agile Alliance values the items on the left more. There half their organisation’s software projects used an Agile are a number of different types of Agile development methodology. Large companies such as IBM, BSkyB, methods, and often, several are used in conjunction. The BT and British Airways are now converts. Even the US most popular versions are probably Scrum, Xtreme Defense Department has been mandated to deliver IT Programming (XP), DSDM and Crystal. Central to each systems incorporating Agile principles.1 of these methods is a common objective of minimising Organisations are increasingly looking to develop risk by delivering value in the form of working software software in short-term projects with low capital early and often. expenditure and visibility throughout the process, enabling Agile divides a software development project into small them to assess their return on investment at regular cycles—often referred to as “iterations”, which are each intervals. typically one to four weeks in duration. During each But, by and large, the legal profession has failed to iteration a team works through a full software catch up with the change in approach for the development development cycle including planning, requirements of software. The vast majority of contracts for the analysis, design, coding, testing and review. Fully tested, development of software are still based on the traditional working software that is capable of being deployed is waterfall technique. delivered at the end of each iteration. Subsequent As far back as 2003 Mary and Tom Poppendieck2 had iterations result in additional software that builds upon this to say of the waterfall contract: or complements the software that has already been delivered. “The contract-inspired model of project management The benefits of this approach to software development generally favors a sequential development process are numerous. Frequent and regular development cycles with specifications fixed at the start of the project, promote and facilitate a speed of implementation, regular customer sign-off on the specifications, and a change feedback leads to a continuous improvement in terms of authorisation process intended to minimize changes. both learning and understanding, and the customer has There is a perception that these processes give the opportunity to prioritise those features which are of greater control and predictability, although most value at regular intervals. sequential development processes with low feedback have a dismal record in this regard … The waterfall model The conventional wisdom in project management values managing scope, cost and schedule to the However, as highlighted by the Poppendiecks, the typical original plan … This mental model is so entrenched contract for the development of software is based on the in project management thinking that its underlying traditional waterfall method. * satkinson@gallenalliance.com. 1 2010 National Defense Authorization Act, under which President Obama gave Defense Department officials a deadline of July 2010 to create new acquisition processes that can deliver IT systems in no more than 18 months by incorporating certain Agile principles. 2 Mary and Tom Poppendieck, Lean Software Development: An Agile Toolkit (Addison-Wesley Professional, 2003). The Poppendiecks have been very influential in the lean software movement, which has arguably been the inspiration for, and formed the basis of many of the principles of the Agile approach. 3 The Agile Manifesto was developed by the Agile Alliance in 2001. Please refer to http://agilemanifesto.org/ [Accessed August 11, 2010]. [2010] C.T.L.R., Issue 7 © 2010 Thomson Reuters (Legal) Limited and Contributors
2.
180 Computer and
Telecommunications Law Review The waterfall model enshrines a sequential cent are rarely used. The simplest way to cut costs and development process, in which development is seen as speed up development is to stop cutting code that serves flowing steadily downwards—like a waterfall—through no purpose! the phases of conception, initiation, analysis, design, The practice of the customer producing a written list construction and testing. The output of each phase of its requirements is a fairly blunt and crude tool for provides the input for the next stage. All of the determining what the customer actually needs. Although requirements of the customer need to be specified before the customer can generally articulate its existing problem any design or development can begin. very well, it is less good at describing a possible solution. The essence of the waterfall contract is that the To make matters worse, the customer struggles in its use customer tests whether the software meets its of language, often alternating between the generic and requirements, and if it does so by a certain date the the specific. Generic language gives the supplier freedom software is accepted. All of the contractual rights and to innovate but is often too vague to be contractually remedies of the customer, together with its payment enforceable. Specific language is contractually obligations, revolve around the software meeting the enforceable but often does not fit well within the overall requirements by a certain date. solution that the supplier has to offer. Further exacerbating the problem, the developers often Flaws in the waterfall contract can’t understand the customer’s requirements. But because the requirements assume a contractual The waterfall contract is fundamentally flawed in five significance and the fees may have agreed on the basis key respects: of those requirements, instead of the parties working 1. The requirements are fixed at the start of together to ascertain the meaning of the requirements, the the project. parties are driven to adopt a defensive approach in 2. It mandates that analysis, design, resolving any ambiguity in the requirements. development and testing occur sequentially. It is inevitable that the customer’s requirements as set 3. Scope, resources and schedule are fixed at out in the contract will evolve over the life of the project. the start of the project. Business requirements change, the regulatory environment 4. Testing is used as a contractual tool. changes, the IT infrastructure changes. But the waterfall 5. The contract is based upon a contract for method does not accommodate change within the the supply of goods. development process. As a result, the parties have to fall back on change control mechanisms for changing the These flaws are so fundamental to the operation and effect requirements as set out in the contract. Instead of of the waterfall contract that it is not possible to “tweak” facilitating change, contractual change control it to accommodate an Agile approach to software mechanisms actually serve to restrict change. The whole development. It is only by examining each of these flaws process of documenting changes consumes valuable in turn that an understanding of the true nature of a resources, can be expensive to implement, does not add contract based on an Agile approach can be ascertained. value to the development process and generally serves to polarise the interests of the parties. The big requirements up front Finally, these days, an evaluation of the software The practice of specifying the requirements of the simply in terms of whether it meets the customer’s customer in a schedule to the contract—sometimes requirements as set out in the contract is not terribly referred to as the big requirements up front (the BRUF) sophisticated. There is much more to good design than doesn’t work on several counts. whether it incorporates a specified set of features. It By definition, the contract is written before the project should be intuitive to use. It should deal with the starts and at a time when the customer’s knowledge and idiosyncrasies of the customer’s activities. It should work understanding of the ultimate solution is at its least well as a smooth cohesive whole; and it should maintain its formed. Over the course of the project the customer’s usefulness over time and evolve gracefully as it adapts knowledge and understanding will inevitably increase. It to the future. But there is no recognition of these other therefore seems completely counter-intuitive that the aspects to good design in the waterfall contract. customer should be asked to make a decision on what it wants at a time when it is least well equipped to do so. Sequential development Since customers generally don’t know exactly what A traditional waterfall contract mandates a chain of they want at the beginning of a project they tend to ask several layers through which the requirements should for everything they think they might need, especially if flow before they reach the programmers. The customer they think they will only get one shot at it. This inevitably provides the requirements for inclusion in a schedule to leads to an unintended increase in the scope of the project. the contract. These are then handed to the analysts who In 2002 the Standish Group found that 45 per cent of the perform an analysis and hand the results to the designers. features in a typical system are never used and 19 per The designers design the software and then hand the results to the programmers. It is the programmers who [2010] C.T.L.R., Issue 7 © 2010 Thomson Reuters (Legal) Limited and Contributors
3.
Why the Traditional
Contract for Software Development is Flawed 181 will make the day-to-day decisions on exactly how to quality: scope (features and functionality), resources (cost write the code. But the programmers are two or three and budget) and schedule (time).4 Ambler argues that it documents away from an understanding of what the is unrealistic to fix or lock in all three of these. If there customer wants. At each document hand-off, a are any uncertainty or unforeseen events in the software considerable amount of information has been lost or development process, there is no room for give. In the misinterpreted, not to mention key details and future end, if the project team delivers at all, the quality of the perspectives that were not obtained in the first place. delivered product suffers, and the project is almost always A process of sequential development forces the late and over budget anyway. Ambler’s solution is that designers to take a depth-first approach to design. In other at least one of the three variables of the iron triangle words, the designers are forced to make low-level should not be fixed up front, so that there is flexibility to dependent decisions before experiencing the consequences accommodate any unknowns in the project. of the high-level decisions. The most costly mistakes are made by forgetting to consider something important at Contractual acceptance tests the beginning. The easiest way to make such a big mistake is to drill down to detail too fast. A key feature of the waterfall contract is that if the A further consequence of sequential development is software successfully passes the acceptance tests by a that the production of working software does not take certain key date, the software is accepted, and if it fails place until the end of the development chain. This means the customer is entitled to contractual remedies. In other that it can be many months, or even years, before the words, testing in the waterfall contract is used as a customer has sight of working software. The design paper contractual tool, resulting in contractual rights for the does not give any real indication of what the working customer if the software does not meet its requirements. software will look like, and often it is only when the This has a very damaging and destructive impact on what customer sees the working software that it can sensibly the true nature of testing should be. It should not be a comment on the design. By this stage it is often too combative exercise resulting in the parties taking expensive to accommodate many of the changes that the positions. customer may request. Instead, testing should be an integral part of the process Testing happens even later in the chain. If there is any for improving the design. It should happen at all stages over-run in a software development project, it is typically throughout the process to provide valuable checks and the testing process, which is at the end of the sequential feedback. It is by means of testing that the developers chain, that is squeezed. This means that there is even less can make changes throughout the development process. opportunity for checking that the software operates in the One of the measures of well-written code is the extent way intended and meets the needs of the customer. to which it has been tested. Interestingly, for a The customer cannot use any aspect of the code until well-written software system, there may be as many lines the software as a whole has passed the relevant tests. In of test code as there are of product code. The test code project management terms non-working code represents continues with the product code, and is used in making waste: it may never be put into production. And the longer ongoing updates to the product code once it has been the wait until the software is put into production, the deployed. greater the waste, and the lower the return on investment. A contract for the supply of goods An analysis of the waterfall contract would suggest that it is based on a contract for the supply of goods. The essence of the waterfall contract is that the customer tests whether the software meets its requirements, and if it does so by a certain date the software is accepted. All of the contractual rights and remedies of the customer revolve around the software meeting the requirements by a certain date. There is a certain element of services in the waterfall contract in the form of the software development, but Figure 1: The “iron triangle”. arguably this is slotted into a contractual structure for the Typically, under a waterfall contract the customer pays supply of goods. the supplier a fixed fee for the development of software However, an analysis of what is involved in software that meets the customer’s requirements by a certain key development would suggest that it is a service. It is a date. In other words, the parties have agreed to a fixed problem-solving exercise that involves discovering price, a fixed set of requirements and a fixed timetable. solutions through short, repeated cycles of investigation, According to Scott Ambler, a leading advocate of experimentation and checking the results. This has been Agile, there are three main variables in a software referred to as the “try it, test it, fix it” approach. For development project, which together combine to affect complex problems it is wholly inappropriate to use a 4 Scott Ambler is the chief methodologist for Agile and Lean within IBM Rationale, and is a leading proponent of the Agile movement. [2010] C.T.L.R., Issue 7 © 2010 Thomson Reuters (Legal) Limited and Contributors
4.
182 Computer and
Telecommunications Law Review “right first time approach”. So there need to be multiple Conclusion iterations of “try it, test it, fix it”. Actual software The waterfall contract is fundamentally flawed. It is development as embraced by Agile is very definitely a inappropriate for use with Agile ways of working as the contract for the supply of services. formalised specifications, processes and deadlines Agile suppliers are typically offering customers a mandated for a project often conflict with the informal, technique or a capability, not an outcome. They commit complex and constantly evolving business requirements to bring a certain rigour or standard to the process, but they seek to implement. But more importantly, the they are not willing to commit in advance to what the waterfall contract imposes contractual constraints that eventual outcome of the software will be. A key feature are damaging to the success of any software development and benefit of the Agile method is that the outcome will project. This is because the waterfall contract reinforces evolve over the course of the project. Agile suppliers some of the worst practices of the waterfall method. It is expect, and even welcome, changing requirements during imperative that the legal profession revisits the contractual the project, even at a late stage. basis for the procurement of software development. [2010] C.T.L.R., Issue 7 © 2010 Thomson Reuters (Legal) Limited and Contributors
Descargar ahora