Jeff Anderson has a few concrete terms to suggest: Here is what I have included in a contract just finished.
Teams like that working with user stories shifts the emphasis from writing about requirements to talking about them. Project customers like that they are not expected to do the impossible and identify all needs upfront.
Users of a product built with user stories like that the product is more likely to meet their needs than one built using a requirements technique more focused on writing than talking.
However, even though user stories cause teams and customers to writing agile contracts more, there is often much still that needs to be written.
Contract or outsourced development is one situation in which a team will need to augment conversations with documentation. A few years ago I worked on a system intended for use by broadcasters during the summer Olympics. Sportscasters, writing agile contracts, and others would use the system to dredge up facts about competitors in the various events.
A sample scenario was that a sportscaster who would be covering the meter hurdles later in the day would use this system to research past performance and find interesting personal facts to interject into the commentary.
The system was designed as a large web of information: Or starting with an athlete a user could navigate to all events that athlete would compete in and then to another athlete in one of those events, and so on. This application was outsourced to my team which developed it using Scrum, one of the most popular agile processes Requirements were written as user stories using this template: As a [so that ].
This template allows user stories to clearly identify the user who wants to accomplish something, what it is that she wants to accomplish, and optionally why. There were a handful of user types on this system but for this example we only need to know about two of them: A viewer was any user who was primarily looking at data in the system.
This includes the sportscasters and researchers discussed earlier. Content providers were the writers who put all of the data into the system in advance of its use.
Some of the stories identified for this system were: As a viewer I can view details about a specific athlete. As a viewer I can bookmark athletes of interest.
As a content provider, I can have basic formatting control over how information is displayed. It would have been challenging and risky for us to estimate work based solely on these user stories and then to commit to a fixed price contract.
We needed more information, which we could get through conversations with our customer. But we also needed to document some key assumptions and decisions that would result from those conversations. What we did was identify a small number of high level acceptance criteria for each user story.
Today I refer to these as conditions of satisfaction for the story. We then produced a requirements documents that included each user story along with its conditions of satisfaction. Name multiple, could be long, include pronunciation Nickname include pronunciation World and Olympic records held Interesting anecdotes Citizenship, where trained, coach link 6.
As a content provider I can have basic formatting control over how information is displayed. Italics Bulleted and numbered lists Not WYSIWYG but can click a button to see a preview The conversations that led the team to this list were held before the contract was written and before coding began.
They also determined that very simple formatting was all that was required. Font styles, sizes, and colors, for example, were not needed. This helped avoid a potential conflict that could have resulted in a money-losing low bid or an unnecessarily high bid for the project that the customer would have rejected.
Sometimes a user story that appears very straightforward hides some very risky assumptions. Discussing the conditions of satisfaction can help identify these assumptions so that the developer and customer can be more confident that they are in agreement and that the contract covers the work expected.
An example of this can be seen in this user story: At first glance this story seemed clear.Contract or outsourced development is one situation in which a team will need to augment conversations with documentation.
This article will show one technique I’ve used for writing contracts to cover contracted agile development. While a contract is the heart of any project, and there are similar points to be covered off in both agile and waterfall arrangements, there are subtle differences in approach required with agile.
"Agile Software Development is a highly stimulating and rich book. The author has a deep background and gives us a tour de force of the emerging agile methods.". The goal of this article is to share experiences and the model for organizing and operating distributed Agile teams that evolved from these efforts, but the main message is much simpler: Agile is the best way with distributed teams.
The project will be delivered following the Agile methodology and is currently estimated to consist of XX sprints of X-week duration each.
“Client” Product Owner and Exigen Services team will jointly define the contents of each sprint. The way government is writing contracts is wasting time, handcuffing industry, and preventing programs from meeting mission mandates.
There’s a better way through an Agile Contract Format.