{"id":336,"date":"2016-03-29T21:08:24","date_gmt":"2016-03-29T20:08:24","guid":{"rendered":"http:\/\/dawilson.co.uk\/blog\/?p=336"},"modified":"2017-03-08T18:41:56","modified_gmt":"2017-03-08T18:41:56","slug":"developer-anarchy","status":"publish","type":"post","link":"https:\/\/dawilson.co.uk\/blog\/developer-anarchy\/","title":{"rendered":"Developer Anarchy"},"content":{"rendered":"<p>The latest episode of <a href=\"http:\/\/www.se-radio.net\/2016\/03\/se-radio-episode-253-fred-george-on-developer-anarchy\/\" target=\"_blank\">Software Engineering Radio<\/a> contains an interesting discussion about a project management technique known as Developer Anarchy. Fred George, the interviewee, defines anarchy as a group of people managing themselves, with few or no rules being imposed by higher levels of management.<\/p>\n<p>George describes how he first discovered this technique when working at a small start-up company in the advertising industry. The development team was given the single objective of making as much money as possible, and then left to work using\u00a0their own\u00a0initiative. By giving the developers freedom to rapidly experiment with new technologies, the company soon grew to become highly successful.<\/p>\n<p>This success was later replicated in a diverse range of\u00a0organisations and industries, including the well-established newspaper The Daily Mail. In this case, a layer of architects and managers was stripped away, with some retraining to become software developers and others leaving to find work elsewhere.<\/p>\n<h3>The team<\/h3>\n<p>Using this method it\u2019s crucial that all members of the team write code; there are no managers in the traditional project management sense. Instead, it is anticipated that team leaders will naturally emerge, and that leadership will fluctuate throughout the life of the project. For example, a developer with advanced architecture experience may assume the lead role early on, giving way to a developer with greater deployment experience in the later stages.<\/p>\n<p>There are however three key roles that\u00a0will always exist: a lead developer, who is responsible for mentoring the rest of the team; an ambassador, who is responsible for communicating and negotiating with other teams; and a concierge, who is responsible for securing any needed resources.<\/p>\n<p>Together the team has the ability to vote a developer \u201coff the island\u201d if it is felt that they are not pulling their weight.<\/p>\n<h3>Complex adaptive systems<\/h3>\n<p>Listening to this podcast brought back memories of studying Open University module <a href=\"http:\/\/www.open.ac.uk\/postgraduate\/modules\/t848\" target=\"_blank\">T848 \u2013 Managing technological innovation<\/a>. As part of this module I studied <a href=\"http:\/\/www.cs.nott.ac.uk\/~pszjds\/teaching\/archive\/AgileProjectManagement.pdf\" target=\"_blank\">a paper from 2005<\/a> that discussed the theory of complex adaptive systems. These are systems in which semi-autonomous agents work together, abiding by a simple set of rules, to achieve a common goal. An ant colony would be a classic example of a complex adaptive system.<\/p>\n<p>The paper describes how the\u00a0theory of complex adaptive systems can be applied to software development teams, and lists the following six enabling practices:<\/p>\n<ol>\n<li>Ensure a shared guiding vision for all team members<\/li>\n<li>Enable interactions and adaption through small teams, close relationships, and clear responsibilities<\/li>\n<li>Loosen stifling control \u2013 adopt a light touch management style<\/li>\n<li>Establish and refine a set of simple rules<\/li>\n<li>Provide free and open access to information<\/li>\n<li>Continually monitor and tune the process<\/li>\n<\/ol>\n<h3>Conclusion<\/h3>\n<p>Even though Developer Anarchy appears to simply be\u00a0a catchy name applied to a\u00a0project management theory\u00a0dating back at least 11 years, this episode of Software Engineering Radio felt very fresh and I would highly recommend giving it a listen if you have an hour to spare.<\/p>\n<p>Furthermore, if you are interested in this kind of topic then I\u00a0would also highly recommend checking out some of the Open University&#8217;s postgraduate modules, such as T848.<\/p>\n<p>Finally, I believe that this theory, and in particular the six practices detailed above, could be employed to great effect by all types of team, not only the extreme anarchists.<\/p>\n<p>DW.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The latest episode of Software Engineering Radio contains an interesting discussion about a project management technique known as Developer Anarchy. Fred George, the interviewee, defines anarchy as a group of people managing themselves, with few or no rules being imposed by higher levels of management. George describes how he first discovered this technique when working &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/dawilson.co.uk\/blog\/developer-anarchy\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Developer Anarchy&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11,42],"tags":[35,19,16,6,34],"class_list":["post-336","post","type-post","status-publish","format-standard","hentry","category-assorted-musings","category-favourites","tag-developer-anarchy","tag-open-university","tag-project-management","tag-software-engineering","tag-t848"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/dawilson.co.uk\/blog\/wp-json\/wp\/v2\/posts\/336","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dawilson.co.uk\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dawilson.co.uk\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dawilson.co.uk\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dawilson.co.uk\/blog\/wp-json\/wp\/v2\/comments?post=336"}],"version-history":[{"count":12,"href":"https:\/\/dawilson.co.uk\/blog\/wp-json\/wp\/v2\/posts\/336\/revisions"}],"predecessor-version":[{"id":348,"href":"https:\/\/dawilson.co.uk\/blog\/wp-json\/wp\/v2\/posts\/336\/revisions\/348"}],"wp:attachment":[{"href":"https:\/\/dawilson.co.uk\/blog\/wp-json\/wp\/v2\/media?parent=336"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dawilson.co.uk\/blog\/wp-json\/wp\/v2\/categories?post=336"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dawilson.co.uk\/blog\/wp-json\/wp\/v2\/tags?post=336"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}