<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7349263192441880293</id><updated>2011-04-22T04:25:25.126+02:00</updated><category term='NUnit'/><category term='Task Switching'/><category term='ClearQuest'/><category term='Wastes'/><category term='tools'/><category term='retrospective'/><category term='Clear'/><category term='lean and agile'/><category term='CC'/><category term='continuous'/><category term='Review'/><category term='continous integration'/><category term='Extra Processes'/><category term='Waiting'/><category term='Motion'/><category term='Danube'/><category term='Seven'/><category term='sprint'/><category term='software development'/><category term='Code'/><category term='integration'/><category term='scrum'/><category term='FxCop'/><category term='kanban'/><category term='Case'/><category term='Extra Features'/><category term='Partially done work'/><category term='Defects'/><category term='Quest'/><category term='ClearCase'/><category term='ScrumWorks'/><category term='Cruise Control'/><title type='text'>Lean and Agile at Sony Ericsson</title><subtitle type='html'>The purpose of this blog is to share experiences about and discuss how we work with lean and agile software development for internal tools development within Sony Ericsson Mobile Communications in Lund, Sweden</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://aenyberg.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7349263192441880293/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://aenyberg.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Anders Nyberg</name><uri>http://www.blogger.com/profile/16713638242155335117</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_A57CnijGTwM/SNydOfOGuJI/AAAAAAAAAbU/8ML6NR6TWHk/S220/n587356628_5991.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7349263192441880293.post-6201808933128664953</id><published>2008-12-07T20:47:00.008+01:00</published><updated>2009-01-20T16:42:54.849+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lean and agile'/><category scheme='http://www.blogger.com/atom/ns#' term='kanban'/><category scheme='http://www.blogger.com/atom/ns#' term='software development'/><category scheme='http://www.blogger.com/atom/ns#' term='scrum'/><title type='text'>Combining Kanban and Scrum</title><content type='html'>&lt;div align="left"&gt;&lt;strong&gt;Background&lt;/strong&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align="left"&gt;Some time ago the organization that my section belongs to was re-organized. We lost some resources and got some new ones. We also took over the ownership of a big internal tool that was previously belonging to another section. The other section had not been working according to agile and lean principles before.&lt;br /&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;div align="left"&gt;We created two new teams. One was responsible for the new big system and the other team for the big test automation system that my section was managing before. We created the team so they both included some people that was used to working according to Scrum from before the re-organization. &lt;/div&gt;&lt;div align="left"&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;strong&gt;Initial cleanup&lt;/strong&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;/div&gt;&lt;div align="left"&gt;Although we had been working to Scrum before we still had a huge backlog of old issues in our defect management system DMS. The new system also had a big amount of work in progress in the form of DMS issues. In total we had more than 600 issues than were not closed. The majority of them were in the first “submitted” state but we also had a lot in other states such as “postponed”, “rejected”, “investigating” etc. Our first priority was to clean up this into a more manageable amount. Doing this by Scrum would take a long time, so we decided to try a Kanban approach. We also felt that all the planning and time estimation used in Scrum would be a big waste in this case, since no one was interested in how long it would take. It was task that simply needed to be done. &lt;/div&gt;&lt;div align="center"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="left"&gt;We divided a whiteboard in the different states an issue can have in DMS. We created one whiteboard for each team. We then printed out all the issues through Excel as small paper slips. The slip only contained the ID, title and state of the issue. We then put all these slips into an unsorted queue in a box. We took 50 white board magnets for each whiteboard that we used as kanbans. We took the first 50 issues and put them on the board in the corresponding state. Then we got our hands dirty and started working. The only goal was to get the issues on the board to the closed state so we could free a kanban and put up a new item from the queue on the whiteboard. &lt;/div&gt;&lt;div align="left"&gt;&lt;/div&gt;&lt;div align="left"&gt;We continued with lean and agile principles such as daily morning meetings, self organizing teams etc. The product owners were also heavily involved during this work, providing feedback regarding importance of issues etc.&lt;br /&gt;It turned out that a lot of issues could be closed without fixing them. A lot of the submitters had long since left the company, the issue was connected to a project closed a long time ago, the issues was obviously not important, the issues was already fixed but not yet verified etc.&lt;br /&gt;In the closed box we regularly stapled the slips representing closed issues into bunches of ten. We then made small packets of 50 slips of these bunches of ten. There was an immediate satisfaction when physically closing the issues by bunching them together and seeing the number of closed issues constantly growing.&lt;br /&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;br /&gt;&lt;br /&gt;The speed was amazingly fast. In six days we were down to 280 open issues. It felt like we had closed the majority of the no-brainer issues and it was time to really start prioritizing and reducing the amount of work in progress. It was time for the product owners to really make an effort. We divided the issues into our two main systems (let’s call them A and B) and a third group for our other small systems (that we will refer to as C). System A had 76 issues, B had 115 and C had 19. The product owner for A should reduce them to 30 issues, the product owner for B to 40 and I as a section manager should reduce the C issues to 10. The deadline was two days, so the only way of reducing was by prioritizing and closing non-important issues without fixing them. Basically telling the submitters that there issues were not important and never would be fixed.&lt;br /&gt;&lt;br /&gt;The result of this cleanup was amazing. The two new teams started to work together very quickly as self organizing teams. We went from more than 600 to 80 issues in approximately two weeks. We fixed some of them but the majority was simply rejected and closed. The most amazing part was that we only got 2 customer complaints about closing their issues. This is a very good indication that our huge backlog actually was nothing but rubbish, and that we did a good job identifying the important issues and closing the rest.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Selecting between Kanban or Scrum&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Excited by the speed and result of our Kanban cleanup effort I was ready to skip Scrum and start using Kanban fully for our development. Most of our work is maintenance so I thought it was a good idea. My teams and product owners didn’t agree and the developers working with Scrum previously was not keen at all on skipping Scrum. The main reasons were;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="left"&gt;The teams really appreciated the iterative analysis and discussions for each issue. All doubts and uncertainties had been settled once the issues had gone through poker planning and sprint planning and when the developer started working with the task in the sprint they knew exactly what to do. They felt the iterative group analysis was lost with the kanban approach.&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;The majority of the team members appreciated the time box and deadline in a Sprint. They felt that having a manageable work package that should be delivered towards a clear deadline made them perform better.&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;The product owners liked the fact that they only had to spend one or two intensive days with the teams during poker planning and sprint planning and that the team then knew what to do and could work more independently. The product owners felt that the kanban approach made it necessary for the team to interrupt them constantly with ad-hoc questions for each issue.&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Since the main idea with agile and lean development is that I as manager have full confidence that the team themselves know how to work in the most efficient way we decided to continue with Scrum. The only problem was that I wasn’t ready to let go of Kanban easily since I had seen how it really solved the problem with issues ending up in buffers in different postpone state, investigating state etc. I really liked the idea of having all non-closed issues on whiteboard where everyone could see them.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Combining Kanban and Scrum&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The solution we found was to combine the two techniques. We use Kanban in order to control the value chain of our issues from submitted to closed. The team uses Scrum to organize their work once the issues are ready to be implemented. In detail it means that we have the following states in our Kanban system:&lt;br /&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Submitted: Once an issues is put into our DMS system it gets the submitted state. This is the same as being in the Scrum backlog. The product owner prioritizes all the issues in the submitted state and might mix between DMS issues or other items that are supposed to enter the next sprint. We only use Kanban for the DMS issues. The rest is handled by Scrum.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Assigned: The issue gets the assigned state once they are in a sprint.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Test OK: When the issue fulfills the “Software DONE” criteria it gets the “Test OK” state.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Integrated: Means that the issue has been released in an official version of the system. It is now up to the submitter to verify that the fix is according to their whishes.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Verified. An issue ends up in this state when the submitter has verified it. We then close it.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;There are also two additional “side-track” states.&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Investigating: If the product owner needs more information from the submitter it is returned in the investigating state.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Rejected: If the product owner founds the issue irrelevant or erroneous it ends up in the rejected state and gets closed after a couple of days.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;All the states have a maximal number of allowed issues, including the submitted state. If someone submits more issues the product owner needs to start to prioritize and reject. This makes sure that the amount of work in progress is manageable. Since the Integrated state has maximal number of issues that are almost similar to the Test OK state it and assigned state it means that we can’t start a new sprint if there are issues from the previous sprint that still haven’t been verified by the submitters. This guarantees that we don’t flood the organization with more fixes than they can assimilate. The rejected state doesn’t have a maximal number. The issues are instead closed after five days if the submitter doesn’t press the “Disagree” button in our issue management system.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The maximal number of issues is higher than in a pure kanban system (for example 20 for the submitted state and 15 for the assigned state) and the pace is slower, since the pace represents the sprint time.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;We feel that this system combines the advantages of Scrum with the control mechanisms of Kanban that makes sure that the issues are really converted into business benefits. Before using Kanban on top of Scrum we had a tendency to only implement the issues and then forgetting to make sure that they were really deployed, verified by the submitter etc. Our combined system also makes sure that our backlog doesn’t grow out of control again. Basically the system helps us to avoid ending up with 600 junk issues again.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Handling external dependencies&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;One of our systems uses resources that are not a part of the team. We created separate states in their kanban flow for each of these external resources in order to make sure that the tasks doesn’t get stuck there. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;strong&gt;Other positive side effects&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Our support team got a bit jealous and started to use some of the lean and agile principles as well. They are not using kanban or Scrum but they are having daily status meetings and a whiteboard with ongoing tasks, difficult support issues that haven’t been solved yet etc.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Conclusions&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Using a Kanban approach to clean up old messes is really efficient. It can be used for almost anything and the approach to draw up the flow of the issues to handled, printing out each issue as a paper slip and then using white board magnets as kanbans worked really well. Combining this with other good lean and agile principles such as self organizing teams, kaizen activites and daily short status meetings worked very well. It can be used for clean up any kind of old and messed up backlog.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Combining Kanban and Scrum gives us the best of two worlds. Scrum helps the teams to work in an effective way and deliver real business value and kanban helps the product owner and the rest of the organization to control the flow through the value chain to make sure that what the team has developed is really being used. &lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7349263192441880293-6201808933128664953?l=aenyberg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aenyberg.blogspot.com/feeds/6201808933128664953/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7349263192441880293&amp;postID=6201808933128664953' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7349263192441880293/posts/default/6201808933128664953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7349263192441880293/posts/default/6201808933128664953'/><link rel='alternate' type='text/html' href='http://aenyberg.blogspot.com/2008/12/combining-kanban-and-scrum.html' title='Combining Kanban and Scrum'/><author><name>Anders Nyberg</name><uri>http://www.blogger.com/profile/16713638242155335117</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_A57CnijGTwM/SNydOfOGuJI/AAAAAAAAAbU/8ML6NR6TWHk/S220/n587356628_5991.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7349263192441880293.post-3201129210687196807</id><published>2008-10-10T09:47:00.013+02:00</published><updated>2008-10-10T11:19:46.633+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Task Switching'/><category scheme='http://www.blogger.com/atom/ns#' term='Partially done work'/><category scheme='http://www.blogger.com/atom/ns#' term='Seven'/><category scheme='http://www.blogger.com/atom/ns#' term='Motion'/><category scheme='http://www.blogger.com/atom/ns#' term='Extra Features'/><category scheme='http://www.blogger.com/atom/ns#' term='Defects'/><category scheme='http://www.blogger.com/atom/ns#' term='Waiting'/><category scheme='http://www.blogger.com/atom/ns#' term='Extra Processes'/><category scheme='http://www.blogger.com/atom/ns#' term='Wastes'/><title type='text'>The seven wastes</title><content type='html'>After having read the book "&lt;a href="http://www.amazon.com/Lean-Software-Development-Agile-Toolkit/dp/0321150783"&gt;Lean Software Development, an Agile Toolkit&lt;/a&gt;" I decided to spend our following section meetings on discussing each waste and finding out how we could reduce them.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;Partially done work &lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Our by far biggest heap of partially done work is our big backlog of not completed &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;DMS&lt;/span&gt;&lt;/span&gt; issues. (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;DMS&lt;/span&gt;&lt;/span&gt; is Sony Ericsson's defect management system). We currently have 324 not closed issues for the tools that we are responsible for. We will try reduce that heavily, hopefully by a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;kanban&lt;/span&gt;&lt;/span&gt; approach similar to what David J. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Andersson&lt;/span&gt;&lt;/span&gt; &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_4"&gt;describes&lt;/span&gt; in his &lt;a href="http://www.agilemanagement.net/Articles/Weblog/blog.html"&gt;blog&lt;/a&gt;, although I think that we will try to combine it with our normal way of working with Scrum.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;Extra process&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;By using Scrum for a long time we actually don't have a lot of extra processes. The team came to the conclusion that what we had was pretty &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_5"&gt;necessary&lt;/span&gt;. We have some improvement &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_6"&gt;possibilities&lt;/span&gt; in the following areas:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Cleanup of our intranet pages. They have some irrelevant and out-of-date processes described.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Remove our script delivery process. Our group previously had the &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_7"&gt;responsibility&lt;/span&gt; to handle configuration management for test scripts used by on of our tools, but that &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_8"&gt;responsibility&lt;/span&gt; has now been moved to our different test teams, so this process is totally redundant.&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;Extra features&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;We have a history and culture of developing to much nice-to-have features. We will try to solve that by including earlier customer feedback a lot sooner by &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_9"&gt;mock ups&lt;/span&gt;, prototyping, workshops together with the end-users etc.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Task Switching&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;We found the following time consuming task switching:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Part time scrum master. Our Scrum Master also takes part in one development team.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Mixed Sprints. We sometimes have sprints with mixed tools and goals since we have many small tools.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Ad &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;hoc&lt;/span&gt;&lt;/span&gt; tasks with high priority, for example support issues. Our development team handles the support mailbox. Although we plan sprint time for it this still means task switching.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Helping c&lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_11"&gt;&lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_5"&gt;colleagues&lt;/span&gt;&lt;/span&gt; &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Meetings&lt;/li&gt;&lt;br /&gt;&lt;li&gt;E-mails&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Suggested solutions were:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Try to batch your questions to &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_12"&gt;colleagues&lt;/span&gt;. Are the questions really &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;&lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_6"&gt;necessary&lt;/span&gt;&lt;/span&gt;? Can I batch them into one short and effective 10 min meeting instead of disturbing my &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_14"&gt;colleague&lt;/span&gt; every 30 second? Observe what the &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_15"&gt;colleague&lt;/span&gt; is doing before asking. If the &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_16"&gt;headphones&lt;/span&gt; are on and his fingers are hammering away on the keyboard he probably isn't in the mood to answer a question right now.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Dare to say no when someone asks you "Can you answer a question?" or "Do you have two minutes?"&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Try to collect meetings to specific days and plan them back to back if possible.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Don't check your e-mails every 10:&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;th&lt;/span&gt;&lt;/span&gt; minute. Disable stupid envelopes or other indications &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;Motion &amp;amp; Handover&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;No one considered this a real problem since we all site close together in an open office space with a lot of communication all the time.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;Waiting &amp;amp; Delays&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;We identified a lot of waiting, but we focused on what we considered the two most important ones;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;End of sprint. In the end of a sprint there is often a small amount of tasks left, and sometimes there are no suitable tasks for everyone. The tasks might be:&lt;br /&gt;&lt;br /&gt;1. Connected&lt;br /&gt;2. Competence/person dependent&lt;br /&gt;&lt;br /&gt;The solutions we found out were:&lt;br /&gt;&lt;br /&gt;- &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_18"&gt;Awareness&lt;/span&gt; of the problem and a change of mindset. Make sure that the critical bottleneck tasks get finished as quick as possible instead of waiting. Help the &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_19"&gt;colleague&lt;/span&gt; in every possible way, even if that includes buying him lunch and &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_20"&gt;bringing&lt;/span&gt; it to his desk&lt;br /&gt;- Planning. Start each sprint with a general planning during which the team identifies bottlenecks and dependencies and plans for them in order to prevent waiting.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Waiting for others to check in files. The solutions could be:&lt;br /&gt;&lt;br /&gt;1. Communication&lt;br /&gt;2. Planning&lt;br /&gt;3. Pair programming&lt;br /&gt;4. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;Un&lt;/span&gt;&lt;/span&gt;-reserved checkout for small fixes&lt;br /&gt;5. Check in skeletons/empty files early&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Defects&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;We considered that we already have come a long way here. Our work with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;FxCop&lt;/span&gt;&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;NDepend&lt;/span&gt;&lt;/span&gt;, Code Review, &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_24"&gt;Continuous&lt;/span&gt; Integration, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;ReSharper&lt;/span&gt;&lt;/span&gt; and Unit Tests has really increased the quality of what we deliver.&lt;br /&gt;&lt;br /&gt;We should also start to perform root cause analysis (5 whys) on 2-3 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;DMS&lt;/span&gt;&lt;/span&gt; items or other defects each sprint retrospective. How did these errors occur and how could we have prevented them?&lt;br /&gt;&lt;br /&gt;We should also start to with a big-red-button mentality. If any problems or defects are found during a sprint the team should not continue their work until the problem has been solved.&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7349263192441880293-3201129210687196807?l=aenyberg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aenyberg.blogspot.com/feeds/3201129210687196807/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7349263192441880293&amp;postID=3201129210687196807' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7349263192441880293/posts/default/3201129210687196807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7349263192441880293/posts/default/3201129210687196807'/><link rel='alternate' type='text/html' href='http://aenyberg.blogspot.com/2008/10/seven-wastes.html' title='The seven wastes'/><author><name>Anders Nyberg</name><uri>http://www.blogger.com/profile/16713638242155335117</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_A57CnijGTwM/SNydOfOGuJI/AAAAAAAAAbU/8ML6NR6TWHk/S220/n587356628_5991.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7349263192441880293.post-5668072955056526825</id><published>2008-10-03T14:52:00.009+02:00</published><updated>2008-10-03T15:22:23.717+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Review'/><category scheme='http://www.blogger.com/atom/ns#' term='integration'/><category scheme='http://www.blogger.com/atom/ns#' term='FxCop'/><category scheme='http://www.blogger.com/atom/ns#' term='retrospective'/><category scheme='http://www.blogger.com/atom/ns#' term='sprint'/><category scheme='http://www.blogger.com/atom/ns#' term='continuous'/><category scheme='http://www.blogger.com/atom/ns#' term='scrum'/><category scheme='http://www.blogger.com/atom/ns#' term='Code'/><title type='text'>Introducing FxCop into existing systems</title><content type='html'>&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Why code review?&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I consider code review one of the most cost effective quality increases available for your code. It is easy, cheap and increases the communication within the team as well as each team members knowledge about other parts of the system. It also gives a feeling of joint &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;responsibility&lt;/span&gt; of the code and creates a lot of creative and good conflicts between the developers.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The problem is that the simple code review, such as controlling that everyone follows the coding guideline, writes correct headers for the file etc. is boring, &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;repetitive&lt;/span&gt; and not a task suited for an &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;intelligent&lt;/span&gt; human being. Having a completely automated code review is every developers dream, especially if they have a manager like me forcing them to do code review. It would allow them to use their intelligence to focus on reviewing the design, functionality and architecture of the code, instead of the syntax, naming conventions etc.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;Introducing &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;FxCop&lt;/span&gt; in existing systems&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;We decided to use &lt;a href="http://en.wikipedia.org/wiki/FxCop"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;FxCop&lt;/span&gt;&lt;/a&gt; for our automated code review because it is free and you have the possibility to write your own custom rules. We were facing the same problem as many development organizations, that is a number of old and already existing systems in which we would have to spend a couple of thousand man-years fixing all the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;FxCop&lt;/span&gt; rules violations if we would turn on all the rules. That would hardly add any value for our customers.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;We decided to make a review of all the existing &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;FxCop&lt;/span&gt; rules in order to select the ones that we found applicable for our systems. We felt that we could skip a lot of them, especially a lot of the security rules since we write systems that are only used within the Sony &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Ericsson&lt;/span&gt; Intranet. We also defined some custom rules that we wanted to create, such as naming &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_8"&gt;convention&lt;/span&gt; rules. We wanted to do this for two reasons; getting rid of the most repetitive naming convention checks during code review and to get knowledge about how to write custom rules.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;We then created a list of all these rules and made a plan to turn them on, a couple at a time, for each sprint. We felt that would give a good trade-off between increasing the code quality without affecting the value-add for our customers too much. It also fit very well into our &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_9"&gt;continuous&lt;/span&gt; integration concept, since we could use a copy of the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;FxCop&lt;/span&gt; configuration file for our different systems, having all the rules already defined, only turning them on a couple at a time.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Turning on rules in systems currently not under development&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Another problem we faced was how to handle systems that was not currently under development, but never the less were part of our &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_11"&gt;continuous&lt;/span&gt; integration setup. We didn't want to spend time on messing around with working code just to fix &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;FxCop&lt;/span&gt; violations if no other work was supposed to be done on the tools, but on the other hand we didn't want to get mismatches between the quality levels of our different systems, meaning we didn't want to have a set of well maintained up-to-date systems that didn't violate &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;FxCop&lt;/span&gt; rules and another set of old shabby systems that never been submitted to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;FxCop&lt;/span&gt;. The solution we found was;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Each time a rule is turned on as a part of a sprint of an active system, the rule is also turned on temporarily for all the other systems in order to see how many violations that rule would cause in the in-active system.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;An error report is submitted for that system in our issue &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_15"&gt;management&lt;/span&gt; system (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;DMS&lt;/span&gt;) just stating the rule and how many violations it caused.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;As soon as any development is being done on one of the in-active systems the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;FxCop&lt;/span&gt; issues for that system are fixed as a part of that sprint.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;p&gt;This solution makes it possible to plan for the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;FxCop&lt;/span&gt; rule fixing as a part of the sprint and we get a &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_19"&gt;continuous&lt;/span&gt; quality improvement for all our systems.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;FxCop&lt;/span&gt; rules for new systems&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Just recently we had the opportunity to start from scratch with a totally new system, which is not a very common situation for us. We often spend our time on &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_21"&gt;maintaining&lt;/span&gt; old already existing systems. We were all very exited about the possibility to try our new agile way of working from scratch, but we found some interesting &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_22"&gt;surprises&lt;/span&gt;. Our initial idea was to be very rigid and do full &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;FxCop&lt;/span&gt;, unit test and &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_24"&gt;continuous&lt;/span&gt; integration from the very start, but it turned out to be very slow and troublesome for the team. In the early stages, when they were doing a lot of prototyping, deleting files, creating projects etc. the &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_25"&gt;continuous&lt;/span&gt; integration server was screaming constantly. If you have read my previous blog postings you already know that we have a speaker system connected to the server, so I really mean screaming. The developers ended up spending way to much time on fixing &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;FxCop&lt;/span&gt; violations for code that was never going to be used in the first place. During the sprint the developers decided to turn of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;FxCop&lt;/span&gt; during the first early trial-and-error phase of a new system. During the sprint retrospective they decided to make this a rule and always start brand new systems with a grace period without using &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;FxCop&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7349263192441880293-5668072955056526825?l=aenyberg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aenyberg.blogspot.com/feeds/5668072955056526825/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7349263192441880293&amp;postID=5668072955056526825' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7349263192441880293/posts/default/5668072955056526825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7349263192441880293/posts/default/5668072955056526825'/><link rel='alternate' type='text/html' href='http://aenyberg.blogspot.com/2008/10/introducing-fxcop-into-existing-systems.html' title='Introducing FxCop into existing systems'/><author><name>Anders Nyberg</name><uri>http://www.blogger.com/profile/16713638242155335117</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_A57CnijGTwM/SNydOfOGuJI/AAAAAAAAAbU/8ML6NR6TWHk/S220/n587356628_5991.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7349263192441880293.post-7944591604218662846</id><published>2008-10-02T15:56:00.007+02:00</published><updated>2009-01-20T16:44:41.518+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='continous integration'/><category scheme='http://www.blogger.com/atom/ns#' term='ClearQuest'/><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><category scheme='http://www.blogger.com/atom/ns#' term='ScrumWorks'/><category scheme='http://www.blogger.com/atom/ns#' term='Cruise Control'/><category scheme='http://www.blogger.com/atom/ns#' term='CC'/><category scheme='http://www.blogger.com/atom/ns#' term='NUnit'/><category scheme='http://www.blogger.com/atom/ns#' term='Quest'/><category scheme='http://www.blogger.com/atom/ns#' term='FxCop'/><category scheme='http://www.blogger.com/atom/ns#' term='Danube'/><category scheme='http://www.blogger.com/atom/ns#' term='lean and agile'/><category scheme='http://www.blogger.com/atom/ns#' term='ClearCase'/><category scheme='http://www.blogger.com/atom/ns#' term='Clear'/><category scheme='http://www.blogger.com/atom/ns#' term='Case'/><title type='text'>Lean and Agile Tools</title><content type='html'>This artikel is about what tools we use.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ScrumWorks Basic&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;We use &lt;a href="http://danube.com/scrumworks/basic"&gt;ScrumWorks Basic&lt;/a&gt; For our product backlog, sprintplanning and burndown charts. The burn down charts of our two teams are displayed on a central monitor.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;CruiseControlNet&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;We use CC.Net for our continous integration. We use continous integration for all our tools and projects. We currently have 12 projects that are being integrated and built continously.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ClearCase&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;We use clear case as our version handling tool, connected to CruiseControl.Net&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;DefectManagementSystem&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Sony Ericsson has their own defect management system, called DMS, which is based on ClearQuest.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;FxCop&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;We have a constantly increasing number of FxCop rules that are triggered by the continous integration.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;NUnit&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;We use NUnit for our unit testing. It is also triggered for each build by Cruise Control.&lt;br /&gt;&lt;br /&gt;All our tools are connected to a build server. A subwoofer is connected to the server and makes a horrifying scream in our office space whener a build, unit test or FxCop rule fails.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I will post other articles on this blog going through each tool more in detail and how we work with them&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7349263192441880293-7944591604218662846?l=aenyberg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aenyberg.blogspot.com/feeds/7944591604218662846/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7349263192441880293&amp;postID=7944591604218662846' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7349263192441880293/posts/default/7944591604218662846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7349263192441880293/posts/default/7944591604218662846'/><link rel='alternate' type='text/html' href='http://aenyberg.blogspot.com/2008/10/leand-and-agile-tools.html' title='Lean and Agile Tools'/><author><name>Anders Nyberg</name><uri>http://www.blogger.com/profile/16713638242155335117</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_A57CnijGTwM/SNydOfOGuJI/AAAAAAAAAbU/8ML6NR6TWHk/S220/n587356628_5991.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7349263192441880293.post-2202000492558972075</id><published>2008-09-26T10:40:00.005+02:00</published><updated>2008-09-26T10:45:23.173+02:00</updated><title type='text'>Scrum Failure modes vs. Five dysfunctions of a team</title><content type='html'>My ScrumMaster was attending a certified scrum master course at the same time as I was reading the book "&lt;a href="http://www.amazon.com/Five-Dysfunctions-Team-Leadership-Fable/dp/0787960756"&gt;Five dysfunctions of a team&lt;/a&gt;" as a part of a management development program I was attending. My ScrumMaster got a list of scrum failure modes during his course and I think that the connection to the five dysfunctions was very obvious, so I decided to make a picture that shows the connection&lt;br /&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5250247712683651682" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_A57CnijGTwM/SNygeklQ8mI/AAAAAAAAAb4/PAZoWLLwMQE/s400/FiveDysfunctionsVsScrumFailure.jpg" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;I interpret the fact that the two theories describes the same thing in two ways:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Failing with implementing Scrum is often due to other reasons then Scrum tools or processes. It is a lot more likely that it is due to other team/organization issues&lt;/li&gt;&lt;li&gt;Scrum it-self will never solve basic team dysfunctions. If there is no trust between the team members or a fear of confligt these issues will have to be addressed at the same time as Scrum is being brougth into the organization&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7349263192441880293-2202000492558972075?l=aenyberg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aenyberg.blogspot.com/feeds/2202000492558972075/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7349263192441880293&amp;postID=2202000492558972075' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7349263192441880293/posts/default/2202000492558972075'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7349263192441880293/posts/default/2202000492558972075'/><link rel='alternate' type='text/html' href='http://aenyberg.blogspot.com/2008/09/scrum-failure-modes-vs-five.html' title='Scrum Failure modes vs. Five dysfunctions of a team'/><author><name>Anders Nyberg</name><uri>http://www.blogger.com/profile/16713638242155335117</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_A57CnijGTwM/SNydOfOGuJI/AAAAAAAAAbU/8ML6NR6TWHk/S220/n587356628_5991.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_A57CnijGTwM/SNygeklQ8mI/AAAAAAAAAb4/PAZoWLLwMQE/s72-c/FiveDysfunctionsVsScrumFailure.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7349263192441880293.post-2427935878680482498</id><published>2008-09-25T10:44:00.002+02:00</published><updated>2008-09-25T10:53:19.947+02:00</updated><title type='text'>Introduction</title><content type='html'>This is the first post on this blog and the intention is to give a short introduction to me and why I'm writing this blog.&lt;br /&gt;&lt;br /&gt;I work as a section manager for a development section at Sony Ericsson. We develop internal tools used mainly by the software development organization within the company, such as test automation tools, test management systems and issue managament systems. We develop mainly using C# .NET.&lt;br /&gt;&lt;br /&gt;I got in touch with Scrum about one year ago and we have worked according to that ever since. We had our share of problems in the beginning, but sending our ScrumMaster to a course solved a lot of them. I have recently started to put more attention to the lean and agile parts of our development after having read the book "&lt;a href="http://books.google.com/books?hl=en&amp;amp;id=8o1eom6ifIMC&amp;amp;dq=poppendieck+lean+and+agile&amp;amp;printsec=frontcover&amp;amp;source=web&amp;amp;ots=m0WoDF76QM&amp;amp;sig=mvJV1Dju6foTz-Ctp_xASaDW02Y&amp;amp;sa=X&amp;amp;oi=book_result&amp;amp;resnum=4&amp;amp;ct=result"&gt;Lean and Agile Software Development&lt;/a&gt;". We are right know going through the seven wastes at each weekly section meeting.&lt;br /&gt;&lt;br /&gt;My intention with this blog is to share our progress and experiences as we become more effective and efficient in our work&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7349263192441880293-2427935878680482498?l=aenyberg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aenyberg.blogspot.com/feeds/2427935878680482498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7349263192441880293&amp;postID=2427935878680482498' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7349263192441880293/posts/default/2427935878680482498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7349263192441880293/posts/default/2427935878680482498'/><link rel='alternate' type='text/html' href='http://aenyberg.blogspot.com/2008/09/introduction.html' title='Introduction'/><author><name>Anders Nyberg</name><uri>http://www.blogger.com/profile/16713638242155335117</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_A57CnijGTwM/SNydOfOGuJI/AAAAAAAAAbU/8ML6NR6TWHk/S220/n587356628_5991.jpg'/></author><thr:total>0</thr:total></entry></feed>
