Agile contracting

5 minute read

I’ve participated an event about “Agile contracting” organized by the association Agile.NET France and holden by Microsoft and some other IT services companies. I want to thank the organizers and 3 main speakers who had made an excellent presentation.

There are 3 parts in this presentation.

1) microsoft agile tools

2) agile contracting

3) return on experience from mediapost


Visual studio is the development tool for agile, while TFService is an online servcie as TFS server. TFService is on permanent update, which updates every 3 weeks with new fonctionalities.

There are some important roles in software development.

  • Users: who difine the application fonctionalities. They make prevision, story boarding, velocity and planification. We use kanban for the story board, and Kanban is a tool for lean software development who is derived from toyota lean management, which pays more attention to process, value and ROI(return on invertissement). See reference for a comparison between Scrum and Lean.

  • Development team: garantees the code quality, bug correction progress. The code quality tools includes Resharper, FxCop etc.

  • Client: gives feedback.


Next, we will compare class project and agile project.

Planning supervision vs. changes acceptation

  • finalized specification vs. evolutif specification

  • perimeter buying vs. capacity buying

  • determined budget vs. allocated budget


Contract negociation and collaboration:

  • service provider risk vs. shared risk for service provider and client

  • dérapage = avenant vs. dérapage = arbitration

  • service provider obligation vs. mutual right and responsibility

  • forfait vs. régie controllé


Exhaustive documentation and fonctional software:

  • formalisation culture vs. oral culture

  • choose early vs. chosse as late as possible

  • TMA contract vs. agile TMA


Tools, process and individual, interactions:

  • MOA/MOE vs. Agile team(Scrum master, product owner, team)

  • standard PMO Project management organization vs. KPI(Key performance indicator)

  • project director responsibility vs. team responsibility


For agile contrat, you can use the following aspects:

Changes acceptation:

  • buy estimated fonctionalities. reduce budgets is shared interest for client and service provider

  • sprint facturation

  • Go/NoGo in a delay of 2 sprints

  • sprint criticity


Collaboration:

  • sacralisation of retrospective

  • obstacle suppression

  • competence availability and PO mandate

  • agile KPI, predictibility, productivity, quality, implication, satisfaction

  • incremental recette

  • contrat spirit

  • shared interest between service companies and clients


Technique for operational software:

  • TDD

  • choose technique as late as possible

  • do what just need: refactoring

  • software factory from beginning to end


Interaction:

  • sacralisation of daily scrum

  • visual management (kanban, A3..)

  • pair programming

  • team estimation


Contract content:

  • Scrum and XP methodology description

  • service provider and client shared vision

  • initial estimation, prestataire charge

  • quality planning


Return on experience agile :

why choose agile?

  • transparent project progress

  • business actor’s unsatisfaction

  • heaviness for put on new fonctionalities

  • technique team’s abrasion


classic project problems:

  • business brake

  • organizational brake: the team hierarchy is defined as CP->CP technique->Team; with agile team, all the team members are in the same hierarchy

  • adaptation time: it needs several sprints for determine the project progress

  • classic project mark loss

  • forced adaptation: for the fonctional CP, PO


Project demands:

  • radical mentality change: from classic project to agile

  • non-negociated quality: project management infernal triangle(cost, time, scope)

  • collaboratif spirit

  • adapted tools


Method generalization:

  • positive pilot

  • switch to scrum or kanban(less ceremony)

  • transparent adaptation


Technical conclusion:

  • moderate estimation: reduced time (business member can test application after first 3 sprints)

  • improved delivery quality (TDD not implemented yet)

  • knowledge unification

  • better coordination of technique team (development -> qualification -> exploitation)

  • convince other non-agile teams to use agile


Business conclusion:

  • better project progress visibility

  • immediate delivery possibility

  • reduced time-to-market

  • sponsor


agile level : 64%


Terms:

  • Velocity: is an extremely simple, powerful method for accurately measuring the rate at which scrum development teams consistently deliver business value. To calculate velocity of your agile team, simply add up the estimates of the features, user stories, requirements or backlog items successfully delivered in an iteration.
  • Code coverage is a measure used in software testing. It describes the degree to which the source code of a program has been tested.Code coverage is a measure used in software testing. It describes the degree to which the source code of a program has been tested. There are some tools such as openCover, dotCover and visual studio etc.
  • PMO: project management organization
  • KPI: Key performance Indicator

Team capacity:

  • Pro-active: anticipate future problems
  • Reactive: resolve problems when they arises.
SUN Jiangong

SUN Jiangong

A senior .NET engineer, software craftsman. Passionate about new technologies.