30/12/2011

Manifesto for Agile Development of Democracy : Recipes


Mathew Lowry asks me some interesting questions about the Manifesto for Agile Development of Democracy (#MDAD). Thanks for that ! Here are my answers : 
“ It leaves me perplexed for two reasons.

To begin with, you claim it values “Individuals and their discussions … democracy and citizenship … Collaboration with the citizens” and so on more than anything else. But was it actually created through a democratic, collaborative process with citizens, or just dreamt up by you in your bedroom?”
Firstly : the origin of the idea comes from my own experience as citizen activism with NewropMag team, my experience about how to introduce agile practices into complex organizations, and previous work. And I give in the first sentence the link for detailed explanations (in French : you have to use Google translate, sorry) why this MDAD proposition is not Utopia, nor even Realistic Utopia : De l’utopie réaliste à l’anticipation politique. BTW, you seem to be sarcastic when you use the verb “dream”, don’t you ? 

Secondly : the Manifest is not in its final version ! You should have noticed the “v20111210” version number and the CC licence. This manifesto is intended to be improved using the same principles described in the manifesto : “eat your own dog food” recipe is very efficient for improvement. So if you like to contribute (or even fork), please do !
Secondly, I use Agile development at work to build opensource websites, and I don’t really see the link between it and your Manifesto. You use some agile language when you talk about optimizing for democracy (“policies with high added value for democracy … Agile political processes harness change for the citizen’s advantage … Define evolution of a real democracy with a frequency of several weeks”). 
Why would you think building software is fundamentally different than building anything else ? I had the luck in my life to work in very different domains and to study even more ones, and by essence they are all the same : what is important is not what you are building, but the team who is building. The relations between the people. The stronger you can make them, the better the result will be. 

Looks to the Agile Manifesto for Software Development. What did they say ? Exactly that. And they have defined principles to optimize these relations. 

Now looks to public policies. It is another name for “defining rules to better live together”. Doesn’t it look similar to defining the correct software requirements ? So why some Agile principles would not be a relevant answer to optimize the way they are defined ? I’m quite sure they are. 

However, you don’t propose any indicators, nor measurement methods, nor arbitrators. Who is the client? Who is the project manager? 
I could have proposed some of them, it’s pretty easy when you have accepted in your mind the underlying logic. But firstly I think the process to define MUST be fully collaborative, and secondly it is a goal for the second part of the story. The first part if to have this Manifesto improved, translated then signed by as many people as possible, who will agree to sign a few sentences they can quickly understand and approved (nothing is hidden in the middle of hundreds or thousands of pages). 

And most important, this MDAD Manifesto does not deal with a single one set of democratic processes : like with software development, many different Agile methods can be defined and used : all are different by some aspects, but all are Agile if they respect the Agile Manifesto principles. None are systematically better than any other. It is the same for democratic processes. Do not start by thinking a single one democratic process "one size fits all" is the obvious way. It is not. That's why we need to define upfront common principles at a upper conceptual layer. Theses principles can then be realized (implemented) differently within different contexts, allowing more efficiency, and more opportunities for people to adopt the principles. It worked like this for Agile Manifesto and changed the way almost all new software is done on earth. KISS recipe at work.

Do you think your remark is relevant when you decided to sign the Agile Manifesto for Software Development (you said you are using Agile methodology in your development work) ? Of course not. 

But if you want to proceed even further, here is the mapping I created between software development roles and roles in an Agile Democracy, and between activities :

 software
Real Democracy
individuals (speaking of team member)
(Same)
Cascade or « V style » development process
Current membership of parliament
interactions
Debate
tools
Current institutions
client
Citizen
fonctionnalities
Public policies
Working software
(set of public policies defined using) real democratic processes
documentation
Rights, rules
to deal a contract before realizing the project
To negotiate an electoral mandate based on the promises of a defined political agenda.
change management
Policies adaptation and political anticipation
Follow a plan
Follow a defined political agenda (or your own)
Deliver software
Define public policies
business people
An elected person
Business sponsor
Sponsor (Current institutions, NGO, think tank…)
Product Owner
An elected person
Product Owner Proxy
Technocrat, civil servant (non elected person)
Scrum Master
A member of the team who helps others to follow the chosen Agile Democracy methodology
developers
Members of citizen think tank or workgroup
development team
citizen think tank or workgroup, members of civil society
End user
Citizen
development 
Definition of public policies or strategic recommendations
Agile coach
Coach in Agile Democracy
External parties
Lobbies

"Your manifesto’d be hijacked by undemocratic interests in months, if not weeks."
To my mind, undemocratic interests are only moving in reactive mode. They simply ignore what they cannot see. They will be interested in MDAD only when it will be a success, means too late. And before that day, what hijack can they do with just an idea and a text under CC licence ?

Mathew, I hope you can participate and improve this MDAD initiative. Just by asking more questions if you wish.

2 commentaires:

  1. Hi,

    Thanks for the detailed response. I see my questions as as part of the process - all visions need gadflies and fools to ask questions and mock. Hence the slight sarcasm.

    The problem with metaphors is that they don't bear a lot of close examination, so I wouldn't rely solely on the politics-as-agile-software-development metaphor if I was you.

    This reminds me of a friend of mine who tried to develop a metaphor for a better society by looking at society in terms of the hardware, software and architecture of a PC.

    It got him *some* of the way, because metaphors are a great place to start from. However, it ended up *limiting* him - the basic structures of the metaphor, taken from another discipline (PC architecture), preventing him from developing his original ideas to a creative conclusion. He ended up ditching the metaphor when it no longer served.

    I won't go through your table line by line, but I will note that my original question ("Who is the client? Who is the project manager?") is not cleared up for me.

    For example, I grok the idea that the client in agile software development is the citizen in agile policy development. In the former, the client is involved in both the original definition of the solution, and then very regularly in following up, making course corrections, testing, etc. So I imagine you expect your citizens to be involved in checking and correcting public policies more often than the traditional 4 year electoral cycle, which is more akin to the traditional waterfall model of software development?

    But if that's true, I don't get how the 'Business person' and 'Product owner' in agile software development is the elected person in your vision of politics. 'Business person' and 'Product owner' sound like 'client' to me, which contradicts the previous equivalence ('client' = citizen).

    Anyway, best of luck with it, and have a great 2012.

    RépondreSupprimer
  2. Thanks for your question Mathew.

    "The problem with metaphors is that they don't bear a lot of close examination, so I wouldn't rely solely on the politics-as-agile-software-development metaphor if I was you."

    I’m not using a metaphor, you’re misreading me sorry. I do not propose to define a concrete democracy architecture like a concrete computer architecture or like another concrete architecture. I’m discussing at the principles’ level, and I’m saying that the principles who are working the best for a teamwork (realizing a software) should work the best for another teamwork (defining public policies). Then I just defined what are the roles into such a team.
    Based on these principles, another operational part remains to be defined : how all these agile team work together, how is the job splitted between them, how many teams are there, how to control the way a team work (make them transparent) , etc
    As I said, this operational part is full of details, specific and tailored to a precise context. Then it is impossible to reach a consensus about them, because each person has a different context in mind, hence a different point of view. That’s why the operational part will be defined (instanciated) in a subsequent work, and published simply as an example of what can be proposed. But each country, each culture will have to adapt it to their own context, always in respect of the underlying principles.
    It’s the same in Law domain : a constitution define law principles and any law must respect this constitution. The Manifesto for Agile Development of Democracy can be explained as a constitution which define politics principles (politics means here how publics policies are created and modified).

    "I won't go through your table line by line, but I will note that my original question ("Who is the client? Who is the project manager?") is not cleared up for me.
    For example, I grok the idea that the client in agile software development is the citizen in agile policy development. In the former, the client is involved in both the original definition of the solution, and then very regularly in following up, making course corrections, testing, etc. So I imagine you expect your citizens to be involved in checking and correcting public policies more often than the traditional 4 year electoral cycle, which is more akin to the traditional waterfall model of software development?"

    Yes, correct.

    "But if that's true, I don't get how the 'Business person' and 'Product owner' in agile software development is the elected person in your vision of politics. 'Business person' and 'Product owner' sound like 'client' to me, which contradicts the previous equivalence ('client' = citizen)."

    This can be simply explained.
    When you are saying that the client interact with the team, you are in fact implying that the whole organization is very tiny. The client is best defined by “the end user” in my table. When the organization grows, it is impossible to have direct interactions between the end user and the team. This means we have to introduce a new role : a Representative for the client. In Scrum methodology, this is the Product Owner. In democracy, where the size of the organization is the biggest we can imagine, the Representative of the citizen is of course an elected person.
    It is an abuse of language to say the Product Owner IS the client.
    If the organization scale even bigger, a Product Owner Proxy role appears in Scrum. It is a person in a different department from the Product Owner, but who has a very good understanding of the needs, a good interaction with the Product Owner and who can act in place of him most of the time (define requirements, accept results). In democracy this is typically the role of a technocrat or a civil servant.

    It is more clear for you now ?

    RépondreSupprimer