The Legal Boundaries Of Agile
Alberto Brandilini recently reported in his blog something he learned about the legality of practicing Agile in Europe:
During the latest JAOO conference, Alistair Cockburn deliberately provoked the audience stating that "we can't do agile in Europe" and this was due to EU regulations for contracts, which have to be filled with he requirements of the software to be developed by a contractor.
Alberto goes on to elaborate on this phenomenon, using the example of dealing with a problem programmer:
In Italy we can't fire. Job market regulations make firing an employee a very long nasty and complicated process, and 99% of the cases a non-viable option. I mean, in some places, you can't fire somebody even if you found him stealing (which puts the problem programmer in a much better light).
Comparatively, In an earlier InfoQ article Steve Freeman wrote about the divergent agendas of Microsoft and the TestDriven.Net plug-in for Visual Studio, leading to the threat of legal action against the author Jamie Carsdale for including certain api calls as part of the VS Express plug-in distribution, leaving users of the tool in a similar legal predicament.
Given that legal frameworks are set about in such a way that doesn’t encompass change (BRUF, lengthy change process) , is it inevitable that an development approach that is deeply rooted in embracing change will collide with the law? Indeed, what are the actual legal boundaries of agile practices, and what experiences do readers have of their touch points?
One experience (USA)
People are used to seeing change-management provisions even in waterfall-style contracts. That section spells out the process to be used to adjust scope, schedule, and budget. That's where you can quite naturally describe the agile approach. We only required formal change orders when there was a change in the budget or the composition of the team. Changes in requirements were handled in the iteration planning meetings, and we spelled out how those would work. We would attach the initial, prioritized feature list to the statement of work, along with our initial estimate of how far we thought we would get.
Not all clients are ready to do full agile, but discussing it during the sales process and spelling it all out as clearly as you can in the contract usually lets you have the conversation. Sometimes it takes some education and trust-building, and not everyone accepts it. If they don't you then have to decide whether or not to bid the job anyway, but you typically know a lot more about how productive this client will let you be, and that helps with estimating.
You may never get clients to read your waterfall-versus-agile white paper, but they will all read the contract.
I think Mary Poppendieck (www.poppendieck.com) has some good resources on contracting.
Re: One experience (USA)
> You may never get clients to read your waterfall-versus-agile
> white paper, but they will all read the contract.
Good point! I like that :-)
Legal boundaries are an issue, expecially if you're doing agile being an external contractor. On an internal project you're maybe facing the problem of being "too" agile.
With new customers, the best strategy is to gradually expand the agility, while also increasing confidence and trust. If trust, confidence and mutual benefit are in place, contracts gradually become more generic. Allowing for more spare time to read the waterfall-versus-agile white paper.
Constraints due to job market regulations make managing the development team a tricky area. In some cases you have to struggle to find the right motivators for the team, because some of the obvious ones are unavailable, ineffective or adversed by the management.