<?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>Life on Lars &#187; Scrum &amp; Agile</title>
	<atom:link href="http://lifeonlars.com/category/scrum-agile/feed/" rel="self" type="application/rss+xml" />
	<link>http://lifeonlars.com</link>
	<description>Design, the Universe and Everything</description>
	<lastBuildDate>Fri, 26 Aug 2011 01:59:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Scrum in Practice &#8211; Part 2: The Roles</title>
		<link>http://lifeonlars.com/scrum-agile/scrum-in-practice-the-roles/</link>
		<comments>http://lifeonlars.com/scrum-agile/scrum-in-practice-the-roles/#comments</comments>
		<pubDate>Sun, 05 Sep 2010 05:17:53 +0000</pubDate>
		<dc:creator>larfa</dc:creator>
				<category><![CDATA[Scrum & Agile]]></category>

		<guid isPermaLink="false">http://www.lifeonlars.com/?p=353</guid>
		<description><![CDATA[In Scrum there are typically 3 clearly defined roles; the Product Owner, the Scrum Master, and the Scrum Team. In addition there may also be additional stakeholders (customers, vendors) and managers involved as well as collaboration between other Scrum teams and/or shared resources. It&#8217;s important that there is a clear distinction between people that are [...]]]></description>
			<content:encoded><![CDATA[<p>In Scrum there are typically 3 clearly defined roles; the Product Owner, the  Scrum Master, and the Scrum Team. In addition there may also be additional stakeholders (customers, vendors) and managers involved as well as collaboration between other Scrum teams and/or shared resources. It&#8217;s important that there is a clear distinction between people that are committed to the process and project and people that are just involved.</p>
<p><span id="more-353"></span></p>
<p>The three clearly defined roles in Scrum:</p>
<ol>
<li>the &quot;<strong>Product Owner</strong>&quot;, who represents the stakeholders and the   business</li>
<li>the &quot;<strong>Scrum Master</strong>&quot;,  a facilitator and project manager, acts as an advocate for the Scrum process.</li>
<li>the &quot;<strong>Team</strong>&quot;, a cross-functional group of around 7 people </li>
</ol>
<p> These three roles are always needed and should people in these roles should be committed to the Scrum process and the project. </p>
<h2><strong>Product Owner</strong></h2>
<p>In Scrum, a single individual needs to have have final authority with regards to prioritisation of the backlog, customer interests and user requirements questions. This authority and responsibility  falls to the Product Owner.  The Product Owner represents the voice of the customers/users and works to  ensure that the Scrum Team is working on the  &quot;right items&quot; from a   business perspective. </p>
<p>The Product Owner is responsible for writing customer-centric backlog items also called  stories. Each backlog item or story represents a feature or unit of work that is small enough to be completed by the team in a single sprint.  While there are multiple inputs to the product backlog, it is the sole   responsibility of the product owner to prioritise the product backlog.</p>
<h3>Responsibilities of the Product Owner</h3>
<ul>
<li>Defines and adjusts the features of the product</li>
<li>Writes user stories and places them in the product backlog</li>
<li>Prioritises items in the Product Backlog according to customer/market value </li>
<li>Accepts or rejects work results</li>
<li> Decides on release date and content</li>
<li> The Product Owner cannot also be the Scrum Master, however the Product Owner may sometimes be a member of the Scrum Team</li>
</ul>
<h3>Challenges of being the Product Owner</h3>
<ul>
<li>Be willing to make hard choices during the sprint planning   meeting. </li>
<li>Resist temptation to add more important work after a Sprint   is already in progress. </li>
<li>Balance the interests of competing stakeholders. </li>
<li>Resist  the temptation to &quot;manage&quot; the team, even if team members request intervention with issues that the team should sort out itself.</li>
</ul>
<p>The Product Owner role needs to have a solid knowledge of the product both from business and  user perspective. Typically this is the Product Manager or Product Development Manager however this varies from organisation to organisation and sometimes the Product Owner responsibility may fall to different people from project to project. This person acting as the Product Owner must be available to the team at any time, but especially   during the sprint planning meeting and the sprint review meeting.</p>
<h2><strong>Scrum Master</strong></h2>
<p>The Scrum Master is a facilitator,  a project manager and  an advocate for the Scrum process. The Scrum Master is not the leader of the team, as the team is self-organising.   The Scrum Master is responsible for making sure the Scrum team live by the   values and practices of Scrum,  enforcing  the rules of the Scrum Process. The Scrum Master protects the team from external interferences and by   making sure they do not over-commit themselves to what they can achieve   during a sprint. The Scrum Master is also responsible for removing any impediments or obstacles faced by the team. </p>
<ul>
<li>The Scrum Master is a member of the Scrum Team</li>
<li>The Scrum Master cannot be  the Product Owner</li>
</ul>
<h3>Responsibilities of the Scrum Master</h3>
<ul>
<li> Removes impediments (obstacles) and makes sure that the team is fully functional and<br />
  productive</li>
<li>Ensures that the Scrum process is followed</li>
<li>Updates burndown chart and maintains the Scrum board</li>
<li>Facilitates Sprint Planning, Daily Scrum and Retrospective meetings</li>
<li>Maintains the Sprint backlog</li>
<li>Supports the Product Owner; including communicating updates and impediments as well as assisting with   backlog and release plan maintenance</li>
<li>Ensures that the team&#8217;s progress, status and success is highly visible to all   stakeholders, including the team itself</li>
<li>Facilitate creativity and empowerment for the development team</li>
<li>Shields the team from external interferences</li>
</ul>
<h2><strong>Cross-Functional Scrum Team</strong></h2>
<p>The Scrum team are the people who do   the actual analysis, design, implementation  and testing required to complete the features, stories or tasks in a given sprint. The Scrum team is self-organising, there is no   command and control. Everyone in the Scrum team is equally responsible for   determining the most suitable way to proceed.  
</p>
<ul>
<li>Agrees on the sprint goal with the product<br />
    owner and specifies in detail the work needed    to accomplish this goal</li>
<li> Demonstrates the work results to the Product    Owner</li>
<li> Scrum team has the authority to do whatever is   needed to meet its commitments.</li>
<li>Self-organising; Organizes itself and its work </li>
<li>Cross-functional; team members have all the required skills and expertise to complete the tasks given to the team</li>
</ul>
<h3>Ideal Team Size for Scrum</h3>
<p>The team should ideally consist of <a href="http://en.wikipedia.org/wiki/The_Magical_Number_Seven,_Plus_or_Minus_Two" title="Wikipedia: The Magical Number Seven, Plus or Minus Two" target="_blank">7 plus or minus  2</a> people (5-9) with the necessary skills to complete the tasks.   Larger teams should either organise in sub-groups or split into multiple Scrum Teams to ensure the team is still effective. Studies have shown that teams exceeding  9 are typically less effective than smaller teams. In smaller organisations the team may be smaller. Currently I&#8217;m in a team of three with myself as Scrum Master and Lead Designer as well as a Web Mechanic and a Lead Programmer and plans for on hiring two additional programmers. </p>
<h3>A Scrum Team should be Cross-Functional</h3>
<p>This basically means that the  team should consist of people with the   range of skill sets required for the tasks/projects they will be working on. In an ideal scenario the team should be able to function as a self-contained unit and complete all tasks committed to in a sprint without having to rely on external resources or  people on a regular basis. If a story or feature requires content or media from other departments or stakeholders then this should be facilitated either by the Scrum Master or by the Product Owner so that the team does not have to chase down this from external sources.  </p>
<h3>Scrum Team Composition</h3>
<p>Some thought should be put into team composition and  structure to ensure that the range of skills are sufficient for the tasks at hand. For example a Web Development Scrum Team of 5-8 might   consist of: </p>
<ul>
<li>a system architect or lead programmer,</li>
<li>2-3 programmers,</li>
<li>a database  programmer,</li>
<li>a Web Designer and/or UI-Designer,</li>
<li>a front-end developer,</li>
<li>and  a  Tester </li>
</ul>
<p> It is usually a good idea to start small and expand the team once you get a better idea of the split between the different types of tasks you&#8217;ll be working on and you&#8217;re  able to identify  any bottlenecks. You might realise that the tasks in the product backlog and the foreseeable future are  design heavy and decide to expand the team with an extra designer, or that most of the work will be coding and hire more programmers. Perhaps the team is better served by hiring a dedicated tester to free up some time from all the members of the team. </p>
<h2>Additional  Roles in the Scrum Process</h2>
<p>In addition to the three core roles in Scrum there are also several additional roles that may be involved and have a stake in the project. The other roles may vary from from organisation to organisation and even from sprint to sprint and are not strictly needed for the Scrum Process. </p>
<ol>
<li><strong>&quot;Stakeholders&quot;</strong>&#8216;</li>
<li><strong>&quot;Managers&quot;</strong></li>
</ol>
<p>The needs,   desires, ideas and influences of these supplemental roles should be taken into   account, but should  not in any way be allowed to affect, distort or get in the   way of the actual Scrum project.</p>
<h3>Stakeholders</h3>
<p>Stakeholders are typically customers, vendors basically someone with a significant interest or stake in the project. These are the people that the project is being built for, or at least representatives of the wider user/customer base who will be using the software/application/website. </p>
<h3> Managers</h3>
<p>Managers or Executives  are people who will set up the environment for the product development   organisations. Managers typically have the deciding vote in whether or not additional full-time resources will be added to the team. Managers may also be involved when it comes to  approving costs for additional equipment, training or additional external or internal resources. Managers also have the responsibility to ensure that business goals for the product are clearly communicated to the Product Owner.</p>
<h2>Summary</h2>
<p>The roles in Scrum fall into two distinct categories. People that are committed and people that are involved. The three core roles, Product Owner, Scrum Master and Scrum Team are all committed (or at least they should be). The committed people have their proverbial bacon on the line, whilst the people that are involved have an interest in the project but aren&#8217;t directly held accountable if the project fails. In my experience Scrum needs all core roles to be committed to the process in order to work effectively. A key component of Scrum  is to strive to continuously improve. If you&#8217;re just starting out with Scum or if you&#8217;re establishing a new team it&#8217;s never going to be perfect from day one, but if everybody is committed to the process it will improve.  </p>
]]></content:encoded>
			<wfw:commentRss>http://lifeonlars.com/scrum-agile/scrum-in-practice-the-roles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scrum in Practice &#8211; Part 1: How-To Do Scrum Overview</title>
		<link>http://lifeonlars.com/scrum-agile/scrum-in-practice-how-to-do-scrum/</link>
		<comments>http://lifeonlars.com/scrum-agile/scrum-in-practice-how-to-do-scrum/#comments</comments>
		<pubDate>Wed, 18 Aug 2010 00:06:18 +0000</pubDate>
		<dc:creator>larfa</dc:creator>
				<category><![CDATA[Scrum & Agile]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Burndown]]></category>
		<category><![CDATA[Product Owner]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Scrum Master]]></category>
		<category><![CDATA[Sprint Planning]]></category>

		<guid isPermaLink="false">http://www.lifeonlars.com/?p=350</guid>
		<description><![CDATA[In my first article Introduction to Agile Development and Scrum we looked at Scrum from a more of a holistic perspective. In this series of articles which I&#8217;ve named &#34;Scrum in Practice&#34; we&#8217;ll be looking at Scrum in a much more pragmatic way and look at examples of how to actually do Scrum in a [...]]]></description>
			<content:encoded><![CDATA[<p>In my first article <a href="http://www.lifeonlars.com/scrum-agile/introduction-to-agile-development-and-scrum">Introduction to Agile Development and Scrum</a> we looked at Scrum from a more of a holistic perspective. In this series of articles which I&#8217;ve named &quot;Scrum in Practice&quot; we&#8217;ll be looking at Scrum in a much more pragmatic way and look at examples of how to actually do Scrum in a more practical and fundamental way. Since Scrum is not a strict methodology but rather a process framework for development it is typically done a bit differently from organisation to organisation. There are however some basic elements that need to be in place to do Scrum well and some  best practices that everybody should know.   I&#8217;ll try to cover what has worked well for me over the years as well as some potential problem areas and solutions. </p>
<p><span id="more-350"></span></p>
<h3>Basic requirements for  Iterative development using Scrum</h3>
<p>Just to quickly recap from the Introduction to Scrum article these are some of the key requirements for iterative development when using Scrum:</p>
<ul>
<li>Iterations must have fixed time boxes and be less than 6 weeks long</li>
<li>Code at the end of the iteration must be tested by QA and be working properly</li>
<li>A Scrum team must have a product owner and know who that person is</li>
<li>A Scrum team must have a Product Backlog with estimates created by the team</li>
<li>The team must have a Burndown Chart and know their velocity</li>
<li>There must be no one outside a team interfering with the team during a sprint</li>
</ul>
<h2>Scrum&#8217;s Roles, Artifacts and Rituals</h2>
<p>Scrum consists of several key elements that make it a solid framework for development and project management. These elements can be broken down into three roles, three artifacts and three ceremonies or rituals. </p>
<ul>
<li><strong>Scrum&#8217;s 3 Roles</strong>
<ul>
<li>Product Owner</li>
<li>Scrum Master</li>
<li>Scrum Team</li>
</ul>
</li>
<li><strong>Scrum&#8217;s 3 Artifacts</strong>
<ul>
<li>Product Backlog</li>
<li>Sprint Backlog</li>
<li>Burndown</li>
</ul>
</li>
<li><strong>Scrum&#8217;s 3 Rituals / Ceremonies</strong>
<ul>
<li>Sprint Planning</li>
<li>Daily Scrum (daily stand-up)</li>
<li>Sprint Review (Demo &amp; retrospective)</li>
</ul>
</li>
</ul>
<h2>Three core roles in Scrum</h2>
<p>There are 3 core roles in Scrum, people in these roles should be committed to the project and the Scrum process.</p>
<ul>
<li><strong>Product Owner: </strong>Represents the stakeholders and the   business, prioritises items in the backlog</li>
<li><strong>Scrum Master: </strong>Facilitator and project manager. Acts as an advocate for the process</li>
<li><strong>Scrum Team: </strong>Cross functional team of 5-9 people. Self-organising, does the work and implementation. </li>
</ul>
<p>In addition there are supplemental roles referred to as &quot;<strong>Stakeholders</strong>&quot; and &quot;<strong>Managers</strong>&quot;. These people typically have a vested interest in the project or development but aren&#8217;t committed to the process and typically aren&#8217;t held accountable for any failures or delays. The opinions and input of these people needs to be taken into account but they should not be allowed to directly interfere with the team. </p>
<p><em>I&#8217;ll go into much more detail on the Roles in Scrum in my next article. </em></p>
<h2>Three primary artifacts in Scrum</h2>
<ul>
<li>Product Backlog</li>
<li>Sprint Backlog</li>
<li>Burndown</li>
</ul>
<h3>Product Backlog</h3>
<p>The product backlog is at the heart of Scrum. The product backlog is essentially a prioritised list of requirements, features, improvements, fixes and so on. Items in the backlog  are things that the customer(s) or users want, or things that in some way enhance the product. These items are typically called stories, or sometimes just backlog items. Stories should be written in the language of the customer/user detailing a unit of work that can be completed by the team in a single sprint. The product backlog may have multiple inputs but should be prioritised by a single person, the Product Owner. </p>
<ul>
<li>The Product Backlog should contain items that will be worked in the<strong> next 12 months</strong>
<ul>
<li>Stories that are very unlikely to be developed in the next year then they should not be included in the Product Backlog</li>
<li>This helps avoid cluttering the backlog with items that are very far in the future or may never be developed at all and keeps focus on more immediate targets</li>
</ul>
</li>
<li>The Product Backlog should ideally contain no more than <strong>150-200 backlog items</strong></li>
<li>Items in the Product Backlog should be in prioritised order as<strong> prioritised by the Product Owner</strong>
<ul>
<li>Priorities can and will change as conditions change and new information becomes available</li>
<li>It is not vital that everything is prioritised in exact order, the lower an item is on the priority list the more vague the priority tends to become</li>
<li>When prioritising items that are lower on the list it&#8217;s usually good practice to consider the backlog item in relation to other backlog items of similar priority (e.g. is feature A more or less important than feature B)</li>
</ul>
</li>
<li>The higher priority and the closer a backlog item is to being added to the sprint backlog the more detail it should have </li>
<li>Items that are further away from being worked on will typically have less detail, however more detail should be added before an item is scheduled for a sprint</li>
<li>Larger stories are typically called <strong>Epics</strong> and should be broken down into smaller stories before they are added to the <strong>Sprint Backlog</strong></li>
</ul>
<p><em>The Product Owner may also request rough time estimates for backlog items to assist in prioritisation and calculating business value of backlog items.</em></p>
<h3>Sprint Backlog</h3>
<p>The Sprint Backlog is a prioritised list of Stories or Backlog items that will be completed in the next Sprint (development cycle/iteration). Stories that are added to the Sprint Backlog should contain enough information for the team to complete the story. </p>
<ul>
<li>Stories in the Sprint Backlog should be prioritised <strong>by the Product Owner</strong></li>
<li>Stories in the Sprint Backlog should all have time estimates</li>
<li>The Product Owner and the Team agree on the contents of the sprint based on the available sprint time and previous velocity
<ul>
<li>The team should take into account all known factors for the upcoming sprint period e.g. planned holidays for team members, conferences, public holidays, recurring business as usual tasks etc.</li>
<li>The Product Owner may re-prioritise some stories based on size and available time to &quot;fill up&quot; the sprint</li>
</ul>
</li>
<li>Some teams also set aside a percentage of available sprint time for fixing bugs, reducing technical debt and/or refactoring</li>
<li>Prior to the start of the sprint all stories should have estimates, be clearly prioritised and be broken down into tasks
<ul>
<li>Task breakdown is done by the Team during the planning phase</li>
<li>The Product Owner should  not interfere with task breakdown or estimates</li>
</ul>
</li>
</ul>
<h3>Burndown </h3>
<p>The burndown chart is a visual representation of the Scrum Team&#8217;s progress in a given sprint. It is updated by the Scrum Master every day and allows the whole team and any involved stakeholders to get a quick visual overview of the progress of a sprint. </p>
<ul>
<li>Daily progress for a Sprint over the sprint’s length.</li>
<li>Graphical representation of work left to do versus time. </li>
<li>Outstanding   work  is represented on the vertical axis, with time along the   horizontal. </li>
<li>Updated daily by the Scrum Master</li>
<li>Useful tool for gauging whether tasks will be completed within the sprint or not</li>
</ul>
<h2>Three central rituals or ceremonies in Scrum</h2>
<ul>
<li><strong>Sprint Planning</strong> (Task Breakdown and Estimation)</li>
<li><strong>Daily Scrum</strong> (Daily stand-up)</li>
<li><strong>Sprint Review</strong> (Demo &amp; Retrospective)</li>
</ul>
<h3>Sprint Planning &#8211; Task Breakdown and Estimation</h3>
<p>In Scrum the &quot;big design up-front&quot; approach is discarded in favour of a smaller units of work where the choice of implementation and solution is often left much in the hands of the team. So instead   of providing full, detailed descriptions of  how everything in the project is to be done, a lot of this is left up to the team. This is done because   the team will know best how to solve its problem. The product owner provides the team with desired outcomes from a user and business perspective rather than suggested technical solutions which is typically not the area of expertise for the product owner. </p>
<ul>
<li>Sprint Planning isn&#8217;t a roadmap or a strategy discussion. </li>
<li>Time-boxed to 4-8 hours which is typically sufficient for a 4 week sprint </li>
<li>The overall theme or focus of the Sprint,  and majority of the product backlog scheduled for the sprint should be prepared and  and published   prior to the meeting
<ul>
<li>This is the responsibility of the product owner or   the Scrum Master</li>
</ul>
</li>
<li>The team should have at least a day to review the items in the Product Backlog that are scheduled for the sprint
<ul>
<li>The team needs enough time and information to understand what implementing each backlog item would require </li>
<li>The time reviewing the preliminary sprint backlog should also be used to  add technical-driven features for consideration that may be required to support planned features</li>
</ul>
</li>
</ul>
<p>During the Sprint Planning the team will initially estimate the relative size of each story, typically during a process called <a href="http://en.wikipedia.org/wiki/Planning_poker" target="_blank">planning poker</a>. This process minimises the risk of vocal individuals influencing the estimate and reduces  underestimating of tasks. The planning game starts with the Scrum Master or one of the developers with the most knowledge regarding a specific feature providing the team with an overview of the feature and work required. Each team member then places a card with their estimate  face down on the table and everybody reveals their estimate at the same time. The highest and lowest estimate then discusses their reasoning then everybody votes again until a consensus is reached. </p>
<ul>
<li>Stories are estimated in relative size using &quot;days&quot; or &quot;story points&quot; </li>
<li>Estimating in relative sizes has been show to be a lot more accurate than trying to use actual or specific units of time</li>
<li>Tasks are estimated in hours</li>
</ul>
<p>During sprint planning each story is   broken down into multiple tasks. Tasks should consist of all the individual bits of work that will be required to complete the story. During the task breakdown the team typically discusses technical and implementation solutions but may defer final choice of implementation to be decided during the sprint. One of the tasks for that story might then include researching, spiking and choosing an implementation for the story. While the stories are estimated in days or story points, tasks are estimated in hours. The planning game can also be applied to task estimation. </p>
<h3><strong>Daily Scrum</strong></h3>
<p>The daily stand-up meeting or daily scrum is one of the core rituals or ceremonies in Scrum. This daily meeting gives the team and Scrum Master a daily update on progress, enabling obstacles and potential problems to be identified and dealt with as early as possible before they become real problems. It also enables the Scrum Master to make adjustments to the sprint plan to ensure things are kept on track. This could be reducing the scope of tasks or agreeing with the Product Owner to defer or drop certain stories to ensure that stories with higher priority are completed.</p>
<ul>
<li><strong>Same  time every day. </strong>Keep the meeting at the same time every day. All team members need to attend.</li>
<li><strong>Everybody stands.</strong> Making everybody stand keeps the meeting short and to the point. Any longer conversations should be deferred to after the meeting.</li>
<li>No longer than <strong>15mins</strong> (timed)</li>
<li>The daily Scrum typically has the following format:
<ul>
<li><strong>Done: </strong>Each team member states what they have done or achieved in the preceding 24 hours</li>
<li><strong>Obstacles: </strong>Each team member states whether they have any impediments or obstacles preventing them from working effectively on sprint tasks</li>
<li><strong>To Do: </strong>Each team member states what they plan to work on in the next 24 hours </li>
</ul>
</li>
</ul>
<p>Prior to Scrum all team members should update remaining estimates for tasks. The Scrum Master should then update the burn-down chart so that the entire team gets a clear and visual representation of their progress. </p>
<h3>Sprint Review &#8211; Demo and Sprint Retrospective</h3>
<h4>The Sprint Demo</h4>
<p>At the end of each sprint the team demonstrates the work completed in the Sprint to the Product Owner and potentially some stakeholders. The demo to the product owner should showcase the completion of each  story  committed to during the sprint. The demo should make  it clear what aspects of the stories are not complete, if any, and what  the plan is for getting them completed. </p>
<ul>
<li> During the demo it should be made clear which features are unimplemented due to  being scheduled for a future sprint. </li>
<li>This will help avoid  questions/concerns from the product owner about those features being  missing or ugly.  </li>
<li>If the sprint was done correctly, there should not be any surprises at  the demo. </li>
<li>Acceptance testing should have occurred during the sprint giving the product owner previews of the features to avoid any major changes or unexpected rejection of implementations</li>
</ul>
<p> Inevitably there will be some minor tweaks suggested by the product owner and/or stakeholder during the demo.  The team should only accept tweaks that can be  completed during the slack period unless the product owner is willing to  sacrifice either delivery date or other release features. Any bugs discovered prior to, during or after the demo should be fixed during the slack period prior to release rather than deferred for later or added to technical debt. </p>
<p><h> The Sprint Retrospective</h3>
<p>After each Sprint the team holds a Sprint Retrospective meeting. The meeting acts as a self-assessment for the team and aims to improve processes for future sprints. The sprint retrospective should never be used to place blame but should be an objective review of what went well and what did not go so well during a sprint that can be improved. To be a successful and agile team you need to continually improve your work habits and update your process to match changing situations. Retrospectives are a great tool for achieving this. </p>
<ul>
<li>Duration: <strong>1-3 hours</strong> depending on size of team, duration of sprint and expected discussion</li>
<li>Location: Room or area with where you can have an undisturbed discussion. Preferably somewhere with wall/whiteboard</li>
<li>Participants: ALL team members, the Scrum Master and optionally the Product Owner</li>
<li>Should never be used to place blame</li>
<li>Review the previous sprint and consider the following questions:
<ul>
<li>What  did we do well, that if we don’t discuss we might forget?</li>
<li>What  did we learn?</li>
<li>What  should we do differently next time?</li>
<li>What  still puzzles us?</li>
</ul>
</li>
<li>Identify a single area of improvement to focus on for the next sprint</li>
</ul>
<h2>Summary</h2>
<p>Well that&#8217;s it, perhaps not the shortest or most concise explanation but it should give you the building blocks to work with and consider whether Scrum is right for your organisation.</p>
<p>Perhaps the most common mistake  people make when attempting to use Agile or Scrum is that they don&#8217;t commit to the process enough but rather just pick and choose elements that fit with their organisation or previous methodologies. This may work in some instances however more times than not it&#8217;ll generate rather poor results and generate a rather poor impression of Agile within the company. To be successful you and your organisation will need to devote both time and resources to learning and implementing Agile well. It&#8217;s recommended that you start out following the standard principles of Scrum and avoid large deviations until your team has a few sprints under its belt and are familiar with the principles of both Agile and Scrum. It&#8217;s always better to know the rules before you start bending or breaking them. </p>
<h3>Scrum and Agile Development  Books</h3>
<ul>
<li><a href="http://www.amazon.com/Scrum-Trenches-Enterprise-Software-Development/dp/1430322640/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1276482475&amp;sr=8-1" title="Scrum &amp; XP from the Trenches" target="_blank">Scrum &amp; XP from the Trenches</a></li>
<li><a href="http://www.amazon.com/Art-Agile-Development-James-Shore/dp/0596527675/ref=pd_sim_b_10" title="The Art of Agile Development" target="_blank">The Art of Agile  Development</a></li>
<li><a href="http://www.amazon.com/Succeeding-Agile-Software-Development-Using/dp/0321579364/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1276482305&amp;sr=8-1" title="Succeeding with Agile: Software Development Using Scrum" target="_blank">Succeeding with Agile: Software Development Using Scrum</a>
  </li>
<li><a href="http://www.amazon.com/User-Stories-Applied-Software-Development/dp/0321205685/ref=pd_sim_b_2" title="User Stories Applied: For Agile Software Development" target="_blank">User Stories Applied: For Agile Software Development</a></li>
<li><a href="http://www.amazon.com/Agile-Estimating-Planning-Mike-Cohn/dp/0131479415/ref=sr_1_9?ie=UTF8&amp;s=books&amp;qid=1276482305&amp;sr=8-9" title="Agile Estimation and Planning" target="_blank">Agile Estimation and Planning</a></li>
<li><a href="http://www.amazon.com/Agile-Testing-Practical-Guide-Testers/dp/0321534468/ref=pd_sim_b_11" title="Agile Testing: A Practical Guide for Testers and Agile Teams" target="_blank">Agile Testing: A Practical Guide for Testers and Agile Teams</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://lifeonlars.com/scrum-agile/scrum-in-practice-how-to-do-scrum/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Introduction to Agile Development and Scrum</title>
		<link>http://lifeonlars.com/scrum-agile/introduction-to-agile-development-and-scrum/</link>
		<comments>http://lifeonlars.com/scrum-agile/introduction-to-agile-development-and-scrum/#comments</comments>
		<pubDate>Thu, 27 May 2010 11:46:50 +0000</pubDate>
		<dc:creator>larfa</dc:creator>
				<category><![CDATA[Scrum & Agile]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Agile Development]]></category>
		<category><![CDATA[Iterative Development]]></category>
		<category><![CDATA[Methodology]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://www.lifeonlars.com/?p=342</guid>
		<description><![CDATA[If you&#8217;ve ever been involved in web, application or software development or any kind of media production or IT project then chances are you&#8217;ve run into some sort of methodology or project management methods. You might be familiar with PRINCE2, PMI and the Waterfall Model. In some cases companies also develop their own internal project [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;ve ever been involved in web, application or software development or any kind of media production or IT project then chances are you&#8217;ve run into some sort of methodology or project management methods. You might be familiar with PRINCE2, PMI and the Waterfall Model. In some cases companies also develop their own internal project methodologies or cusomise or adapt existing methodologies to fit their own structure with varying degrees of success. If you are familiar with any of these methods you may also have reconised that a lot of their principles often don&#8217;t work as well when internal and external requirements as well as  market conditions frequently change. This is very often the case when dealing with  website development and web application development projects and perhaps even more so with mobile application development projects. If some of this sounds familiar then perhaps it&#8217;s time for you to have closer look at Agile Development. In this article we&#8217;ll cover the basics of Agile and in particular a at Scrum. </p>
<p><span id="more-342"></span></p>
<h2>What is Scrum and Agile development?</h2>
<p> Agile development is uses an iterative process, rather than the waterfal method, and focuses on shorter release cyles with constantly evolving requirements through collaboration between cross-functional teams. Agile allows development to be adaptive  (or agile) to respond to changing market conditions or internal or  client requirements. </p>
<p>Scrum is a lightweight agile development process framework for managing  projects. It is widely adopted within  software and web development but the principles can be applied to virtually any type of project . It includes a set of practices, predefined roles and artifacts based on an iterative agile  process cycle. Scrum  is not a definitive set of rules for how to do thing but more of a  holistic approach to development with a set of guidelines and  principles rather than a strict development methodology. In a way you can think of Scrum as a  sort of  framework for project management but it&#8217;s much more than that..</p>
<h3><strong>Basic requirements for Agile iterative development:</strong></h3>
<ul>
<li>Iterations must have fixed time boxes and be less than 6 weeks long</li>
<li>Code at the end of the iteration must be tested by QA and be working properly</li>
</ul>
<h3>The Nokia standards for Scrum:</h3>
<ul>
<li>A Scrum team must have a product owner and know who that person is</li>
<li>A Scrum team must have a Product Backlog with estimates created by the team</li>
<li>The team must have a Burndown Chart and know their velocity</li>
<li>There must be no one outside a team interfering with the team during a sprint</li>
</ul>
<p>There are many ways you could implement Scrum and successful formulas will vary from organisation to organisation. To effectively use Scrum and Agile you should embrace the princples and adapt the process to fit your team and your organisation. Part of the principles of Agile is to constantly evolve and that includes internal processes as well. After each sprint or cycle the team reviews what went well and what did not go so well and commits to improving at least one achiveable thing during the next cycle. Over time the team becomes both more productive and generally happier as there is less friction and they are able to deliver more.</p>
<ul>
<li>To do Scrum well you need to adapt it to suit your own organisation, team and project or product you are working on</li>
<li>To do Scrum well you will need to continously evaluate and improve on your processes</li>
</ul>
<p>Even though Scrum was originally intended for managing software development projects it can be applied to any number and types of project as a general apporach to project management. </p>
<h3>Basic principles of  Agile and Scrum</h3>
<ul>
<li>Agile avoids &quot;Big design up front&quot; allowing for  decisions to be made at the last responsible moment  </li>
<li>Agile uses iterative cycles with shorter bursts of development known as &quot;Sprints&quot;</li>
<li>Agile emphasises real-time communication over written documents, preferably face-to-face.</li>
<li>Agile teams tend to sit together and include all the people needed to complete the project/product/software (cross-functional teams)</li>
<li>Agile focuses on delivering smaller  working features or system components as the primary measure of progress</li>
<li>Agile aims to release early and release often </li>
<li>Agile tends to produce significantly less written documentation, instead focuses on  self-documenting and easy to use systems. 
  </li>
</ul>
<h3>Why use  Agile?</h3>
<p>Market conditions and requirements change very  quickly especially in an online environment and the digital world in general. It is typically  very difficult to foresee all the vital requirements and obstacles at the beginning of a project. Client and/or internal requirements will inevitably evolve over time  and move further and further away from the initial specification so  even if you deliver the project to the exact specifications given it  will not succeed or meet customer, client or market expectations. When using Waterfall or similar  methodologies the core requirements will have changed even before the  planning and documentation phases are complete and shift even more during the duration of the project. Agile allows you to make decisions at the last responsible moment  and continuously adjust the direction of the project to ensure you meet  changing requirements. </p>
<h2>Scrum explained in less than 10 minutes</h2>
<p>For a quick introduction to the Scrum process check out this video by Hamid Shojaee (<a target="_blank" href="http://www.axosoft.com/">Axosoft.com</a>). It&#8217;s short, concise and quite entertaining. Not everything is explained in detail but it is a good introduction and covers a lot of ground in just a few minutes. </p>
<p><object width="500" height="281"><param name="movie" value="http://www.youtube.com/v/Q5k7a9YEoUI?version=3"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/Q5k7a9YEoUI?version=3" type="application/x-shockwave-flash" width="500" height="281" allowscriptaccess="always" allowfullscreen="true"></embed></object> </p>
<h2>Agile Values and Principles </h2>
<h3>Manifesto for Agile Development &#8211; Values</h3>
<blockquote cite="http://agilemanifesto.org">
<p>We are uncovering better ways of developing  software by doing it and helping others do it. </p>
<p>Through this work we have come to value:</p>
<ul>
<li><strong>Individuals and interactions</strong> over   processes and tools</li>
<li><strong> Working software</strong> over comprehensive documentation</li>
<li><strong> Customer   collaboration</strong> over contract negotiation</li>
<li><strong> Responding to change</strong> over following a   plan
    </li>
</ul>
<p> That is, while there is value in the items on  the right, we value the   items on the left more.</p>
<table cellpadding="15">
<tbody>
<tr valign="top" align="center">
<td> Kent Beck<br />
          Mike Beedle<br />
          Arie van Bennekum<br />
          Alistair Cockburn<br />
          Ward Cunningham<br />
          Martin Fowler</td>
<td> James Grenning<br />
          Jim Highsmith<br />
          Andrew Hunt<br />
          Ron Jeffries<br />
          Jon Kern<br />
          Brian Marick</td>
<td> Robert C. Martin<br />
          Steve Mellor<br />
          Ken Schwaber<br />
          Jeff Sutherland<br />
          Dave Thom</td>
</tr>
</tbody>
</table>
</blockquote>
<h3>Principles behind the Agile Manifesto</h3>
<blockquote cite="http://agilemanifesto.org/principles.html">
<p><em>We follow these principles:</em></p>
<ul>
<li> Our highest priority is to satisfy the customer  through early and continuous delivery of valuable software. </li>
<li> Welcome changing requirements, even late in development. Agile processes harness change for the customer&#8217;s competitive advantage. </li>
<li> Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. </li>
<li> Business people and developers must work together daily throughout the project. </li>
<li> Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. </li>
<li> The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. </li>
<li> Working software is the primary measure of progress. </li>
<li> Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. </li>
<li> Continuous attention to technical excellence and good design enhances agility. </li>
<li> Simplicity&#8211;the art of maximizing the amount of work not done&#8211;is essential. </li>
<li> The best architectures, requirements, and designs emerge from self-organizing teams. </li>
<li> At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. </li>
</ul>
</blockquote>
<h2>Summary</h2>
<p>I&#8217;ve been working  with Agile and Scrum development for almost 5 years now. During that time  I&#8217;ve had the privilege of experiencing Scrum from the perspective of all the core roles initially as a Product Owner, the primary designer in Scrum Team and most recently Lead Designer and Scrum Master in a Web Development Team. While there&#8217;s been some  challenges along the way I couldn&#8217;t imagine going back to using a different development process. Whether you&#8217;re looking to change development methods, are fed up with Waterfall or you&#8217;re just getting started I recommend you look into Agile and Scrum. </p>
<p>Do you have any experiences with Agile Development? Share your war stories in the comments below. </p>
]]></content:encoded>
			<wfw:commentRss>http://lifeonlars.com/scrum-agile/introduction-to-agile-development-and-scrum/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

