Bindings, Platforms, and Innovation
This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.
Tracking change and innovation in the enterprise software development community
Posted by Vikas Hazrati on Oct 29, 2008 04:45 AM
Contracts are required to bridge the gap of trust and uncertainty between different organizations thus enabling them to work together. Traditional ‘fixed price, fixed scope and fixed time’ projects do not take the uncertainty in business environment and software development into account. These contracts tend to set up the customer and vendor against each other where, instead of collaboration, time and energy is spent on deciding who should pay for the change. A working group is currently brainstorming on OpenPlans with an aim to produce reusable agile contracts. This would potentially reverse the customer-vendor relationship from confrontation to collaboration.
In the past Alistair Cockburn has listed more than 10 strategies of Agile contracts based on inputs from several people. These include the standard ‘fixed price fixed scope’, ‘time and material’ contracts to the more innovative ones like ‘Incremental delivery with payment on incremental acceptance’ and ‘Indefinite Delivery, Indefinite Quantity’. Martin Fowler talked about projects where they first build trust with the customer and then get to a flexible charging scheme for future projects. Mary and Tom Poppendieck have discussed various contract types and their potential benefits. They also discussed various customer and vendor categories and the factors like culture, country and software type which might affect the contract.
The working group on OpenPlans currently has a work in progress Agile contract titled ‘Money For Nothing, Change For Free’ which places strong emphasis on customer participation. The customer is expected to have a high degree of involvement in prioritizing features, sprint planning, writing conditions for satisfaction of features and sprint review. The contract also has the following clauses set up
The contract also talks about ‘Guarantee of work’ where the vendor guarantees that 80% of the functionality is delivered with high quality as per the agreed upon definition of done and that the vendor may take the risk of late delivery.
The contract development can be tracked on the ‘Agile Contracts’ home page and membership can be requested for contributing to the contract definition.
Agile Development: A Manager's Roadmap for Success
5 Ways to Ensure Application Performance
In my personal experience I have seen that it is hard to sell an Agile contract. Some of the initial analysis of the working group shows that it is more of a function of sharing risk. There is a suggestion of a 2 phased approach where the balance of risk shifts. Still most of the enterprises that I have seen prefer a fixed kind contract to satisfy CYA. Has someone successfully executed/executing a real not pseudo ;) Agile contract?
Working with Exigen Services, a large Russian consulting firm, we have done CIO dinners in New York and London and found that 1/3 of the CIOs were ready to negotiate a "Money for Nothing, Change for Free" contract immediately. Another third wanted sales visit to discuss the approach in more detail. The final third said their companies were too disfunctional to produce a product backlog prioritized by business value or were so bureaucratic it was impossible to innovate. The conclusion was that there is a huge immediate market for this and Exigen Services has made this a core strategic initiative worldwide. In their initial projects, the challenges have been training their own people to be Scrum Product Owners so that they can work with the customer as stakeholder and get a good Product Backlog. The customer cannot in most cases produce a good backlog on their own. The second difficulty is the estimation capability of their development teams. They need to be good at estimating fix priced contracts where there is limited information on large grained stories. Systematic Software Engineering, a CMMI Level 5 company in Denmark is doing this quite well so we know this is a solvable problem. So the bottom line is that we need Agile companies that can execute well in this market. As soon as we have them there are huge financial returns for both the vendor and the customer. The customers are already ready.
This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.
This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.
This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.
This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.
This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.
After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.
IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.
Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.
2 comments
Watch Thread Reply