<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-4215962051788443675</atom:id><lastBuildDate>Fri, 26 Dec 2025 07:52:49 +0000</lastBuildDate><category>TDD</category><category>Random Thoughts</category><category>tools</category><category>Scrum</category><category>tips</category><category>Events</category><category>Agile practices</category><category>Unit Tests</category><category>AUT</category><category>Engineering Practices</category><category>Development Practices</category><category>Agile Values</category><category>Design</category><category>Course</category><category>ALT .NET</category><category>Agile Principles</category><category>Agile Practitioners IL</category><category>Conferences</category><category>Integration Tests</category><category>Self Improvment</category><category>Agile Management</category><category>Agile practices.</category><category>UAT</category><category>MSTest</category><category>Planning</category><category>ATDD</category><category>Feedback</category><category>Mocking</category><category>C++</category><category>Isolator</category><category>Typemock</category><category>Unit Test Patterns</category><category>ALM</category><category>Agile practices. Planning</category><category>Agile practices. Random Thoughts</category><category>Crap4Net</category><category>Frameworks.</category><category>Quality</category><category>Rapid-Dev</category><category>Terminology</category><category>XP</category><category>Coaches</category><category>Documentation</category><category>GUI Testing</category><category>IDE</category><category>Java</category><category>Metrics</category><category>NUnit</category><category>Research</category><category>Scrum. Random Thoughts</category><category>Source COntrol</category><category>Team System</category><category>bugs</category><category>outlook</category><category>rant</category><category>stories</category><category>AUT.</category><category>Add-in</category><category>Agile Testing</category><category>CC.Net</category><category>Craftsmanship</category><category>Frameworks</category><category>Framworks.</category><category>GoogleTest</category><category>PDC</category><category>Refactoring</category><category>Software Craftsmanship</category><category>Test management</category><category>WPF</category><category>Windows 7</category><title>IMistaken</title><description>Agile Software Development, Automated Unit Testing (TDD), .NET.</description><link>http://imistaken.blogspot.com/</link><managingEditor>noreply@blogger.com (Lior Friedman:)</managingEditor><generator>Blogger</generator><openSearch:totalResults>190</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4215962051788443675.post-3824476043363154908</guid><pubDate>Tue, 01 Apr 2014 04:16:00 +0000</pubDate><atom:updated>2014-03-31T21:39:04.717-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Random Thoughts</category><category domain="http://www.blogger.com/atom/ns#">Scrum</category><title>Scrum is not a process</title><description>One of the most common discussion that always seem to pop up&lt;img align=&quot;right&quot; src=&quot;http://www.quantumseolabs.com/wp-content/uploads/2013/12/free-online-tools-1024x668.jpg&quot; height=&quot;126&quot; style=&quot;display: inline; float: right; margin: 0px 0px 5px;&quot; width=&quot;190&quot; /&gt; again an again, is whether Scrum /Agile is good or bad. I don’t know why but in most cases it’s starts with a claim that Scrum is not&amp;nbsp; good since it … and then state a reason. (or with the claim that Agile is dead),for example &lt;br /&gt;
&lt;blockquote&gt;
Scrum is not a good process cause its not complete, it doesn’t define everything you need in order to succeed. &lt;/blockquote&gt;
or &lt;br /&gt;
&lt;blockquote&gt;
Scrum is not a good process. Team members are equal, each has his own set of skills and ability and treating them as equals will not work.&lt;/blockquote&gt;
And although in many cases those argument make some sort of logic, what most of them are missing is that scrum is NOT a process. Scrum is a framework.&lt;br /&gt;
Don’t get me wrong, I don’t believe in silver bullets, I don’t think that there is one solution (process) that fits them all. Each project context is different. The people involved are different, the technology varies, the business domain changes. While there are common patterns of issues and behaviors that we can look for, at the end each project is a unique, and therefore will need a different way of doing things in order to succeeds. That’s what I love about Scrum (and Kanban and XP), they are flexible enough to handle most of the diversity you can find.&lt;br /&gt;
&lt;h3&gt;
Scrum as a Framework&lt;/h3&gt;
Scrum is just a tool. But a tool for what? &lt;br /&gt;
Many people consider scrum as a process for software development. That is, Scrum is a tool used in project management that will help you t create a product at th end. but that’s not exactly right.&lt;br /&gt;
Scrum is actually a tool for creating other tools, more specifically Scrum is the tool which you use to create a your development process. The process that you end up with after you “applied” the Scrum tool, is the “tool” you use to build your product.&lt;br /&gt;
Confusing? Yes? lets try again.&lt;br /&gt;
Normally this means, that in the process of using Scrum you take the company, the people/team, the technology and the product. those are things you feed into the Scrum Machine (along with many other things) and at the end after some time you get one new development process. that process is what you use in order to manage you project.&lt;br /&gt;
&lt;h3&gt;
Scrum is not a Process&lt;/h3&gt;
so what’s the actual difference? why the fact that scrum is a framework important?&lt;br /&gt;
When I see teams taking Scrum as a process, what many of them fails to realize that that there a lot of hard work involved. They start with using Scrum and expect that all of there problems will go away. They read the book follow everything that is written there to the best of there ability and they expect that everything will be fine. What then happens is that Scrum does what it was meant to do, it starts by surfacing all the underlying dysfunctions that have been will hidden there. That’s what Scrum does best.&lt;br /&gt;
In order for a team to create a good working process, it must resolve its dysfunctions. The Scrum framework was designed with the sole purpose of exposing them in order for the team to face them and find a working solution.&lt;br /&gt;
In fact, this is exactly the stage in which many Scrum adoptions fails. Its seem to be really hard, When a team starts using Scrum all kind of problems starts. So clearly if Scrum is causing all these problems it might not be such a good idea. &lt;br /&gt;
In some case the team will try to stick a little longer with the Scrum book. that usually doesn’t help. in other cases the Team will revert back to old habits that seem to have worked in the past. that doesn’t work as well. they either ends up in their old process (and then the claim that Scrum has failed) or they end end up somewhere else that technically looks likes a scrum based process, but in essence is not (a mini waterfall is one example)&lt;br /&gt;
Scrum book has no solution for dealing with bad coding, it state nothing about how to create a good flexible architecture. it doesn’t give you an idea how to handle two team members that simply cant work together,….&lt;br /&gt;
&lt;h3&gt;
Knowing your tool&lt;/h3&gt;
There’s a reason why most scrum implementation fails. Like any tool, one need to learn and practice using it. No one expects that his holes will be perfect the first time he picks up a power drill. right?&lt;br /&gt;
Managing a software project is a little bit more complex then that, and still people read the scrum book which seems to be simple enough and expects everything to work. It doesn’t, Especially if you confuse your tools. Especially if you think that Scrum has all the answers, Especially if you think that since defines three roles those are the only roles that you ever need on a project. Especially if you think that the 4 ceremonies are all the meetings you will ever need. Especially if you think that a daily meeting is just a daily status report, Especially if you think that you can continue writing the software like you ever did and still deliver something every two or three weeks, and I can continue for ever like this.&lt;br /&gt;
Especially if you fail to realize that when using Scrum you will need to work hard in order to create a working process for your team.&lt;br /&gt;
so one more time&lt;br /&gt;
&lt;h1&gt;
SCRUM IS NOT A PROCESS&lt;/h1&gt;
&lt;br /&gt;
Are you also&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Feeling you can do a lot better? &lt;/li&gt;
&lt;li&gt;Thinking there’s much more to Scrum and Agile? &lt;/li&gt;
&lt;li&gt;Having a hard time Finding your place with the team? &lt;/li&gt;
&lt;li&gt;Doing things you are not sure you fully understand?&lt;/li&gt;
&lt;/ul&gt;
Then come join our &lt;a href=&quot;http://practical-agile.com/training/scrum-training-menu/scrum-master-workshop&quot;&gt;Product owner workshop&lt;/a&gt; on April the 30th.  &lt;br /&gt;
&lt;a href=&quot;https://www.eventbrite.com/e/advanced-scrum-master-tickets-10770997343&quot;&gt;&lt;img src=&quot;http://www.langhornesoccer.org/imgs/register_now_button_blue.jpg&quot; height=&quot;128&quot; style=&quot;display: block; float: none; margin: 0px auto 5px;&quot; width=&quot;232&quot; /&gt;&lt;/a&gt;  </description><link>http://imistaken.blogspot.com/2014/03/scrum-is-not-process.html</link><author>noreply@blogger.com (Lior Friedman:)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4215962051788443675.post-2136697283767336864</guid><pubDate>Wed, 12 Mar 2014 09:33:00 +0000</pubDate><atom:updated>2014-03-12T02:33:34.031-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Agile practices</category><category domain="http://www.blogger.com/atom/ns#">Scrum</category><title>So what is the Product Backlog?</title><description>Trying to define what is a product backlog is always a tricky business. One definition I use from time to time is:&lt;br /&gt;
&lt;blockquote&gt;
The product backlog is just another way of describing the system requirements and serves to describe the work needed to be done&lt;/blockquote&gt;
Which is a good way to simplify it to death. I had reasonable success using this definition with agile beginners, but clearly it doesn’t start to capture its entire meaning.&lt;br /&gt;
The more &lt;em&gt;official &lt;/em&gt;definition taken from the &lt;a href=&quot;https://www.scrum.org/Portals/0/Documents/Scrum%20Guides/2013/Scrum-Guide.pdf&quot;&gt;Scrum guide&lt;/a&gt; at Scrum.org is:&lt;br /&gt;
&lt;blockquote&gt;
The Product Backlog is an ordered list of everything that might be needed in the product and is the single source of requirements for any changes to be made to the product.&lt;/blockquote&gt;
Which is more complete, but still raises quite a few questions. for example:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;What is everything? (new features? bugs? technical enhancements?…)&lt;/li&gt;
&lt;li&gt;If it’s a single source does it contains all the details? (i.e. the requirement docs)&lt;/li&gt;
&lt;li&gt;what is actually written inside it (how do we write those requirements? use cases? stories? plain English?) &lt;/li&gt;
&lt;li&gt;Is it a business facing document (i.e. read by clients and user) or is it a technical document (i.e. serves the team who needs to understand what to build)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
So what is the Product Backlog&lt;/h3&gt;
when trying to answer this I go back to my first initial encounter with&amp;nbsp; agile. At that time what I actually read and first saw was the work done by Ron Jefferies and Kent beck on eXtreme Programming. and what I still recall today is the simple statement in which Kent Beck explained that the whole purpose of agile is to bring all involved parties to one table and make them work together in order to create great products. (unfortunately I cant seem to locate the exact quote). At that time I didn’t know what a Backlog was and I was just starting to understand all the various agile techniques. but that statement just stuck and for me it’s the best way to describe what is the main goal of the Product backlog.&lt;br /&gt;
Forget about stories, requirements prioritization, acceptance criteria and all other technicalities which are associated with the product backlog.&lt;br /&gt;
In essence, when done right, the product backlog is the one “thing” that makes all involved parties converge communicate and cooperate in order to make the product a success.&lt;br /&gt;
&lt;h3&gt;
The interface between the problem space and the solution space&lt;/h3&gt;
To take it down into more specific terms what I think that the product backlog main role in the project is to serve as an &lt;em&gt;interface&lt;/em&gt; between the business facing aspect of the product AKA the Problem space and the technical sides AKA the Solution space. On one side the Problem space is using the backlog in order to help it define the problem and describe on his terms WHAT its need to be done in order to help with the problem and on the other hand the Solution space uses the backlog in order to sort out the actual work. the team need the backlog in order to understand what is actually expected from him, what exactly he should build, what needs to be developed first. and most important use it to create a shared language he can use to talk to the business people and create a shared understanding.&lt;br /&gt;
And I’m guessing that this dual nature of the product backlog is what sometimes causes all these misunderstandings we see. here are some examples:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Every team occasionally needs to do things which are very technical in nature and involves a significant amount of effort. Being the single source of incoming work its not unreasonable that they will want to add it to the product backlog. However, these kind of things tends to be less understood by the business side, and suddenly there’s a conflict: “why do you add theses things that has no value to me?” asks the PO. “you know what, if you need it lets keep it there but please reduce the priority of it” which practically means ok I will let you put it there, but lets make sure that you actually wont work on it.&lt;/li&gt;
&lt;li&gt;Being the single source of work, a reasonable team working in short iterations will expect backlog items to be of a certain size (typically a few days worth of effort). However, splitting requirements in a sensible manner is really hard work. The “Problem space” natural tendency is keeping the items size much bigger. I’m guessing it makes things easier to manage on their side (and of course avoid the extra work of splitting those into small chunks) and again we have a conflict&lt;/li&gt;
&lt;li&gt;Not only that the Solution Space demands the things to be small, it also needs them to be FULLY prioritized. Even more hard work for the “Problem” side.&lt;/li&gt;
&lt;/ol&gt;
Now don’t get me wrong, there is no right and wrong here. All sides in all these situations are “right”. &lt;strong&gt;&lt;u&gt;IF&lt;/u&gt;&lt;/strong&gt; you look at it from there side.&amp;nbsp; &lt;br /&gt;
&lt;h3&gt;
Treating the Product backlog as an interface&lt;/h3&gt;
The moment all sides respect the fact that the product backlog is not only there to serve their needs alone, things tends to become much easier. When Technical people understands that the product backlog is the place in which business side describes the “Problem” and respect that. They find it much easier to keep it in a way which is understandable by the business side (avoiding the regular technical language they tend to use internally). When the business side respect the fact that the backlog is used to manage the actual work done. they find it reasonable to invest the effort needed in splitting, prioritization and other activities needed.&lt;br /&gt;
So don’t forget the Product Backlog is an interface. it’s the one thing that can be used to establish effective and productive communication by all sides of the business. Take advantage of it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if you are also &lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Having a hard time splitting user stories to shippable items?&lt;/li&gt;
&lt;li&gt;Struggling with predicting when will we reach the deadline?&lt;/li&gt;
&lt;li&gt;Having a hard time with prioritization of requirements?&lt;/li&gt;
&lt;li&gt;Does it seem that the team never understands what you mean?&lt;/li&gt;
&lt;/ul&gt;
Then come join our &lt;a href=&quot;http://practical-agile.com/training/scrum-training-menu/product-owner&quot;&gt;Product owner workshop&lt;/a&gt;.&lt;br /&gt;
&lt;a href=&quot;https://www.eventbrite.com/e/agile-product-owner-30-march-2014-tickets-10564405421?ref=ecal&quot;&gt;&lt;img src=&quot;http://www.langhornesoccer.org/imgs/register_now_button_blue.jpg&quot; height=&quot;128&quot; style=&quot;display: block; float: none; margin: 0px auto 5px;&quot; width=&quot;232&quot; /&gt;&lt;/a&gt;</description><link>http://imistaken.blogspot.com/2014/03/so-what-is-product-backlog.html</link><author>noreply@blogger.com (Lior Friedman:)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4215962051788443675.post-1157902858991640435</guid><pubDate>Fri, 11 Oct 2013 20:00:00 +0000</pubDate><atom:updated>2013-10-11T13:00:13.301-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Agile practices. Random Thoughts</category><category domain="http://www.blogger.com/atom/ns#">Design</category><category domain="http://www.blogger.com/atom/ns#">Engineering Practices</category><title>About Myths</title><description>&lt;img align=&quot;right&quot; height=&quot;176&quot; src=&quot;http://upload.wikimedia.org/wikipedia/commons/thumb/b/b2/Skaters_showing_newtons_third_law.svg/250px-Skaters_showing_newtons_third_law.svg.png&quot; style=&quot;display: inline; float: right; margin: 0px 0px 5px;&quot; width=&quot;209&quot; /&gt;&lt;br /&gt;
To every Myth there is always an equal destructive (Stupid) and opposite counter Myth:&lt;br /&gt;
&lt;br /&gt;
Here are some Examples&lt;br /&gt;
&lt;br /&gt;&lt;strong&gt;Myth&lt;/strong&gt;&lt;br /&gt;
&lt;blockquote&gt;
You do not need to design up front &lt;/blockquote&gt;
&lt;strong&gt;Counter Myth&lt;/strong&gt;&lt;br /&gt;
&lt;blockquote&gt;
Design is a one time effort which is best done before you start&lt;/blockquote&gt;
&lt;strong&gt;Reality&lt;/strong&gt; &lt;br /&gt;
You need to design some of your system up front and some of your system as you go. How much you need atg each stage depends upon your understanding of the problem, you technical skills &amp;amp; your system. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Myth&lt;/strong&gt;&lt;br /&gt;
&lt;blockquote&gt;
All user stories may be implemented independently from each other&lt;/blockquote&gt;
&lt;strong&gt;Counter Myth&lt;/strong&gt;&lt;br /&gt;
&lt;blockquote&gt;
We must analyze all the dependencies between all features in order to lay out our critical path&lt;/blockquote&gt;
&lt;strong&gt;Reality&lt;/strong&gt; &lt;br /&gt;
There will always be some dependencies between different user stories, however a lot of those can be eliminated with some effort invested during story slicing. Those which are left are usually obvious enough for a reasonable team to deal with. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Myth&lt;/strong&gt;&lt;br /&gt;
&lt;blockquote&gt;
you don&#39;t need architects.&lt;/blockquote&gt;
&lt;strong&gt;Counter Myth&lt;/strong&gt;&lt;br /&gt;
&lt;blockquote&gt;
A strong enough architect can design the system in such a way that anyone could implement it. &lt;/blockquote&gt;
or&lt;br /&gt;
&lt;blockquote&gt;
The architect doesn’t need to code&lt;/blockquote&gt;
Reality&lt;br /&gt;
Every team needs to have strong design skills, when the projects becomes big enough a dedicated person (aka the architect) to help with the communication of the overall design and helping making sure everyone stays on the same picture is really important. However, the architect in order to be effective, needs to be involved in the day to day programming issues and challenges the team encounters. And at the end it will be the programmers that will do the implementation and they will adapt it according to their understanding so you better have a strong team as well.</description><link>http://imistaken.blogspot.com/2013/10/about-myths.html</link><author>noreply@blogger.com (Lior Friedman:)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4215962051788443675.post-12048557169494302</guid><pubDate>Fri, 19 Jul 2013 11:50:00 +0000</pubDate><atom:updated>2013-07-19T04:50:05.094-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Agile Management</category><title>Creating a Mini-Waterfall</title><description>Some people refer to sprints as mini-waterfalls. Well that’s a mistake, sprint are &lt;a href=&quot;http://www.scrumalliance.org/articles/386-a-sprint-is-not-a-mini-waterfall&quot;&gt;not&lt;/a&gt; that.&amp;nbsp; But a mistake or not, doing a Mini-Waterfalls still seem to be a natural step for some people when they start with their Agile transformation. &lt;br /&gt;
So how do you create a mini-waterfall?&lt;br /&gt;
well its not very hard like anything else when you create a mini-X you start by taking the X for example:&lt;br /&gt;
&lt;img height=&quot;247&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg53-c_6lnAIK81iKMBPqSBIyqKctEYqY9o5z9Y4vj9zs22cYZ0S1gauaU-QIxobEx3iyDi_G6ZIfVdUxGnMlUmPvAXVTonSsw3l23CO63AjfvH4NTnZTiS7Ht9oWRsnZqIRzZXEtImAxSh/s1600/Dr_Evil.jpg&quot; width=&quot;476&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
and then you make the same thing just smaller. like this:&lt;br /&gt;
&lt;h3&gt;
&lt;img height=&quot;311&quot; src=&quot;http://www.phibetaiota.net/wp-content/uploads/2011/09/minimi.png&quot; width=&quot;326&quot; /&gt;&lt;/h3&gt;
see where this is going?&lt;br /&gt;
&lt;br /&gt;
I encountered several contexts in which a companies, after getting some basic knowledge about Agile, seem to think that they are already mostly Agile, and what left for them to do is just start working in short cycles. So in order to become “Agile”, they take their regular process as is and shrink it down to fit inside short time boxes (anywhere between a couple of weeks to a couple of months) and wait for all problems to disappear (well they just become agile didn’t they?)&lt;br /&gt;
&lt;h3&gt;
Is this bad?&lt;/h3&gt;
Well actually by itself no. Doing a mini-waterfall isn’t necessarily a bad idea.&lt;br /&gt;
on the Pros side we can say the following:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Mini-Waterfalls is some kind of an iterative process so you will get more feedback. &lt;/li&gt;
&lt;li&gt;When you work in a short time boxed iterations you will be forced to work in smaller batches. &lt;/li&gt;
&lt;li&gt;To support working in small batches you will need to get used to cut and slice the work into small things. &lt;/li&gt;
&lt;li&gt;and when you work in smaller batches, all kind of things will become visible. For example, your one week manual regression cycle is going to be a real problem. The fact that you only manage building a working version of your product once every three days might also be an issue… &lt;/li&gt;
&lt;/ol&gt;
So basically when you start doing a mini-waterfall you are taking one big step in the right direction&lt;br /&gt;
However, On the Cons side we should probably say that:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Mini-Waterfalls is some kind of an iterative cycle so you will get more feedback. &lt;/li&gt;
&lt;li&gt;Working in short iterations is just different than working in long cycles. &lt;/li&gt;
&lt;li&gt;If you don’t do the needed mind shift, working in mini waterfall is going to be very hard &lt;/li&gt;
&lt;li&gt;And if it gets hard enough , most likely you will stop doing it. &lt;/li&gt;
&lt;/ol&gt;
So basically doing a Mini-Waterfall process is not a steady state. Keeping it for long is extremely hard. When you a team starts working in short iterations things that were comfortably hidden become&amp;nbsp; visible and painful.&amp;nbsp; and the natural reaction to pain is to make it go sway. You can either fix the problems – maybe becoming more agile as you do, or you make sure to hide them again by reverting back to the older process for example.&lt;br /&gt;
&lt;h3&gt;
So when is it bad?&lt;/h3&gt;
Mini Waterfalls become bad when organizations confuses them with an agile processes. The difficulties of sustaining a mini waterfall along with this confusion, causes some companies to revert back and claim that Agile is bad. In fact I’ve participated in several emotional discussion with people that experienced exactly that. (BTW trying to go down the this was not agile road only seem to fuel the fire). &lt;br /&gt;
&lt;h3&gt;
Can it be good?&lt;/h3&gt;
Well I don’t know. However, I’m not sure that’s even an interesting question. Personally I would avoid a mini waterfall. If you try to become agile you should probably try doing something different. There are easier and less risky ways to start. trying Kanban might be a good alternative if you want to start at a familiar place.&lt;br /&gt;
&lt;h3&gt;
But we already are in a Mini Waterfall. Now What?&lt;/h3&gt;
First realize that by understanding the problem your are half way there.&amp;nbsp; Best option at this stage is to face reality heads on. Stop pretending you are Agile. You are not and its really not important at all. Accept the fact that the problems you see are naturally caused by trying to take a lengthy process (designed for long cycles) and squeeze it into&amp;nbsp; a very short time period (iterations). What’s actually crucial at this stage is to examine the pains and learn rom them.&amp;nbsp; Each and every pain is a place in which something new can be learnt, about your process, about your team about the context or maybe personally about yourself.&amp;nbsp; If you manage to locate the actual root cause there’s a good chance you can make real progress. Design small experiments with the goal of finding out what may be the cause of those pains. Try to test different things and see how they effect you team. Collaborate with other parties in the organization and see what they have to say. And always remember that a new process (yes even a mini waterfall) require a new way of thinking to make it work. Most likely old solutions wont solve these new problems.</description><link>http://imistaken.blogspot.com/2013/07/creating-mini-waterfall.html</link><author>noreply@blogger.com (Lior Friedman:)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg53-c_6lnAIK81iKMBPqSBIyqKctEYqY9o5z9Y4vj9zs22cYZ0S1gauaU-QIxobEx3iyDi_G6ZIfVdUxGnMlUmPvAXVTonSsw3l23CO63AjfvH4NTnZTiS7Ht9oWRsnZqIRzZXEtImAxSh/s72-c/Dr_Evil.jpg" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4215962051788443675.post-3567108726544755547</guid><pubDate>Thu, 27 Jun 2013 19:25:00 +0000</pubDate><atom:updated>2013-06-27T12:25:48.117-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Agile practices</category><category domain="http://www.blogger.com/atom/ns#">Engineering Practices</category><title>Can your team agree to this?</title><description>&lt;br /&gt;
&lt;img alt=&quot;The Refactoring Poster&quot; height=&quot;316&quot; src=&quot;http://fostnope.files.wordpress.com/2013/06/refactoring.png?w=538&amp;amp;h=413&quot; style=&quot;display: block; float: none; margin: 0px auto 5px;&quot; width=&quot;409&quot; /&gt;</description><link>http://imistaken.blogspot.com/2013/06/can-your-team-agree-to-this.html</link><author>noreply@blogger.com (Lior Friedman:)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4215962051788443675.post-3619732504456982943</guid><pubDate>Thu, 20 Jun 2013 18:44:00 +0000</pubDate><atom:updated>2013-06-20T11:45:50.341-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Agile Principles</category><category domain="http://www.blogger.com/atom/ns#">Agile Values</category><title>Do you think this guy is Agile?</title><description>&lt;img align=&quot;right&quot; height=&quot;156&quot; src=&quot;http://www.yifat.org.il/Sites/yifat/content/Images/%D7%A9%D7%95%D7%A0%D7%95%D7%AA/%D7%97%D7%99%D7%93%D7%94.jpg&quot; style=&quot;display: inline; float: right; margin: 0px 0px 5px;&quot; width=&quot;234&quot; /&gt;A few days ago I read a very interesting article in one of the the local news site. the site was covering a speech given by a key figure. I’ve taken out some parts which I found extremely familiar. And yes I deliberately have taken it out of context as well,&lt;br /&gt;
Try to see if you can guess who said this, what is his role, and in what context it was said:&lt;br /&gt;
The following was said at the start of his speech:&lt;br /&gt;
&lt;blockquote&gt;
When we ask ourselves what is the one thing that distinguishes successful human societies from failing ones. Answer is: the ability to change.&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;/blockquote&gt;
Later on I found this part:&lt;br /&gt;
&lt;blockquote&gt;
When this is in your core, when you know how change, the difficulties you are experiencing are only minor glitches. The world is becoming increasingly competitive, more and more flat and global, we know about ourselves what others do not know about us: no matter what happens, no matter what will be the circumstances, we will know to take out the best. Whatever problem we will face, we will&amp;nbsp; know - almost instinctively - how to turn it into an opportunity.&lt;/blockquote&gt;
Well to me this sound that the guy completely grok what Agile is all about.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And for those who doesn&#39;t &amp;nbsp;like to keep guessing.&lt;br /&gt;
This was said as part of a speech given By Yair Lapid, Israel current Minister of Finance. It was part of the speech given to him in a conference titled “Will tomorrow be better?” and in this talk he discussed changes our local economy will be facing in the upcoming years and about changes he is trying to make.</description><link>http://imistaken.blogspot.com/2013/06/do-you-think-this-guy-is-agile.html</link><author>noreply@blogger.com (Lior Friedman:)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4215962051788443675.post-2219542258081255978</guid><pubDate>Mon, 10 Jun 2013 18:29:00 +0000</pubDate><atom:updated>2013-06-10T11:30:17.388-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Agile Management</category><category domain="http://www.blogger.com/atom/ns#">Events</category><title>“Introduction to Agile Process Management” Slides</title><description>Had great fun last week at the &lt;a href=&quot;http://agilepractitioners2013.com/&quot;&gt;ALM&lt;/a&gt; user group meeting. Great audience with great questions and feedback, as well as meeting old and new faces. &lt;br /&gt;
For those who missed my presentation, and those who want to refresh their memory, here are the slides:&lt;br /&gt;
&lt;iframe frameborder=&quot;0&quot; height=&quot;400&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://www.slideshare.net/slideshow/embed_code/22760380&quot; width=&quot;476&quot;&gt;&lt;/iframe&gt;</description><link>http://imistaken.blogspot.com/2013/06/introduction-to-agile-process.html</link><author>noreply@blogger.com (Lior Friedman:)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4215962051788443675.post-4132861166352491322</guid><pubDate>Wed, 06 Mar 2013 13:08:00 +0000</pubDate><atom:updated>2013-03-06T05:08:25.050-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Agile practices</category><category domain="http://www.blogger.com/atom/ns#">ATDD</category><category domain="http://www.blogger.com/atom/ns#">Random Thoughts</category><category domain="http://www.blogger.com/atom/ns#">TDD</category><title>Must programmers know how to Test?</title><description>I was never asked before if a programmer should know how to test. The underlying assumption is that programmers know hoe to test their own work, and therefore are skilled at testing. Problem is that they are not. And the sad thing is that so far they have managed to get away with it. I’ve been a professional programmer(that is writing code for a living) for more than 10 years, in all the places I’ve worked my managers did ask me if I tested my work. And my answer was always “of course”.&amp;nbsp; But never was I actually challenged on that. No matter how many bugs were found in my code, no matter how much empirical proof there was that I did a bad job at testing. None of my technical managers ever told me, “please take this work back and test it again, and this time for real”, &lt;u&gt;&lt;strong&gt;ever&lt;/strong&gt;&lt;/u&gt;. And never have I seen it happen to any of the other programmer I worked with. I did get work back from time to time with claims that some of the functionality was missing, I did get a lot of bugs to fix. At times it was so bad that my “testing” activity usually only included making sure it compiled executed and didn’t crash on my machine. and that what I called testing.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Programmer who Cant test will become obsolete&lt;/h3&gt;
As automation gains more hold in our industry people start to expect much more from testing at the unit level. In my last work place doing test reviews was part of our on going process, in fact we probably invested more time in reviewing test code than actual production code. For us it was extremely important to make sure that written code was properly tested (verified) at the unit test level. I expect this is very common to all software teams doing TDD. And while I’m sure many of us just wait&amp;nbsp; for this weird TDD notion to go away. its my strong believe that it wont. on the contrary latest surveys suggest that as agile is gaining in our industry the necessary engineering practices are also &lt;br /&gt;
&lt;h3&gt;
Programmer – catch up on your testing skills&lt;/h3&gt;
if you as a programmer want to stay relevant in future markets, you should really start increasing their testing skills. Yes there is still time before testing skill will be listed as one of the mandatory skills in job posting. The growing need for writing automation at all levels, gives a definite advantage (at least in my book) to programmer that has some sort of formal knowledge or experience in testing. (and yes I will need to see some actual proof and will verify such claims during interviews). No I don’t think a programmer should be a professional tester as well (although that might help), but basic concepts of QA, properly designing test suites and understanding that there are more than just unit testing is something I would expect every self respecting programmer to know. In&amp;nbsp; my limited experience I have found that programmers that posses this knowledge and skills are just better programmers.&lt;br /&gt;
And if you want to know how to start here’s something you can try: &lt;a href=&quot;http://imistaken.blogspot.com/2011/08/starting-tdd-one-day-experiment.html&quot;&gt;STARTING TDD – ONE DAY EXPERIMENT&lt;/a&gt;&lt;br /&gt;
&lt;h4&gt;
Bottom line&lt;/h4&gt;
&lt;blockquote&gt;
As a &lt;u&gt;programmer&lt;/u&gt; you should want to &lt;u&gt;know how to properly test your work(at least at the unit level) &lt;/u&gt; ,in order to &lt;u&gt;decrease the time you will be looking for a new job&lt;/u&gt;&lt;/blockquote&gt;
</description><link>http://imistaken.blogspot.com/2013/03/must-programmers-know-how-to-test.html</link><author>noreply@blogger.com (Lior Friedman:)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4215962051788443675.post-708481353282184158</guid><pubDate>Wed, 27 Feb 2013 15:19:00 +0000</pubDate><atom:updated>2013-02-27T07:19:29.882-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Agile practices</category><category domain="http://www.blogger.com/atom/ns#">Agile Testing</category><category domain="http://www.blogger.com/atom/ns#">Random Thoughts</category><title>Must Testers know how to Program?</title><description>One of the most common question that rises when talking to testers in an Agile context is &lt;br /&gt;
“Does testers have to posses programming skills in an agile team?”&lt;br /&gt;
For a long time my answer to that was no, since testing includes vast number of activities which doesn’t require programming skill there will always be room for testers who cant program.&lt;br /&gt;
However I think that I was mistaken. these days I would expect anyone who claims the title of a professional tester to posses some level of programming skills.&amp;nbsp; &lt;br /&gt;
&lt;h3&gt;
Testers who cant program are obsolete.&lt;/h3&gt;
This fact can not longer be ignored.&amp;nbsp; As automation gains a firm hold in our industry a tester must be able to significantly contribute to all automation effort. And while certainly one can contribute to this effort without knowing how to program, the room for these is relatively limited.&lt;br /&gt;
Yes, even 10 or twenty years from now our industry will still have a large number of testers who cant program. The same way that even today there are still professional Cobol programmer or programmers who cant do object oriented programming.&amp;nbsp; But I would expect that this will be the minority &lt;br /&gt;
&lt;h3&gt;
Testers who cant program – CATCH UP&lt;/h3&gt;
If you want to stay valuable in the market, start learning the basic skills of programming today. no, I don’t think you will need to become an expert top notch developer (not that there’s nothing wrong with that). The actual skill level required in order to become a productive test automation engineer (i.e. significantly contribute to automation effort) is lower than that. But Unless you will start to aquire these skills soon you will find very hard to find new open positions. &lt;br /&gt;
Here’s an interesting &lt;a href=&quot;http://testobsessed.com/2010/10/testers-code/&quot;&gt;post&lt;/a&gt; that backup these claims with some concrete data. And while I don’t consider this in any way as scientific proof or even big enough to indicate anything with significant statistical confidence, it still suggest that&amp;nbsp;&amp;nbsp; ~80% of testing job posting indicated a programming skill as necessary. Also notice, this post was published as early as &lt;u&gt;&lt;strong&gt;2010.&lt;/strong&gt;&lt;/u&gt;&amp;nbsp; My personal observation of recent job ads, which is certainly skewed towards Agile culture, suggest that the percentage is even higher. &lt;br /&gt;
&lt;h4&gt;
Bottom line&lt;/h4&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
As a &lt;u&gt;tester&lt;/u&gt;&amp;nbsp;you should want to &lt;u&gt;know how to program in at least one major programming language&lt;/u&gt; ,in order to &lt;u&gt;decrease the time you will be looking for a new job&lt;/u&gt;.&lt;/blockquote&gt;
</description><link>http://imistaken.blogspot.com/2013/02/must-testers-know-how-to-program.html</link><author>noreply@blogger.com (Lior Friedman:)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4215962051788443675.post-3187611410232444070</guid><pubDate>Wed, 07 Nov 2012 15:23:00 +0000</pubDate><atom:updated>2012-11-07T07:23:06.791-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Agile Management</category><category domain="http://www.blogger.com/atom/ns#">Agile Practitioners IL</category><category domain="http://www.blogger.com/atom/ns#">Events</category><title>Agile Practitioners IL– Group meeting #11</title><description>On Monday we met again at &lt;a href=&quot;http://kontera.com/&quot;&gt;Kontera&lt;/a&gt; offices to hear &lt;a href=&quot;http://www.linkedin.com/in/nachimson&quot;&gt;Guy Nachimson&lt;/a&gt; talk about “How to help others take more responsibility”.&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipYH9X9xuNasOwow_xm4iiAwJmWyorKJK8mnImiqTqsbAVXrRafT7i1o7gh6t57g51iUvvdLmegykVHv1jVnfYE0NYQ9CAD594J17d2j3EKRvCYAgxncAydpAxYwM0WZF4dqMq1B2hSzA/s1600-h/DSC07296%25255B3%25255D.jpg&quot;&gt;&lt;img align=&quot;right&quot; alt=&quot;DSC07296&quot; border=&quot;0&quot; height=&quot;184&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvuJueRt5QHfiB_cdjmLwqB0JWZuBK6ukeMdvi9rjTPEy1o3NkyiyJLYp-zwchuh5DL3ONw40Tdl6Y8vKxR8nsaUruZsKVpv3t3uxtL6ZvBQdt7sboXhKm5wC19oMcqsUVoxrcVzTXurY/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; float: right; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;DSC07296&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
In the talk guy explained about a Christopher Avery&#39;s &lt;a href=&quot;http://www.christopheravery.com/responsibility-process&quot;&gt;Responsibility process&lt;/a&gt;. this model deals with how people react and behave when they encounter a problem they need to solve. The model deal with various states that describes how a person reacts:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Denial – First reaction is to ignore the problem. it didn’t really happen.&lt;/li&gt;
&lt;li&gt;Blame – when we cant ignore the problem we look for someone else to blame. “it wasn’t me it was XXX”&lt;/li&gt;
&lt;li&gt;Justify – when we finish blaming, we then start to look for justification on why this happens. (the situation forced us to do this, things just didn’t let us do something different,…)&lt;/li&gt;
&lt;li&gt;Shame – after we finish to justify our actions, we understand that it something we did and then we are a shamed that we did this and that&lt;/li&gt;
&lt;li&gt;Obligation – here we understand that something needs to be done, however we don’t do what we want to do but something we feel we must do.&lt;/li&gt;
&lt;li&gt;Responsibility – this is the state we want to be. here we take ownership of the problem and use our ability to deal with it and make things better &lt;/li&gt;
&lt;li&gt;QUIT – sometimes, before we assume responsibility&amp;nbsp; we choose to give up and just let go.&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;img src=&quot;http://www.christopheravery.com/images/img_resp_process.jpg&quot; style=&quot;display: block; float: none; margin-left: auto; margin-right: auto;&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
According to Christopher, this model is quite universal and there is no way skipping this stages, the trick is to recognize where you are and try as much as possible to pass through these stages as fast as possible in order to reach “Responsibility”.&lt;br /&gt;
&lt;br /&gt;
What did occur to me while hearing Guy describe the model, is that this model is not only applicable to individual, but can also describe organization culture. Personally, going over some of the companies I encountered, this model can be used to better describe how the organization as a whole is behaving. The easiest one to spot of course is the Blaming culture.&lt;br /&gt;
&lt;img align=&quot;right&quot; alt=&quot;DSC07299&quot; border=&quot;0&quot; height=&quot;244&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhp1KV-2aRIUdElhWmRzYEvuLyOs1-WyuMVqwSYxGJA4S5jl6ZlBJpGIQSFZSO9UjVnTMcvZ42mKxAn5lCAQI1VlUTngYnjA_nhmlhIWcXJkda52vaYZ4Q5gmYGOgqnrbDWSRGwkXcHvKA/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; float: right; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;DSC07299&quot; width=&quot;184&quot; /&gt;&lt;br /&gt;
We finished off the session by doing a nice exercise in which guy used a friendly competition to show how one can better spot where a person might be located in this model by listening to what people are saying. things like:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt; “but our group is only 3 people so we need more time” – justification, &lt;/li&gt;
&lt;li&gt;“We should have done XXX” – shame.&lt;/li&gt;
&lt;li&gt; “But we must do YYY” – obligation &lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All and all a very interesting session, I cant wait for &lt;a href=&quot;http://www.christopheravery.com/leading-agile-change-for-executives-workshop&quot;&gt;December 17th&lt;/a&gt; to hear Christopher Avery himself going in depth into the subject. Two hours is not long enough to really cover this subject </description><link>http://imistaken.blogspot.com/2012/11/agile-practitioners-il-group-meeting-11.html</link><author>noreply@blogger.com (Lior Friedman:)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvuJueRt5QHfiB_cdjmLwqB0JWZuBK6ukeMdvi9rjTPEy1o3NkyiyJLYp-zwchuh5DL3ONw40Tdl6Y8vKxR8nsaUruZsKVpv3t3uxtL6ZvBQdt7sboXhKm5wC19oMcqsUVoxrcVzTXurY/s72-c?imgmax=800" height="72" width="72"/><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4215962051788443675.post-4237534499290292134</guid><pubDate>Thu, 20 Sep 2012 14:30:00 +0000</pubDate><atom:updated>2012-09-20T07:30:46.758-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Agile Practitioners IL</category><category domain="http://www.blogger.com/atom/ns#">Events</category><title>Want to be a speaker at the upcoming Agile Practitioners Conference in Israel?</title><description>&lt;img src=&quot;http://agilepractitioners2013.com/wp-content/uploads/2012/06/conflogosmall.jpg&quot; style=&quot;display: block; float: none; margin-left: auto; margin-right: auto;&quot; /&gt;&lt;br /&gt;
I’m so pleased to tell you that we will be running the second Agile Practitioners conference at the end of January 2013. If you want to help us make this conference just as great, please help us gather the best content out there. Specifically, if you have a new idea, thought or experience to share &amp;nbsp; drop at :&lt;br /&gt;
&lt;a href=&quot;http://agilepractitioners2013.com/call-for-papers/&quot;&gt;http://agilepractitioners2013.com/call-for-papers/&lt;/a&gt;&lt;br /&gt;
and propose a session for the upcoming event.&lt;br /&gt;
&lt;br /&gt;
If you have any related question feel free to contact me directly – either by posting a question here or at my email: lior at practical-agile dot com.</description><link>http://imistaken.blogspot.com/2012/09/want-to-be-speaker-at-upcoming-agile.html</link><author>noreply@blogger.com (Lior Friedman:)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4215962051788443675.post-7278425972609595560</guid><pubDate>Sat, 07 Jul 2012 20:01:00 +0000</pubDate><atom:updated>2012-07-07T13:01:03.176-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Agile Values</category><title>Why should you become Agile</title><description>&lt;p&gt;One word:&lt;/p&gt;  &lt;p&gt;&lt;img style=&quot;margin: 0px auto 5px; display: block; float: none&quot; src=&quot;data:image/jpeg;base64,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&quot; /&gt;&lt;/p&gt;  &lt;p&gt;I believe that a developer work should be one filled with the joy of creation. When I started out to become a programmer I thought that it would be great. my work will be filled with:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;p&gt;Joy of creation when working on building a solution to other people problems&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;moments of joy when completing new things and releasing them to the market&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;moments of satisfaction from work well done&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;moments of eureka when I find great solution to difficult problems&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;moments of collaboration when I work with my team members to achieve a shared goal&lt;/p&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;a few years later I found out that:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;p&gt;its not fun when you finally get your product to the market realizing you just solved the wrong problem&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;Its annoying that whatever you are doing always seems to take longer then expected&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;its frustrating when you never have enough time to actually complete your work as it should be done&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;its not easy to work along other people which are stressed out just like you.&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;its disappointing that you never get a chance to learn something new because now is not the right time and we first need to finish.&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;its depressing to continuously get a stream of defects on the code you write&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;its terrible to work 3 days straight to understand why the system keeps on crashing at your client, when it behaves perfectly ok in your own environment&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;its frightening to work on unknown parts of the system not knowing if what you will do will only cause more bugs&lt;/p&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;So why should you become Agile?&lt;/h3&gt;  &lt;p&gt;Because being agile is one major step towards bringing the joy back to work:&lt;/p&gt;  &lt;p&gt;If you really become Agile, you will gain back the control over what you do and how you do it.&lt;/p&gt;  &lt;p&gt;If you really become Agile, you might get the chance to truly collaborate with you’re the rest of your team &lt;/p&gt;  &lt;p&gt;If you really become Agile, you will work according to market feedback and needs on the important things first&lt;/p&gt;  &lt;p&gt;and if you really become Agile, you just might bring some of the joy back to your work.&lt;/p&gt;  </description><link>http://imistaken.blogspot.com/2012/07/why-should-you-become-agile.html</link><author>noreply@blogger.com (Lior Friedman:)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4215962051788443675.post-8220314685145903997</guid><pubDate>Fri, 06 Jul 2012 14:08:00 +0000</pubDate><atom:updated>2012-07-06T07:08:36.952-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Engineering Practices</category><category domain="http://www.blogger.com/atom/ns#">TDD</category><title>Why should you Learn TDD</title><description>&lt;span style=&quot;font-size: small;&quot;&gt;One word:&lt;/span&gt;&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;img src=&quot;data:image/jpeg;base64,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&quot; /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div align=&quot;left&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;I believe that a developer work should be one filled with the joy of creation. When I started out to become a programmer I thought that it would be great. my work will be filled with:&lt;/span&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;     &lt;div align=&quot;left&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;Joy of creation when working on building a solution to other people problems&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;     &lt;div align=&quot;left&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;moments of joy when completing new things and releasing them to the market&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;     &lt;div align=&quot;left&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;moments of satisfaction from work well done&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;     &lt;div align=&quot;left&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;moments of eureka when I find great solution to difficult problems&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;     &lt;div align=&quot;left&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;moments of collaboration when I work with my team members to achieve a shared goal&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div align=&quot;left&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;a few years later I found out that:&lt;/span&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;     &lt;div align=&quot;left&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;its not fun when you finally get your product to the market realizing you just solved the wrong problem&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;     &lt;div align=&quot;left&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;Its annoying that whatever you are doing always seems to take longer then expected&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;     &lt;div align=&quot;left&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;its frustrating when you never have enough time to actually complete your work as it should be done&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;     &lt;div align=&quot;left&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;its not easy to work along other people which are stressed out just like you.&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;     &lt;div align=&quot;left&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;its disappointing that you never get a chance to learn something new because now is not the right time and we first need to finish.&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;     &lt;div align=&quot;left&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;its depressing to continuously get a stream of defects on the code you write&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;     &lt;div align=&quot;left&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;its terrible to work 3 days straight to understand why the system keeps on crashing at your client, when it behaves perfectly ok in your own environment&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;     &lt;div align=&quot;left&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;its frightening to work on unknown parts of the system not knowing if what you will do will only cause more bugs&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 align=&quot;left&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;So why should you learn TDD?&lt;/span&gt;&lt;/h3&gt;
&lt;div align=&quot;left&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;Because TDD is one major step towards bringing the joy back to work:&lt;/span&gt;&lt;/div&gt;
&lt;div align=&quot;left&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;If you do TDD right, many of the stupid defects will go away.&lt;/span&gt;&lt;/div&gt;
&lt;div align=&quot;left&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;if you do TDD right, your system design will improve making it easier and faster to change&lt;/span&gt;&lt;/div&gt;
&lt;div align=&quot;left&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;if you do TDD right, you will have a safety net guarding you from mistakes.&lt;/span&gt;&lt;/div&gt;
&lt;div align=&quot;left&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;and if you do TDD right, you may be able to bring some of the joy back to your work.&lt;/span&gt;&lt;/div&gt;
&lt;div align=&quot;left&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;/span&gt;</description><link>http://imistaken.blogspot.com/2012/07/why-should-you-learn-tdd.html</link><author>noreply@blogger.com (Lior Friedman:)</author><thr:total>4</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4215962051788443675.post-741975522557720662</guid><pubDate>Wed, 04 Jul 2012 20:07:00 +0000</pubDate><atom:updated>2012-07-04T13:07:21.570-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">stories</category><category domain="http://www.blogger.com/atom/ns#">tools</category><title>Instoolation</title><description>&lt;p&gt;&lt;img style=&quot;margin: 0px 0px 5px; display: inline; float: right&quot; align=&quot;right&quot; src=&quot;http://www.growmap.com/wp-content/uploads/2011/08/online-tools-business-should-be-using.jpg&quot; width=&quot;181&quot; height=&quot;136&quot; /&gt;Instoolation (n): belief that process problems can be solved by installing a tool. Gojko Adzic, &lt;a href=&quot;http://gojko.net/2012/06/18/bdd-busting-the-myths/&quot;&gt;BDD: busting the Myths&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;I see that &lt;em&gt;mistake &lt;/em&gt;more and more everywhere I go. During last Iltam meeting &lt;a href=&quot;http://blog.thescrumster.com/&quot;&gt;Elad&lt;/a&gt; gave a talk about tools for agile project management and the general spirit of the audience was, we have all sorts of thing we need to solve and we expect a good tool to help us solve those. things like dependency tracking, risk management, predictability, traceability, and more.&lt;/p&gt;  &lt;p&gt;there is no tool that will solve any of those problems, you first need to install a good process that address those problems and later on you might be able to use a tool to help you to reduce the effort you invest in the solution.&lt;/p&gt;  &lt;p&gt;but actually I didn’t want to write much about that, I do want to discuss about what happens when you add another deadly ingredient in the mix:&lt;/p&gt;  &lt;h3&gt;Not Invented Here (NIH) – Syndrome&lt;/h3&gt;  &lt;p&gt;From Wikipedia:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;i&gt;&lt;b&gt;Not invented here&lt;/b&gt;&lt;/i&gt; (&lt;b&gt;NIH&lt;/b&gt;) is a term used to describe persistent &lt;a href=&quot;http://en.wikipedia.org/wiki/Social&quot;&gt;social&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Corporate_culture&quot;&gt;corporate&lt;/a&gt;, or institutional culture that avoids using or buying already existing products, &lt;a href=&quot;http://en.wikipedia.org/wiki/Research&quot;&gt;research&lt;/a&gt;, standards, or knowledge because of their external origins. &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;font color=&quot;#000000&quot;&gt;So what do you get when you cross an Instoolation disease with the NIH syndrome?&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Right. A huge chunk of money that goes down the drain to develop an in house tool that aimed to solve a problem that can’t be solved by a tool.&lt;/p&gt;  &lt;p&gt;Just to give an anecdotal example, in one of my past work places, I experienced a 5M$ budget goes into &lt;strong&gt;&lt;u&gt;customizing&lt;/u&gt;&lt;/strong&gt; an existing ALM tool which was then assimilated into the company over a period of about 2 years and with extreme pains. The fun part was once the project was “successfully” completed,the involved team was immediately taken to do a proof of concept on replacement tools since the developed system was considered wasteful.&lt;/p&gt;  &lt;p&gt;It just pains me to see companies going that road.&lt;/p&gt;  &lt;br clear=&quot;all&quot; /&gt;  &lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.thescrumster.com/wp-content/uploads/2012/03/practical-agile-logo-transparent-e1331568419662.png&quot; /&gt;     &lt;br /&gt;Want to adopt Agile and don’t know where to start?     &lt;br /&gt;&lt;a href=&quot;http://www.practical-agile.com/training/scrum-training-menu/practical-scrum/&quot;&gt;click here to learn&lt;/a&gt;&lt;/p&gt;  </description><link>http://imistaken.blogspot.com/2012/07/instoolation.html</link><author>noreply@blogger.com (Lior Friedman:)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4215962051788443675.post-210076986783784644</guid><pubDate>Tue, 03 Jul 2012 22:30:00 +0000</pubDate><atom:updated>2012-07-07T13:16:44.592-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Random Thoughts</category><title>30 days experiments</title><description>If you have been following my blog you might have noticed a bizarre pattern in my posting. OK’ lets face it. I’ve been silent for more than 6 months and suddenly there’s an almost endless burst of posts.   &lt;br /&gt;What’s up with that?  &lt;br /&gt;One of the session I had the luck to join at xp2012 was a group of lightening talks. it was lucky cause I drifted in towards its end and managed to catch the last couple of talks. The first one I already blogged: &lt;i&gt;&lt;a href=&quot;http://imistaken.blogspot.co.il/2012/06/role-of-management.html&quot;&gt;The Manager&#39;s Dilemma&lt;/a&gt;&lt;/i&gt; by &lt;a href=&quot;http://focusshift.se/&quot;&gt;&lt;strong&gt;Ola Sundin&lt;/strong&gt;&lt;/a&gt; dealt about management role. this post is dedicated to the second one and that one actually triggered my burst of posts.  &lt;br /&gt;  &lt;h3&gt;Making Change Stick in 30 Days&lt;/h3&gt; The session was given by &lt;a href=&quot;http://zerodegrees.nu/&quot;&gt;Tom Kealy&lt;/a&gt; and was talking about doing small experiments in changing behavior. I’ll let the &lt;a href=&quot;http://www.slideshare.net/kealeys/making-change-stick-in-thirty-days&quot;&gt;slides&lt;/a&gt; talk for themselves and would just add that the talk was based on Matt Cutts TED talk: &lt;a href=&quot;http://www.ted.com/talks/matt_cutts_try_something_new_for_30_days.html&quot;&gt;Try something new for 30 Days&lt;/a&gt;  &lt;br /&gt;I really liked his talk and decided to give it a try and since I really felt bad about my posting silence I thought that would me my first challenge:  &lt;br /&gt;  &lt;blockquote&gt;post something new each day for 30 days&lt;/blockquote&gt; and here is were I currently stands:  &lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoZyhz0WfoAa-FKRGHnISO0Ksbk6rnC8F2hDkRZOwYouGBMCuJi_WG0EIKIgFBrsZKr67qPVCC1LD0FJYNrVqtImP8g2L5BAj1M7cvEhfhXK8HROrIIdVM38R4ok1xFSihNbVh-fWUiRA/s1600-h/image%25255B6%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxIMmEYJGprFe5lwec4lhMN3ULZul1SLDwGNcIMbop5-ynEXwqjyx270JnkGMPmQP10OCn3DINrigZVttk2VFKml9iXlbIeYFdBCyrVS0X7Ryn0H0x5W7gT0Fg314WGh6i4RvT5sok3jA/?imgmax=800&quot; width=&quot;338&quot; height=&quot;50&quot; /&gt;&lt;/a&gt;  &lt;br /&gt;The 30 days are not over, but I’m quite happy with the result. This was certainly something I will remember for a very long time. I think that my next challenge would be:  &lt;br /&gt;  &lt;blockquote&gt;Do a physical workout every work day for the next 30 days.&lt;/blockquote&gt; so what would be your personal challenge?  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Update:&lt;/p&gt;  &lt;p&gt;this is how it looked at the end of the 30 days. Apparently I did some &lt;em&gt;mistakes&lt;/em&gt; in the previous image. good for me&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAvjQTlU3Ce8MOvfUsLLTZnEhuGF1nrlYRTW56pw_sk57u7K_kfokO8Eis8D2-mA3rU74tukgTf-_cRavzlTelYOTHaOhceR8jiU2aWuXAw8eXaIG7khZadzdgq9sjrGP8uDFcHUUDC8o/s1600-h/image%25255B9%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGgSl7dzMo1lO_U6UPjXHf-wu182uPxqkOTGL0EgJ0FmNMQPu5ZPmSVjKynXJJTgSCLBs-rLaRA6LwPsrP4b_cu4whCNUdFbuHydYeWDm1NXTF6KdeRJtRzgSIHR4qb1zGEvAHZ-4kdO4/?imgmax=800&quot; width=&quot;325&quot; height=&quot;58&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  </description><link>http://imistaken.blogspot.com/2012/07/30-days-experiments.html</link><author>noreply@blogger.com (Lior Friedman:)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxIMmEYJGprFe5lwec4lhMN3ULZul1SLDwGNcIMbop5-ynEXwqjyx270JnkGMPmQP10OCn3DINrigZVttk2VFKml9iXlbIeYFdBCyrVS0X7Ryn0H0x5W7gT0Fg314WGh6i4RvT5sok3jA/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4215962051788443675.post-3384258886902818191</guid><pubDate>Sun, 01 Jul 2012 21:20:00 +0000</pubDate><atom:updated>2012-07-01T14:20:35.456-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Events</category><category domain="http://www.blogger.com/atom/ns#">XP</category><title>My Personal eXtreme Programming story</title><description>&lt;p&gt;&lt;font size=&quot;2&quot;&gt;Today at Iltam meeting, I shared my personal experience in using a development process based on Extreme Programming. For all of you which are interested the slides (Prezi) can be found &lt;/font&gt;&lt;a href=&quot;http://prezi.com/oybcrsvvtsuw/iltam/&quot;&gt;&lt;font size=&quot;4&quot;&gt;here&lt;/font&gt;.&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size=&quot;2&quot;&gt;I also would like to take a moment and thank Moshe Salem and Shlomit Morad for inviting us once again to give this session.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size=&quot;2&quot;&gt;And last I want to remind you that next week we will be having the 9th meeting of the Agile Practitioners group. in this session Ayende will share his experience and his wisdom in writing automated tests. to register to the meeting go &lt;/font&gt;&lt;font size=&quot;4&quot;&gt;&lt;a href=&quot;http://apil09.eventbrite.com/&quot;&gt;here&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.thescrumster.com/wp-content/uploads/2012/03/practical-agile-logo-transparent-e1331568419662.png&quot; /&gt;     &lt;br /&gt;Want to adopt Agile and don’t know where to start?     &lt;br /&gt;&lt;a href=&quot;http://www.practical-agile.com/training/scrum-training-menu/practical-scrum/&quot;&gt;click here to learn&lt;/a&gt;&lt;/p&gt;  </description><link>http://imistaken.blogspot.com/2012/07/my-personal-extreme-programming-story.html</link><author>noreply@blogger.com (Lior Friedman:)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4215962051788443675.post-581061875014441319</guid><pubDate>Sat, 30 Jun 2012 19:51:00 +0000</pubDate><atom:updated>2012-06-30T12:51:16.142-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Agile Principles</category><category domain="http://www.blogger.com/atom/ns#">Agile Values</category><title>About Visibility</title><description>&lt;img align=&quot;right&quot; height=&quot;157&quot; src=&quot;http://www.ourwebsitess.org/wp-content/uploads/2012/06/Visibility.jpg&quot; style=&quot;display: inline; float: right; margin: 0px 0px 5px;&quot; width=&quot;269&quot; /&gt;&lt;br /&gt;
A couple of years ago I had the luck to attend a course given by Ken Swchaber. during that course Ken pointed that the main role of the Scrum Master in a scrum process is to ensure visibility. On all Levels. &lt;br /&gt;
But why is visibility so important?&lt;br /&gt;
There are many answers to that. Probably too many for me to do justice to them all. for example, you need visibility to understand exactly where you are in order for you to make the right decisions based on real hard facts.&lt;br /&gt;
Today, I happened to tune in into a TED session about &lt;a href=&quot;http://www.ted.com/talks/don_tapscott_four_principles_for_the_open_world_1.html&quot;&gt;Four principles for the open world&lt;/a&gt;, by Don Tapscott. In that session Don talks about Transparency and what that may cause organizations. He explains that since today the world is so transparent organizations must really adopt good values as part of they backbone. those values are what creates trust which later on enable real collaboration.&lt;br /&gt;
So here you have it, we want to create a high level of Visibility in order us to gain the needed trust which will enable us to truly collaborate, with our customers, with our managers with our peers and with ourselves. Visibility is the key to get there.&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img src=&quot;http://blog.thescrumster.com/wp-content/uploads/2012/03/practical-agile-logo-transparent-e1331568419662.png&quot; /&gt;     &lt;br /&gt;Want to adopt Agile and don’t know where to start?     &lt;br /&gt;&lt;a href=&quot;http://www.practical-agile.com/training/scrum-training-menu/practical-scrum/&quot;&gt;click here to learn&lt;/a&gt;&lt;/div&gt;</description><link>http://imistaken.blogspot.com/2012/06/about-visibility.html</link><author>noreply@blogger.com (Lior Friedman:)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4215962051788443675.post-5104372561948618178</guid><pubDate>Wed, 27 Jun 2012 19:31:00 +0000</pubDate><atom:updated>2012-06-27T12:31:00.262-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Events</category><title>Iltam Meeting – Being Agile</title><description>&lt;p&gt;&lt;img style=&quot;margin: 0px 0px 5px; display: inline; float: right&quot; align=&quot;right&quot; src=&quot;http://xprogramming.com/images/circles.jpg&quot; width=&quot;283&quot; height=&quot;215&quot; /&gt;on Sunday 1/7 Iltam is going to conduct an interesting meeting that will cover some very interesting agile subject. Specifically what I really like about this meeting that after a very long time I see some content that will mention my old and favorite Extreme Programming process. For some reason the XP methodology is no longer discussed in the Israeli community.&lt;/p&gt;  &lt;p&gt;Anyways, there will be three parts to this session in the first part my partner &lt;a href=&quot;http://blog.thescrumster.com/&quot;&gt;Elad Sofer&lt;/a&gt; is going to talk about agile tools, Afterwards Danko will do a scan of various process models which are bundled under the Agile umbrella and I will do the last part in which ill talk about the experience I had in managing an R&amp;amp;D group using the XP process, if you are interested the complete details can be found &lt;a href=&quot;http://www.iltam.org/activity_details.php?actid=act_SWengineering&amp;amp;id=1434&quot;&gt;Here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;hope to see you there.&lt;/p&gt;  &lt;br clear=&quot;all&quot; /&gt;  &lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.thescrumster.com/wp-content/uploads/2012/03/practical-agile-logo-transparent-e1331568419662.png&quot; /&gt;     &lt;br /&gt;Want to adopt Agile and don’t know where to start?     &lt;br /&gt;&lt;a href=&quot;http://www.practical-agile.com/training/scrum-training-menu/practical-scrum/&quot;&gt;click here to learn&lt;/a&gt;&lt;/p&gt;  </description><link>http://imistaken.blogspot.com/2012/06/iltam-meeting-being-agile.html</link><author>noreply@blogger.com (Lior Friedman:)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4215962051788443675.post-2729854814562396776</guid><pubDate>Tue, 26 Jun 2012 19:17:00 +0000</pubDate><atom:updated>2012-06-26T12:17:07.247-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">stories</category><category domain="http://www.blogger.com/atom/ns#">tips</category><title>Taking design out of the requirements</title><description>&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdcVkabW_bpw1jJrdtw39vGXPQ-GFDQQPZRp5Dbk9GfPM3yLAYTaGwknIUbtLk_VxkQtM6l7mGTYewlbqb7MT3uHBXznAUYxXv6aZrp_fGyOptfuj1LFdrZY3cIeUlrJh1lo6aDssAuEA/s1600-h/image%25255B2%25255D.png&quot;&gt;&lt;img align=&quot;right&quot; alt=&quot;image&quot; border=&quot;0&quot; height=&quot;184&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7QXX6HIqMnPoi__Mubi26_t06c94u-wxuS_mGtVzLsAbLMTVr0AFg3ZQtHSW3zJ0AzlfD3m8QkzJT1wK_m6lWOsl7HvZ4CU4OGWwNxi3UevtqfFyVuuOxMb5x-7ba1U9uKdUIGqy8rik/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; float: right; margin: 0px 0px 5px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;One of the biggest mistake you can make as a product person is to include in the product requirements technical design decisions.&lt;br /&gt;
I picked up this lesson about 4 years ago at a session given by &lt;a href=&quot;http://www.gilb.com/Blog&quot;&gt;Tom Gilb&lt;/a&gt; at the first &lt;a href=&quot;http://www.agiletestingdays.com/&quot;&gt;Agile Testing Days&lt;/a&gt; conference. I think this lesson is applicable in all types of development processes but is crucial when you are trying to use an agile process&lt;br /&gt;
&lt;h3&gt;
The Mistake&lt;/h3&gt;
Here’s an example I recently encountered at a backlog grooming meeting:&lt;br /&gt;
&lt;blockquote&gt;
We need to have a pipeline of processing stages in order to …&lt;/blockquote&gt;
It was the word pipeline was got me going. when you mention a pipeline in a user story. no matter how you turn this around you just decided not only what you want but how you want it built. there is no sane user (that I know) that actually care about pipelines. in fact I would assert that most sane user has no idea what a pipeline is, unless they come from the oil business.&lt;br /&gt;
&lt;h3&gt;
So why is this wrong&lt;/h3&gt;
First lets be clear there is nothing wrong about doing design. In fact it’s a very crucial step in developing software. The thing is that you don’t want to mix between technical design: how we are going to create this, and the business needs (requirements): what we are going to build. and there are two main reason why you don’t want to mix this:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;when you use the solution in order to describe the requirements you actually hide the business need. instead of discussing the need you start to discuss how you implement it. this makes business decision like prioritization, exact behavior much more difficult. its especially true if the solution is for some reason marked as an “infrastructure” that will be needed. as a product person how can you give low prioritization to something the technical department just claimed to be an infrastructure? even if that infrastructure was just created to solve a less important business need?&lt;/li&gt;
&lt;li&gt;you don’t want to kill the team creativity – the moment someone put the solution - pipeline in the story was the moment the team stopped thinking about is this the best they can do. Is pipeline the best way to achieve the need? maybe it is maybe its not. putting a pipeline in the solution will discourage any team from thinking about alternative. After all, they were not asked to solve a problem, they were asked to implement a pipeline. so that’s what they will do.&lt;/li&gt;
&lt;/ol&gt;
When you are at the phase in which you design your product translating it into requirements for the development team, try always stay in the problem domain. Let the technical people worry about the solution. Technical design is the exact thing they are trained to do. the minute you start giving them the solution you just wasted a highly priced team and probably took one decision much too early.</description><link>http://imistaken.blogspot.com/2012/06/taking-design-out-of-requirements.html</link><author>noreply@blogger.com (Lior Friedman:)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7QXX6HIqMnPoi__Mubi26_t06c94u-wxuS_mGtVzLsAbLMTVr0AFg3ZQtHSW3zJ0AzlfD3m8QkzJT1wK_m6lWOsl7HvZ4CU4OGWwNxi3UevtqfFyVuuOxMb5x-7ba1U9uKdUIGqy8rik/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4215962051788443675.post-5034227276971133878</guid><pubDate>Sun, 24 Jun 2012 18:49:00 +0000</pubDate><atom:updated>2012-06-24T11:49:01.556-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Agile Management</category><category domain="http://www.blogger.com/atom/ns#">Agile Values</category><title>Push vs. Pull Management</title><description>&lt;img height=&quot;156&quot; src=&quot;http://knowledgeforsuccess.org/wp-content/uploads/2010/07/iStock_000007808735XSmall.jpg&quot; style=&quot;margin: 0px 0px 5px;&quot; width=&quot;408&quot; /&gt;Over the last decade or so I encounter quite a few managers, while each of them was unique in its own way, I roughly found that I can divide them into two main groups according to their strategy.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;br /&gt;Pull Managers&lt;/h3&gt;
&lt;br /&gt;
On one hand there were managers who were very into what went on always walking around asking question showing interest in everything going on and putting their nose into all places including those it didn’t belong in. &lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;br /&gt;Push managers&lt;/h3&gt;
&lt;br /&gt;
in the other group there were those who considered themselves the focal point of their team, they usually got their info by using all kinds of report, they did attend meeting when needed, and naturally they did talk to their team, but most of the time they were minding their own business using their own room to manage the work. and popping from time to time to ask something/direct the work.&lt;br /&gt;
&lt;br /&gt;
While I do have my own preference on how I would like to see managers behave. I do think that you can be successful using either way. I do however feel that there are contexts in which “Pull managers” have a higher chances to succeed.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;br /&gt;Pull vs. Push Systems&lt;/h3&gt;
&lt;br /&gt;
No I’m not going the Kanban road. I do want to talk about systems design. &lt;br /&gt;
&lt;br /&gt;
question: if you have a system in which a single component needs to keep track of the overall system state how would you design it?&lt;br /&gt;
&lt;br /&gt;
Will you have the various parts of the system “send” their events to this main component (Push) ? or would you have that main component pull the needed information whenever he needs it?&lt;br /&gt;
&lt;br /&gt;
like always the correct answer is: it depends. If you have a very high rate of changes in your system (lets say thousands of events per second) or/and you have a relatively small number of parts. you would most likely prefer a pull mechanism. if however you have a relatively small rate of change or/and a large number of parts you would probably prefer a push mechanism.&lt;br /&gt;
&lt;br /&gt;
Now lets take it into management. I’m used to work in an agile environment. in such an environment that amount of data which is gathered on a daily basis is large. the entire process is created in order to handle changes. and if you do it right most likely there will be a lot of change. and in such an environment if you want to succeed I believe that going the pull way will server you better as a manager.&lt;br /&gt;
&lt;br /&gt;
Trying to sit in your office and expecting the information to come to you will means that you most likely will:&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;&lt;br /&gt;
&lt;li&gt;annoy your team – demanding them to bring the information to you whether on a daily basis or via and electronic management tool.&lt;/li&gt;
&lt;br /&gt;
&lt;li&gt;Miss a lot of the info – since an agile process will focus on verbal communication, there’s a lot going on which is not captured in any written way &lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Trust me if your managing an agile team you will need to do the &lt;a href=&quot;http://en.wikipedia.org/wiki/Gemba&quot;&gt;Gemba&lt;/a&gt; each day</description><link>http://imistaken.blogspot.com/2012/06/push-vs-pull-management.html</link><author>noreply@blogger.com (Lior Friedman:)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4215962051788443675.post-4471655089085245775</guid><pubDate>Thu, 21 Jun 2012 19:43:00 +0000</pubDate><atom:updated>2012-06-21T12:43:39.988-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">TDD</category><title>And Sometimes You Lose</title><description>Here’s a story of TDD adoption failure:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9Ng5WVPPKKC9hyLp7AkbsXnMgeeFBzsieQpmwHpnAZV9Hl1RIk9JztiWASl0i3Xcx_DWf9diDIFYxEilnceqNtbgNpLFQr5xBYYrye2uM1T7JO4PJYgpZ0D3cM9K0Wnnm9D3_PpmQFzA/s1600-h/image%25255B13%25255D.png&quot;&gt;&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;276&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgio8TibTWhYuAjp-uRC_1WVLSGHNFBDB66UCUyuI9PQJifM_9QgMPbG4-SFuUT1MgDhEjbtXN9hWuXPW1hsSUuKeeqoCbDnFrpz3bXRmt-p547gkK32WOANWcSqbx3OJ7IEU6n1BDW2N8/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; margin: 0px 0px 5px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image&quot; width=&quot;418&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPSPcntYmFdFc-dLSjKHvyxTqNC7Qx6PVyCrs90AxjGV6Qc-acMPdvksRLAG_Yj8E_tF-O4AwH0xXAxhBi8U_qUKKwrRS15pB1aXoetnyr8Tw1wz2Vek2LeZN6cMdO4_5a_QGUvMr4ODM/s1600-h/image%25255B11%25255D.png&quot;&gt;&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;269&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDVVOR9OIETdUIZ5rsUobp3m4K7kGTxsDVs7RBnTFHt8Kz_U3neyWTIEs-LuQdySSYR0LyvoEqnxdJo3UyGkJJNNOcGYIKGWPMYmcIf9TgTn_ceeO0F121JxhEKpYsHOt6ki3x20e8HPA/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; margin: 0px 0px 5px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image&quot; width=&quot;421&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
about Two years of effort becoming insignificant in about 6 months.&lt;br /&gt;
Shame&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img src=&quot;http://blog.thescrumster.com/wp-content/uploads/2012/03/practical-agile-logo-transparent-e1331568419662.png&quot; /&gt;     &lt;br /&gt;Want to adopt Agile and don’t know where to start?     &lt;br /&gt;&lt;a href=&quot;http://www.practical-agile.com/training/scrum-training-menu/practical-scrum/&quot;&gt;click here to learn&lt;/a&gt;&lt;/div&gt;</description><link>http://imistaken.blogspot.com/2012/06/and-sometimes-you-lose.html</link><author>noreply@blogger.com (Lior Friedman:)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgio8TibTWhYuAjp-uRC_1WVLSGHNFBDB66UCUyuI9PQJifM_9QgMPbG4-SFuUT1MgDhEjbtXN9hWuXPW1hsSUuKeeqoCbDnFrpz3bXRmt-p547gkK32WOANWcSqbx3OJ7IEU6n1BDW2N8/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4215962051788443675.post-1117357147592972805</guid><pubDate>Wed, 20 Jun 2012 21:25:00 +0000</pubDate><atom:updated>2012-06-20T14:25:52.461-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Design</category><category domain="http://www.blogger.com/atom/ns#">Engineering Practices</category><category domain="http://www.blogger.com/atom/ns#">rant</category><title>Don’t Repeat Yourself–the story of a wasted hour</title><description>&lt;p&gt;&lt;img style=&quot;margin: 0px 0px 5px; display: inline; float: right&quot; align=&quot;right&quot; src=&quot;https://encrypted-tbn1.google.com/images?q=tbn:ANd9GcSRh_PnQd0oPK72sJck9vWstH4TejgInttpwKJdNTDA2s7AXiXWOA&quot; /&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Don&#39;t_repeat_yourself&quot;&gt;DRY&lt;/a&gt; principle is kind of a known concept to most software developers. it goes hands in hand with “Minimize Duplication” (4 elements of simple design by Kent Beck) “&lt;a href=&quot;http://en.wikipedia.org/wiki/Single_Source_of_Truth&quot;&gt;Single Source of Truth&lt;/a&gt;” and probably some more of this kind. &lt;/p&gt;  &lt;p&gt;But lets start with a story &lt;/p&gt;  &lt;h3&gt;I hate Wasting Time&lt;/h3&gt;  &lt;p&gt;This week I was sitting doing some pairing trying to setup their first Given-When-Test using &lt;a href=&quot;http://nbehave.org/&quot;&gt;nBehave&lt;/a&gt;. We went through the regular steps: creating a new empty project, setting up a new empty spec test running it seeing that it fails and started working on actually doing something meaningful by loading up the application DAL into the test context.&lt;/p&gt;  &lt;p&gt;10 minutes into the process, executing what we had resulted in a very nice FileNotFoundException and some text talking about that the need to use a strong name assemblies only. &lt;/p&gt;  &lt;p&gt;Great! &lt;/p&gt;  &lt;p&gt;Of course Microsoft was generous enough to omit the name of the actual file (which probably would have saved us most of the time in fixing the problem and your time in reading all this) but anyway 1 hour later we noticed that the code base has several 3rd parties dll’s appearing in the wrong places and they were all checked into the source control AND to make things happier they were not of the same version. In short we had mismatching dll’s duplication. &lt;/p&gt;  &lt;p&gt;Of course, like always, after I fix a problem everything seems so obvious and I cant figure why I didn’t understand it much earlier. but anyway after 2 more minutes we had that one thing solved and we actually were ready to do some serious work. At that point however we ran out of time so we scheduled to continue another time.&lt;/p&gt;  &lt;h3&gt;Duplications are Evil&lt;/h3&gt;  &lt;p&gt;Yes the DRY principle which wikipedia defines as :&amp;quot;Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.&amp;quot; applies to more than just code and code design. It applies to all parts of the system, in my case it can be restated by the common sense directive:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;You shall only have a single copy of any 3rd party dll checked into your source control &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Yes I feel stupid&lt;/p&gt;  &lt;p&gt;So where else can DRY be applied?&amp;#160; What example do you have?&lt;/p&gt;  &lt;br clear=&quot;all&quot; /&gt;  &lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.thescrumster.com/wp-content/uploads/2012/03/practical-agile-logo-transparent-e1331568419662.png&quot; /&gt;     &lt;br /&gt;Want to adopt Agile and don’t know where to start?     &lt;br /&gt;&lt;a href=&quot;http://www.practical-agile.com/training/scrum-training-menu/practical-scrum/&quot;&gt;click here to learn&lt;/a&gt;&lt;/p&gt;  </description><link>http://imistaken.blogspot.com/2012/06/dont-repeat-yourselfthe-story-of-wasted.html</link><author>noreply@blogger.com (Lior Friedman:)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4215962051788443675.post-2905287100454966418</guid><pubDate>Mon, 18 Jun 2012 22:33:00 +0000</pubDate><atom:updated>2012-06-18T15:33:06.070-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Agile Practitioners IL</category><title>Agile Practitioners IL - 9th Group Meeting</title><description>&lt;img alt=&quot;Agile practitioners IL meeting #8 - Agile Playground&quot; height=&quot;180&quot; src=&quot;http://ebmedia.eventbrite.com/s3-s3/eventlogos/6955823/3521692477-1.png&quot; style=&quot;margin: 0px 0px 5px;&quot; width=&quot;391&quot; /&gt;&lt;br /&gt;
On July the 8th we are going to meet again. This time we will meet at live person offices and will take the content into the more technical aspects. &lt;br /&gt;
Oren Eini (AKA Ayende) is going to talk about:&lt;br /&gt;
&lt;blockquote&gt;
Unit Testing - A Historical &amp;amp; Economical Overview&lt;/blockquote&gt;
And we might even do a hands on if time allows, so don’t forget to bring your laptops as well. &lt;br /&gt;
The even of is open to everyone however registration is required. for more details and to register go &lt;span style=&quot;font-size: large;&quot;&gt;&lt;a href=&quot;http://apil09.eventbrite.com/&quot;&gt;here&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img src=&quot;http://blog.thescrumster.com/wp-content/uploads/2012/03/practical-agile-logo-transparent-e1331568419662.png&quot; /&gt;     &lt;br /&gt;Want to adopt Agile and don’t know where to start?     &lt;br /&gt;&lt;a href=&quot;http://www.practical-agile.com/training/scrum-training-menu/practical-scrum/&quot;&gt;click here to learn&lt;/a&gt;&lt;/div&gt;</description><link>http://imistaken.blogspot.com/2012/06/agile-practitioners-il-9th-group.html</link><author>noreply@blogger.com (Lior Friedman:)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4215962051788443675.post-6782239465649649739</guid><pubDate>Sun, 17 Jun 2012 21:07:00 +0000</pubDate><atom:updated>2012-06-17T14:07:28.677-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Agile Principles</category><category domain="http://www.blogger.com/atom/ns#">Design</category><category domain="http://www.blogger.com/atom/ns#">Planning</category><title>More Agile Myths</title><description>&lt;img align=&quot;right&quot; height=&quot;139&quot; src=&quot;http://www.info.insitesoft.com/Portals/53472/images/5-Enterprise-Shipping-Myths-Busted.jpg&quot; style=&quot;display: inline; float: right; margin: 0px 0px 5px;&quot; width=&quot;204&quot; /&gt;Marc Löffler in &lt;a href=&quot;http://blog.scrumphony.com/2012/06/7-agile-myths/&quot;&gt;this&lt;/a&gt; post talks about some agile Myths. about a year ago I blogged about some &lt;a href=&quot;http://imistaken.blogspot.co.il/2011/01/on-agile-misconceptions.html&quot;&gt;agile misconceptions&lt;/a&gt;. Here are some to add to this list.&lt;br /&gt;
&lt;h3&gt;
Agile = No Design&lt;/h3&gt;
In an agile process you usually wont see a specific design phase. In fact scrum for example does not explicitly talk about design at all. This leads some people to think that in an agile process design is not done or is not deemed important. Well actually quite the opposite. Design is such an important part of software development that trying to box it into a specific time/phase in a process simply doesn’t work. When development software you need the flexibility to change/update/adopt your design as you learn more and more.that is why in agile circles we will usually talk about emergent design, or iterative design. the idea is to design more and more of the product as we learn more and more about the problem. &lt;br /&gt;
&lt;h3&gt;
Agile = No Planning&lt;/h3&gt;
It still puzzles me how people reaches this conclusion. Yes there is no one single long term plan that we follow. But just by looking one can clearly see that most of the structure you have when following an agile process is centered around planning. In scrum in all the ceremonies we do some sort of planning. In sprint planning its quite obvious we plan a sprint, in daily meeting we pan the next day, in demo we gather feedback in order to help plan the next sprint and in a retrospect we plan how to improve. &lt;br /&gt;
&lt;h3&gt;
Agile = Small Teams&lt;/h3&gt;
When I started out most of the time coming to large companies I heard them saying that while agile sounded nice it seems to be only appropriate for small teams mainly or those “crazy websites” projects. Funny enough I’m lately starting to hear (usually in small companies) that while agile is nice, its too much of a process and is too strict for what we need. its only good for bigger projects when you need a process to get going. It’s funny how the wheel turns.&lt;br /&gt;
In truth an agile process can be used in both situation, and the actual goal of the process is to find a balance after some trial an error of course. on one hand we want to give enough structure as to avoid complete chaos and on the other to still allow for the flexibility and agility which are so important to stay competitive in the software industry.&lt;br /&gt;
&lt;br /&gt;
What other agile myths do you know? What is your experience with those myths? feel free to comment…   &lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img src=&quot;http://blog.thescrumster.com/wp-content/uploads/2012/03/practical-agile-logo-transparent-e1331568419662.png&quot; /&gt;     &lt;br /&gt;Want to adopt Agile and don’t know where to start?     &lt;br /&gt;&lt;a href=&quot;http://www.practical-agile.com/training/scrum-training-menu/practical-scrum/&quot;&gt;click here to learn&lt;/a&gt;&lt;/div&gt;</description><link>http://imistaken.blogspot.com/2012/06/more-agile-myths.html</link><author>noreply@blogger.com (Lior Friedman:)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4215962051788443675.post-7229290317755954260</guid><pubDate>Sat, 16 Jun 2012 20:59:00 +0000</pubDate><atom:updated>2012-06-16T13:59:13.790-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Agile practices</category><category domain="http://www.blogger.com/atom/ns#">tips</category><title>One question at a time</title><description>&lt;img align=&quot;right&quot; height=&quot;167&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilG9_tgo7Wt69GKWw7BYjihPXo-XvTnmkeF3ppJUlf6P8TmyUn93I7lKXMvDv3LwPDeoKMlFntUzWRyh-m7j5x7jbX12yVhIiwy2c93o4PB8Ugd_-C541QqHrzLNqX77dy5p_Dqemyw624/s1600/Where+to+start.jpg&quot; style=&quot;display: inline; float: right; margin: 0px 0px 5px;&quot; width=&quot;184&quot; /&gt;Taken from Agile Testing list:&lt;br /&gt;
&lt;blockquote&gt;
If someone asks me a complete list I tend to ask what is your most valuable question you want to get answers now.&lt;br /&gt;
And because I am a man I can only do one thing at a time ;)&lt;/blockquote&gt;
Pascal Dufour.&lt;br /&gt;
What a great way to describe the process of test automation.&lt;br /&gt;
Yes I now the context of this quote was completely unrelated to anything about testing, But it did ring a bell for me.&lt;br /&gt;
&lt;h3&gt;
Where should I start?&lt;/h3&gt;
A very common question I hear many time when I talk to people about the need to test their feature. Many times that not because they don’t know what needs to be tested. But because there are so many things to test that it gets a little overwhelming and from all the many things its really hard to know where to start.&lt;br /&gt;
So here’s an idea. Treat your tests as question you would like to get an answer for. Each test case ill reveal a piece of information about the feature you write telling you some specific a fact about how the system behaves.&lt;br /&gt;
for example when you test a trivial add method one question can be: I want to know how my method adds too positive integer values. another question could be: I want to know how my method deals with adding a negative value to a positive value. and so on.&lt;br /&gt;
The trick is to ask yourself: &lt;br /&gt;
&lt;blockquote&gt;
what is your most valuable question you want to get answers now&quot;&lt;/blockquote&gt;
that should be the first test you write, and when you get an answer the next test should give you an answer for the next most valuable question. and you continue to write tests until you don’t have any more questions to ask.&lt;br /&gt;
&lt;h3&gt;
only do one thing at a time &lt;/h3&gt;
Does this sounds like one assert per test?&lt;br /&gt;
To me it does. and now I have a good answer when people asks me why just one assert per test. &lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img src=&quot;http://blog.thescrumster.com/wp-content/uploads/2012/03/practical-agile-logo-transparent-e1331568419662.png&quot; /&gt;     &lt;br /&gt;Want to adopt Agile and don’t know where to start?     &lt;br /&gt;&lt;a href=&quot;http://www.practical-agile.com/training/scrum-training-menu/practical-scrum/&quot;&gt;click here to learn&lt;/a&gt;&lt;/div&gt;</description><link>http://imistaken.blogspot.com/2012/06/one-question-at-time.html</link><author>noreply@blogger.com (Lior Friedman:)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilG9_tgo7Wt69GKWw7BYjihPXo-XvTnmkeF3ppJUlf6P8TmyUn93I7lKXMvDv3LwPDeoKMlFntUzWRyh-m7j5x7jbX12yVhIiwy2c93o4PB8Ugd_-C541QqHrzLNqX77dy5p_Dqemyw624/s72-c/Where+to+start.jpg" height="72" width="72"/><thr:total>1</thr:total></item></channel></rss>