<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>rob bowley &#187; teams</title>
	<atom:link href="http://blog.robbowley.net/tag/teams/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.robbowley.net</link>
	<description>adventures in extreme programming</description>
	<lastBuildDate>Thu, 15 Jul 2010 08:12:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>The roles and responsibilities of a Software Team</title>
		<link>http://blog.robbowley.net/2009/07/25/the-roles-and-responsibilities-of-a-software-team/</link>
		<comments>http://blog.robbowley.net/2009/07/25/the-roles-and-responsibilities-of-a-software-team/#comments</comments>
		<pubDate>Sat, 25 Jul 2009 09:59:15 +0000</pubDate>
		<dc:creator>rob</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[teams]]></category>

		<guid isPermaLink="false">http://blog.robbowley.net/?p=731</guid>
		<description><![CDATA[
We&#8217;re currently going through a highly transformational period at work introducing many new concepts to people intended to better manage the flow of work and the long term sustainability of the organsation. It became clear there was a need to have some means by which to guide people as to what was expected from them [...]]]></description>
			<content:encoded><![CDATA[<div>
<p>We&#8217;re currently going through a highly transformational period at work introducing many new concepts to people intended to better manage the flow of work and the long term sustainability of the organsation. It became clear there was a need to have some means by which to guide people as to what was expected from them and the previous job descriptions were no longer appropriate. This article contains the new responsibilities and the justification for them which I thought may prove useful to others.</p>
<p>Firstly, credit to <a href="http://www.selfishprogramming.com/">Portia Tung</a> and <a href="http://blog.nayima.be/">Pascal Van Cauwenberghe</a> as their article on the <a href="http://www.agilecoach.net/coach-log/the-roles-and-responsibilities-of-an-agile-team/">Roles and Responsibilities of an Agile Team</a> inspired much of what follows.</p>
<h3>Roles</h3>
<p><strong>Disclaimer: </strong>These are quite generic descriptions which I hope may prove useful if you are required to formulate such things, however they are still specific to our needs. We don&#8217;t have business analysts, project managers or architects for example (and currently do not feel the need for them either) so if you feel there&#8217;s something missing from where you work that&#8217;s because it probably is.</p>
<p><a href="./responsibilities-of-a-team-member"><strong>Team Member</strong></a><strong><br />
</strong> <a href="./responsibilities-of-a-developer-tester"><strong>Developer / Tester</strong></a><strong><br />
</strong> <a href="./responsibilities-of-a-lead-developer"><strong>Lead Developer</strong></a><strong><br />
</strong> <a href="./responsibilities-of-a-team-leader"><strong>Team Leader</strong></a><strong><br />
</strong> <a href="./responsibilities-of-a-principal-developer/"><strong>Principal Developer</strong></a></p>
<h3>Some more details</h3>
<ul>
<li>Everyone is a Team Member first and foremost. It was interesting when drawing up these job descriptions how almost all the responsibilities are applicable to a Team Member with the other roles (in most cases) adding little more than extensions to the same responsibilities.</li>
<li>Some of the roles aren&#8217;t positions in themselves. For example, the Team Leader role does not map directly to a project manager (we don&#8217;t have any) &#8211; it is held by whoever is most appropriate (it could be the Lead Developer but it could be a tester or developer).</li>
<li>Each responsibility follows the format of the explanation of the responsibility (in bold) followed by the justification e.g.</li>
</ul>
<p style="padding-left: 60px;"><span lang="EN-US"><strong><em>To ensure deliverables meet the acceptance criteria given</em></strong></span><span lang="EN-US"><em> so that we do not waste time reworking them.</em></span></p>
<p style="padding-left: 30px;">I think this is really important. I&#8217;ve rarely ever seen a job description which justified itself. It&#8217;s like a User story with the &#8220;so that&#8230;&#8221; part missing.</p>
<h3>Obective</h3>
<p>The overriding objective was to provide a description of the desired environment within which self-organisation and self-empowerment are the preferred management approach. This can be directly related back to two principles in the <a href="http://agilemanifesto.org/principles.html">Agile Manifesto</a>:</p>
<p><em>The best architectures, requirements, and designs<br />
emerge from self-organizing teams.</em></p>
<p><em>Build projects around motivated individuals.<br />
Give them the environment and support they need,<br />
and trust them to get the job done.</em></p>
<p>&#8220;Respect for People&#8221; is also a one of the two main pillars of the <a href="http://www.toyotatr.com/eng/toyotaway.asp">Toyota Way</a> (the other being continuous improvement), In my mind there is no better way to grow people within your organisation than empowering them and respecting and trusting them to do their job (interestingly it appears this pillar is commonly overlooked resulting in the <a href="http://www.superfactory.com/articles/featured/2009/0906-emiliani-toyota-half-way.html">Toyota Half-Way</a>).</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.robbowley.net/2009/07/25/the-roles-and-responsibilities-of-a-software-team/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Team principles</title>
		<link>http://blog.robbowley.net/2009/04/29/team-principles/</link>
		<comments>http://blog.robbowley.net/2009/04/29/team-principles/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 11:41:52 +0000</pubDate>
		<dc:creator>rob</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[teams]]></category>

		<guid isPermaLink="false">http://blog.robbowley.net/?p=452</guid>
		<description><![CDATA[On my new team we&#8217;ve just started our first proper iteration. We&#8217;ve agreed to commit to the following principles:

No multi-tasking
All new or changed code must be thoroughly unit tested
No more than 2 pieces of work in “Active Work” at any time (our team is 3 developers)
We always work on the highest priority task
Our definition of [...]]]></description>
			<content:encoded><![CDATA[<p>On my new team we&#8217;ve just started our first proper iteration. We&#8217;ve agreed to commit to the following principles:</p>
<ul>
<li>No multi-tasking</li>
<li>All new or changed code must be thoroughly unit tested</li>
<li>No more than 2 pieces of work in “Active Work” at any time (our team is 3 developers)</li>
<li>We always work on the highest priority task</li>
<li>Our definition of done is “In UAT”</li>
<li>Leave it in a better condition than you found it</li>
<li>No hidden work</li>
<li>No overtime</li>
<li>No disruptions</li>
<li>Don’t SysTest your own work (we don&#8217;t have a tester yet)</li>
</ul>
<div>Have you done something similar? What are your team&#8217;s principles?<br/><br/></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.robbowley.net/2009/04/29/team-principles/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>the responsibilities an agile team needs to be successful</title>
		<link>http://blog.robbowley.net/2008/04/19/the-responsibilities-an-agile-team-needs-to-be-successful/</link>
		<comments>http://blog.robbowley.net/2008/04/19/the-responsibilities-an-agile-team-needs-to-be-successful/#comments</comments>
		<pubDate>Sat, 19 Apr 2008 21:19:27 +0000</pubDate>
		<dc:creator>rob</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[teams]]></category>

		<guid isPermaLink="false">http://test.robbowley.net/?p=13</guid>
		<description><![CDATA[Why do we need roles in an agile team?
Self-organisation is the goal of an agile team, but this does not happen unless the environment is provided. It is the responsibility of the leaders in a team to create and maintain this environment. However, we need to avoid creating bureaucracy and dogma so should try and [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Why do we need roles in an agile team?</strong><br />
Self-organisation is the goal of an agile team, but this does not happen unless the environment is provided. It is the responsibility of the leaders in a team to create and maintain this environment. However, we need to avoid creating bureaucracy and dogma so should try and steer clear of tightly defined roles and responsibilities. The boundaries need to be loose enough so we can get the most out of individuals and customise the roles to the requirements of the specific team.</p>
<p><strong>Why add more roles at all then?</strong><br />
In my organisation either you&#8217;re a Developer or a Team Lead. This is not a fair reflection of the value our colleagues bring to the organisation. A great developer is worth exponentially more than an average developer and excellence needs to be appreciated. Also, what makes a developer good are not necessarily the same skills we&#8217;re looking for in a team lead.</p>
<p><strong>The responsibilities an agile team needs to be successful</strong><br />
Below I&#8217;ve listed responsibilities desired in an agile team. Whilst I have grouped them by the roles of Team Leader and Lead Programmer they are by no means mutually exclusive and do not even have to be the responsibilities of either. We want to be creating teams that have senior people capable of taking on as many of these responsibilities as possible and then allowing them to decide who is best suited to do what. This will have the dual effect of empowering our teams (therefore reducing their dependency on management) and allowing people the flexibility to develop themselves in the areas they enjoy the most rather than feeling they are competing for a single position or even worse, not seeing one that&#8217;s suited to them at all.</p>
<p><strong>Team Leader</strong><br />
Communication champion.<br />
Gets the most out of the team.<br />
Empowers the team.<br />
Provides direction (can be technical and process).<br />
Resolves conflict.<br />
Removes blockages.<br />
Makes sure everyone is happy.<br />
Ensures standards and processes agreed within the team are maintained.<br />
Ensure all members of the team have a proper understanding of the customer&#8217;s requirements.</p>
<p><strong>Lead Programmer</strong><br />
Code champion.<br />
Responsible for the quality of the code base.<br />
Responsible for the underlying architecture for the software.<br />
Responsible for technical decisions.<br />
Ensure all members of the team have a proper understanding of the technical vision.<br />
Train and informs developers on coding best practices.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.robbowley.net/2008/04/19/the-responsibilities-an-agile-team-needs-to-be-successful/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
