Skip to main contentdfsdf

Yuval Yeret's List: Agile Contracts

    • Venture-capital financing model

       
      This can be used with any of the above contract forms. In this model, the sponsor gives a round of financing for a certain amount of work, and the contracted company must produce results in order to get more funding. The sponsor can cut their losses at any time if they are not getting the results they need. They can presumably alter the terms of the contract after each work period. The result of a work period need not be working software; it could be a paper study, or a requirements document, or anything the sponsor selects.
      The venture-capital finance model works well with agile providers, since the agile provider is used to delivering useful, working software early and regularly.
      I find it an odd irony that the venture capital financiers running start-ups that I have encountered don’t take advantage of their own model to the extent agile teams do. The venture financiers let the evaluation markers occur too far apart in time. If they attached funding to monthly releases, that would oblige the start-up team to think through what it really can accomplish each month. The monthly progress would give the financiers a better sense of the start-up company’s real progress.
    • Venture-capital financing model

       
      This can be used with any of the above contract forms. In this model, the sponsor gives a round of financing for a certain amount of work, and the contracted company must produce results in order to get more funding. The sponsor can cut their losses at any time if they are not getting the results they need. They can presumably alter the terms of the contract after each work period. The result of a work period need not be working software; it could be a paper study, or a requirements document, or anything the sponsor selects.
      The venture-capital finance model works well with agile providers, since the agile provider is used to delivering useful, working software early and regularly.
      I find it an odd irony that the venture capital financiers running start-ups that I have encountered don’t take advantage of their own model to the extent agile teams do. The venture financiers let the evaluation markers occur too far apart in time. If they attached funding to monthly releases, that would oblige the start-up team to think through what it really can accomplish each month. The monthly progress would give the financiers a better sense of the start-up company’s real progress.

    3 more annotations...

  • Sep 15, 09

    How to prequalify vendors

    Identify your candidates and send them the RFP. Ask them questions which will separate the wheat from the chaff, for example:

    * Please present the team which will carry out the project. How much experience do they have with Scrum and XP (Extreme Programming)?
    * Are you willing to organize the project according to Scrum (as described in the Process chapter)? What experience do you have with agile projects on this scale?
    * Please estimate the user stories in story points. What is your estimate of overall complexity (size) of the system in Story Points?
    * What is your expected team velocity in Story Points per Sprint?
    * Given our target budget, how much of the functionality do you think can be realized?
    * Given the ground rules, are you willing to participate in the competition to select the final vendor?

      • How to prequalify vendors

         

        Identify your candidates and send them the RFP. Ask them questions which will separate the wheat from the chaff, for example:

         
           
        • Please present the team which will carry out the project. How much  experience do they have with Scrum and XP (Extreme Programming)?
        •  
        • Are you willing to organize the project according to Scrum (as described  in the Process chapter)? What experience do you have with agile projects on  this scale?
        •  
        • Please estimate the user stories in story points. What is your estimate of  overall complexity (size) of the system in Story Points?
        •  
        • What is your expected team velocity in Story Points per Sprint?
        •  
        • Given our target budget, how much of the functionality do you think can be  realized?
        •  
        • Given the ground rules, are you willing to participate in the competition  to select the final vendor?
    • Hedge your bets on productivity differences between teams

       

      Productivity differences between individual developers can be a factor of 10 to 20. Teams converting to Scrum often report a 3 fold increase in productivity within 6 months. The best Scrum teams have reported improvements of a factor of 10 compare to industry averages. The difference might be technical ability, but human chemistry issues are just as important, if not more so.

       

      Even if the difference between to the top two contenders is only 25%, investing 10 to 20% of the development budget to hedge your bets reduces your risk substantially and may pay off dramatically.

       

      Let us assume that you plan to spend $2.4 Million over 12 months, or $200'000 / Month to develop the software. If you add one month's effort to the budget, that would raise the total by 8%. But given the productivity differences between teams, even investing an additional 25% probably yields a positive ROI. Furthermore, the cost of delay while you take three months to pick a partner without producing any usable software should be much larger than the cost of redundant development for a short period.

    1 more annotation...

  • Jul 02, 09

    To effectively procure the services of an agile development team, an "agile RFP" would require the supplier to:

    * Indicate who are the people, or at least the type of people, that the supplier will have on the project. The supplier should provide resumes and the customer will likely choose to interview some or all of the team.
    * Follow a reasonable set of rights and responsibilities for both the customer and the supplier to adhere to throughout the project. These rights and responsibilities will provide the foundation for how they will collaborate together.
    * Propose how they will work with the customer organization.
    * Produce potentially shippable software to the customer every X weeks (for me, X is usually 4 or less).
    * Allow the customer to monitor their work and work products. Depending on the situation, the customer may insist on having one or more of their people on the supplier's site throughout the project. The customer should insist on access to the source code at all points in time so that they can inspect it at their leisure, including but not limited to running it through a static code analysis tool. They should also insist on access to a project management dashboard whose metrics are populated automatically, in (near) real time by the tools the supplier's development team is using.
    * Follow the customer's corporate development guidelines which they will provide to the supplier. The customer will be monitoring their compliance to these guidelines throughout the project.
    * Do full regression testing throughout the lifecycle. The customer should favor any bid which indicates that the supplier will take a test-driven development (TDD) approach.
    * Provide a minimal set of deliverable documentation, particularly user documentation, operations documentation, support documentation, and high-level systems overview documentation. The customer should provide examples of such documentation if they're available.
    * Accept a realistic payment strategy that is based on a low time

    • RFPs the Agile Way -- or -- Fear and Loathing in the Procurement Department
1 - 7 of 7
20 items/page
List Comments (0)