<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>Oren Ellenbogen's Blog</title>
    <link>http://lnbogen.com/</link>
    <description>Striving for agile development</description>
    <language>en-us</language>
    <copyright>Oren Ellenbogen</copyright>
    <lastBuildDate>Tue, 01 Mar 2011 12:06:18 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.3.9074.18820</generator>
    <managingEditor>oren.ellenbogen@gmail.com</managingEditor>
    <webMaster>oren.ellenbogen@gmail.com</webMaster>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/lnbogen" /><feedburner:info uri="lnbogen" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
      <trackback:ping>http://lnbogen.com/Trackback.aspx?guid=a1fd0c1a-a5f9-4ef5-a299-99e6dc3fb2d0</trackback:ping>
      <pingback:server>http://lnbogen.com/pingback.aspx</pingback:server>
      <pingback:target>http://lnbogen.com/PermaLink,guid,a1fd0c1a-a5f9-4ef5-a299-99e6dc3fb2d0.aspx</pingback:target>
      <dc:creator>Oren Ellenbogen</dc:creator>
      <wfw:comment>http://lnbogen.com/CommentView,guid,a1fd0c1a-a5f9-4ef5-a299-99e6dc3fb2d0.aspx</wfw:comment>
      <wfw:commentRss>http://lnbogen.com/SyndicationService.asmx/GetEntryCommentsRss?guid=a1fd0c1a-a5f9-4ef5-a299-99e6dc3fb2d0</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Management and leadership is a topic near and dear to my heart. As such, I decided
to invest some time and construct a lecture to help out current team leads and upper
management to gain some outside view. This will hopefully gear up your thinking on
the subject, opening your mind into new practices and new questions you should consider
pondering. 
<br />
Obviously, potential leaders will enjoy this presentation as well :)
</p>
        <p>
If you want me to come and give this presentation at your place, please ping me. My
email is on the right or reach me at @orenellenbogen (twitter)
</p>
        <p>
          <strong>Team Up:</strong>
        </p>
        <p>
Lately, it seems that process became trendier than core leadership skills. Agile,
Scrum, Kanban stole the focus.  
<br />
BUT - it is leadership that fuels process adoption rather than process auto-magically
fixing disfunction teams.
</p>
        <p>
In this talk we'll explore what went wrong in this process adoption race: from hiring
or promoting the wrong people, avoid setting clear expectations from our leaders,
to dropping lean practices due to lack of deep understanding (forgetting why we started
to begin with). 
</p>
        <p>
The dark side is interesting to explore, but we are here for the bright light - we
will bring the FOCUS back to how we want our leadership to look like.  
<br />
We'll try to figure out how we want our leaders to look like in the "Agile era"
</p>
        <div style="width: 425px" id="__ss_7100712">
          <strong style="margin: 12px 0px 4px; display: block">
            <a title="Team up" href="http://www.slideshare.net/orenellenbogen/team-up">Team
up</a>
          </strong>
          <object id="__sse7100712" width="425" height="355">
            <param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=teamup-110301055950-phpapp01&amp;stripped_title=team-up&amp;userName=orenellenbogen" />
            <param name="allowFullScreen" value="true" />
            <param name="allowScriptAccess" value="always" />
            <embed name="__sse7100712" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=teamup-110301055950-phpapp01&amp;stripped_title=team-up&amp;userName=orenellenbogen" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355">
            </embed>
          </object>
          <div style="padding-bottom: 12px; padding-left: 0px; padding-right: 0px; padding-top: 5px">View
more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/orenellenbogen">Oren
Ellenbogen</a>.
</div>
        </div>
        <img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=a1fd0c1a-a5f9-4ef5-a299-99e6dc3fb2d0" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/lnbogen/~4/D7iTCXXHMV0" height="1" width="1" /></body>
      <title>Team up: my presentation is available</title>
      <guid isPermaLink="false">http://lnbogen.com/PermaLink,guid,a1fd0c1a-a5f9-4ef5-a299-99e6dc3fb2d0.aspx</guid>
      <link>http://feedproxy.google.com/~r/lnbogen/~3/D7iTCXXHMV0/TeamUpMyPresentationIsAvailable.aspx</link>
      <pubDate>Tue, 01 Mar 2011 12:06:18 GMT</pubDate>
      <description>&lt;p&gt;
Management and leadership is a topic near and dear to my heart. As such, I decided
to invest some time and construct a lecture to help out current team leads and upper
management to gain some outside view. This will hopefully gear up your thinking on
the subject, opening your mind into new practices and new questions you should consider
pondering. 
&lt;br /&gt;
Obviously, potential leaders will enjoy this presentation as well :)
&lt;/p&gt;
&lt;p&gt;
If you want me to come and give this presentation at your place, please ping me. My
email is on the right or reach me at @orenellenbogen (twitter)
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Team Up:&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Lately, it seems that process became trendier than core leadership skills. Agile,
Scrum, Kanban stole the focus.&amp;#160; 
&lt;br /&gt;
BUT - it is leadership that fuels process adoption rather than process auto-magically
fixing disfunction teams.
&lt;/p&gt;
&lt;p&gt;
In this talk we'll explore what went wrong in this process adoption race: from hiring
or promoting the wrong people, avoid setting clear expectations from our leaders,
to dropping lean practices due to lack of deep understanding (forgetting why we started
to begin with). 
&lt;/p&gt;
&lt;p&gt;
The dark side is interesting to explore, but we are here for the bright light - we
will bring the FOCUS back to how we want our leadership to look like.&amp;#160; 
&lt;br /&gt;
We'll try to figure out how we want our leaders to look like in the &amp;quot;Agile era&amp;quot;
&lt;/p&gt;
&lt;div style="width: 425px" id="__ss_7100712"&gt;&lt;strong style="margin: 12px 0px 4px; display: block"&gt;&lt;a title="Team up" href="http://www.slideshare.net/orenellenbogen/team-up"&gt;Team
up&lt;/a&gt;&lt;/strong&gt;
&lt;object id="__sse7100712" width="425" height="355"&gt;
&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=teamup-110301055950-phpapp01&amp;amp;stripped_title=team-up&amp;amp;userName=orenellenbogen" /&gt;
&lt;param name="allowFullScreen" value="true" /&gt;
&lt;param name="allowScriptAccess" value="always" /&gt;&lt;embed name="__sse7100712" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=teamup-110301055950-phpapp01&amp;amp;stripped_title=team-up&amp;amp;userName=orenellenbogen" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;
&lt;/object&gt;
&lt;div style="padding-bottom: 12px; padding-left: 0px; padding-right: 0px; padding-top: 5px"&gt;View
more &lt;a href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/orenellenbogen"&gt;Oren
Ellenbogen&lt;/a&gt;.
&lt;/div&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=a1fd0c1a-a5f9-4ef5-a299-99e6dc3fb2d0" /&gt;</description>
      <comments>http://lnbogen.com/CommentView,guid,a1fd0c1a-a5f9-4ef5-a299-99e6dc3fb2d0.aspx</comments>
    <feedburner:origLink>http://lnbogen.com/2011/03/01/TeamUpMyPresentationIsAvailable.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://lnbogen.com/Trackback.aspx?guid=9298a8fe-7599-4d6d-bad9-56fee54b0380</trackback:ping>
      <pingback:server>http://lnbogen.com/pingback.aspx</pingback:server>
      <pingback:target>http://lnbogen.com/PermaLink,guid,9298a8fe-7599-4d6d-bad9-56fee54b0380.aspx</pingback:target>
      <dc:creator>Oren Ellenbogen</dc:creator>
      <wfw:comment>http://lnbogen.com/CommentView,guid,9298a8fe-7599-4d6d-bad9-56fee54b0380.aspx</wfw:comment>
      <wfw:commentRss>http://lnbogen.com/SyndicationService.asmx/GetEntryCommentsRss?guid=9298a8fe-7599-4d6d-bad9-56fee54b0380</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
2 months ago I switch to FeedBurner to track amount of readers of my blog. This helps
me to understand if I’m living in a void <img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://lnbogen.com/content/binary/Windows-Live-Writer/Please-subscribe-to-the-new-feed_BA04/wlEmoticon-smile_2.png" />  
<br /><br />
I recommend switching your current subscription to the new one by simply tracking
the feed here: <a title="http://feeds.feedburner.com/lnbogen" href="http://feeds.feedburner.com/lnbogen">http://feeds.feedburner.com/lnbogen</a><br />
I apologies for the inconvenience and appreciate your time reading my stream of thoughts.
</p>
        <img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=9298a8fe-7599-4d6d-bad9-56fee54b0380" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/lnbogen/~4/p1Svrn_qVkY" height="1" width="1" /></body>
      <title>Subscribe to the new lnbogen feed (via feedburner)</title>
      <guid isPermaLink="false">http://lnbogen.com/PermaLink,guid,9298a8fe-7599-4d6d-bad9-56fee54b0380.aspx</guid>
      <link>http://feedproxy.google.com/~r/lnbogen/~3/p1Svrn_qVkY/SubscribeToTheNewLnbogenFeedViaFeedburner.aspx</link>
      <pubDate>Tue, 18 Jan 2011 11:17:31 GMT</pubDate>
      <description>&lt;p&gt;
2 months ago I switch to FeedBurner to track amount of readers of my blog. This helps
me to understand if I’m living in a void &lt;img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://lnbogen.com/content/binary/Windows-Live-Writer/Please-subscribe-to-the-new-feed_BA04/wlEmoticon-smile_2.png" /&gt;&amp;#160; 
&lt;br /&gt;
&lt;br /&gt;
I recommend switching your current subscription to the new one by simply tracking
the feed here: &lt;a title="http://feeds.feedburner.com/lnbogen" href="http://feeds.feedburner.com/lnbogen"&gt;http://feeds.feedburner.com/lnbogen&lt;/a&gt; 
&lt;br /&gt;
I apologies for the inconvenience and appreciate your time reading my stream of thoughts.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=9298a8fe-7599-4d6d-bad9-56fee54b0380" /&gt;</description>
      <comments>http://lnbogen.com/CommentView,guid,9298a8fe-7599-4d6d-bad9-56fee54b0380.aspx</comments>
    <feedburner:origLink>http://lnbogen.com/2011/01/18/SubscribeToTheNewLnbogenFeedViaFeedburner.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://lnbogen.com/Trackback.aspx?guid=ecc37f9c-40ec-4eba-a59c-53c73c4ad4f5</trackback:ping>
      <pingback:server>http://lnbogen.com/pingback.aspx</pingback:server>
      <pingback:target>http://lnbogen.com/PermaLink,guid,ecc37f9c-40ec-4eba-a59c-53c73c4ad4f5.aspx</pingback:target>
      <dc:creator>Oren Ellenbogen</dc:creator>
      <wfw:comment>http://lnbogen.com/CommentView,guid,ecc37f9c-40ec-4eba-a59c-53c73c4ad4f5.aspx</wfw:comment>
      <wfw:commentRss>http://lnbogen.com/SyndicationService.asmx/GetEntryCommentsRss?guid=ecc37f9c-40ec-4eba-a59c-53c73c4ad4f5</wfw:commentRss>
      <slash:comments>3</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
We just had our 1st Pizzability at Delver. There were 25 of us, from development,
QA, HR, Project and even Marketing. We basically ate pizza and saw a few usability
videos made by real users at Delver.  The goal was to have fun and allow people
to sit back and relax (between each bite) while watching how people are using our
product. This, I hope, will help connect even further “the makers of Delver” to our
users. Bon appetit!
</p>
        <p>
          <img src="http://lnbogen.com/content/binary/pizzability_1.jpg" width="357" height="268" />
        </p>
        <p>
 
</p>
        <p>
          <img src="http://lnbogen.com/content/binary/pizzability_2.jpg" width="359" height="269" />
        </p>
        <img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=ecc37f9c-40ec-4eba-a59c-53c73c4ad4f5" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/lnbogen/~4/THOELbOgjhU" height="1" width="1" /></body>
      <title>Pizzability at Delver (Pizza + Usability testing)</title>
      <guid isPermaLink="false">http://lnbogen.com/PermaLink,guid,ecc37f9c-40ec-4eba-a59c-53c73c4ad4f5.aspx</guid>
      <link>http://feedproxy.google.com/~r/lnbogen/~3/THOELbOgjhU/PizzabilityAtDelverPizzaUsabilityTesting.aspx</link>
      <pubDate>Tue, 11 Jan 2011 13:12:54 GMT</pubDate>
      <description>&lt;p&gt;
We just had our 1st Pizzability at Delver. There were 25 of us, from development,
QA, HR, Project and even Marketing. We basically ate pizza and saw a few usability
videos made by real users at Delver.&amp;#160; The goal was to have fun and allow people
to sit back and relax (between each bite) while watching how people are using our
product. This, I hope, will help connect even further “the makers of Delver” to our
users. Bon appetit!
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://lnbogen.com/content/binary/pizzability_1.jpg" width="357" height="268" /&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://lnbogen.com/content/binary/pizzability_2.jpg" width="359" height="269" /&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=ecc37f9c-40ec-4eba-a59c-53c73c4ad4f5" /&gt;</description>
      <comments>http://lnbogen.com/CommentView,guid,ecc37f9c-40ec-4eba-a59c-53c73c4ad4f5.aspx</comments>
    <feedburner:origLink>http://lnbogen.com/2011/01/11/PizzabilityAtDelverPizzaUsabilityTesting.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://lnbogen.com/Trackback.aspx?guid=3d159c66-f419-4bc3-a47e-23ed8bfc8a11</trackback:ping>
      <pingback:server>http://lnbogen.com/pingback.aspx</pingback:server>
      <pingback:target>http://lnbogen.com/PermaLink,guid,3d159c66-f419-4bc3-a47e-23ed8bfc8a11.aspx</pingback:target>
      <dc:creator>Oren Ellenbogen</dc:creator>
      <wfw:comment>http://lnbogen.com/CommentView,guid,3d159c66-f419-4bc3-a47e-23ed8bfc8a11.aspx</wfw:comment>
      <wfw:commentRss>http://lnbogen.com/SyndicationService.asmx/GetEntryCommentsRss?guid=3d159c66-f419-4bc3-a47e-23ed8bfc8a11</wfw:commentRss>
      <slash:comments>3</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I’m writing for about 5 years now. I’ve spent numerous hours writing about coding,
architecture and management. Some people liked it although my blog is yet another
stream of words in a big pile of information called “the internet”.
</p>
        <p>
The amazing fact is that my top post (by far, I’m talking about ~90% of my traffic)
is about <a href="http://www.lnbogen.com/VisualStudioNet2005Colors.aspx">Visual Studio
.Net 2005 Colors</a>! 
<br />
Yes, a single post, out of hundreds, about a niche topic, got all the spotlight. Frickin’
Lovely.
</p>
        <p>
So like most startups, I’ve build-&gt;didn’t measure-&gt;didn’t learn-&gt;WTF? FAILED!
</p>
        <p>
This year I’m trying to drive my effort by aiming for learning first (learn –&gt;
measure –&gt; build): starting from what I want to test (my hypothesis) then to see
if/how I can actually measure it and then to build it, or write about it. I’ll share
my journey as I go, hoping you’ll find it interesting. 
</p>
        <p>
Happy 2011 everyone!
</p>
        <img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=3d159c66-f419-4bc3-a47e-23ed8bfc8a11" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/lnbogen/~4/ChsfDQ11LPY" height="1" width="1" /></body>
      <title>I forgot to write down what I’m trying to learn</title>
      <guid isPermaLink="false">http://lnbogen.com/PermaLink,guid,3d159c66-f419-4bc3-a47e-23ed8bfc8a11.aspx</guid>
      <link>http://feedproxy.google.com/~r/lnbogen/~3/ChsfDQ11LPY/IForgotToWriteDownWhatImTryingToLearn.aspx</link>
      <pubDate>Sat, 08 Jan 2011 23:31:17 GMT</pubDate>
      <description>&lt;p&gt;
I’m writing for about 5 years now. I’ve spent numerous hours writing about coding,
architecture and management. Some people liked it although my blog is yet another
stream of words in a big pile of information called “the internet”.
&lt;/p&gt;
&lt;p&gt;
The amazing fact is that my top post (by far, I’m talking about ~90% of my traffic)
is about &lt;a href="http://www.lnbogen.com/VisualStudioNet2005Colors.aspx"&gt;Visual Studio
.Net 2005 Colors&lt;/a&gt;! 
&lt;br /&gt;
Yes, a single post, out of hundreds, about a niche topic, got all the spotlight. Frickin’
Lovely.
&lt;/p&gt;
&lt;p&gt;
So like most startups, I’ve build-&amp;gt;didn’t measure-&amp;gt;didn’t learn-&amp;gt;WTF? FAILED!
&lt;/p&gt;
&lt;p&gt;
This year I’m trying to drive my effort by aiming for learning first (learn –&amp;gt;
measure –&amp;gt; build): starting from what I want to test (my hypothesis) then to see
if/how I can actually measure it and then to build it, or write about it. I’ll share
my journey as I go, hoping you’ll find it interesting. 
&lt;/p&gt;
&lt;p&gt;
Happy 2011 everyone!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=3d159c66-f419-4bc3-a47e-23ed8bfc8a11" /&gt;</description>
      <comments>http://lnbogen.com/CommentView,guid,3d159c66-f419-4bc3-a47e-23ed8bfc8a11.aspx</comments>
    <feedburner:origLink>http://lnbogen.com/2011/01/08/IForgotToWriteDownWhatImTryingToLearn.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://lnbogen.com/Trackback.aspx?guid=a7c49f04-385d-4649-9314-536ff747e7ad</trackback:ping>
      <pingback:server>http://lnbogen.com/pingback.aspx</pingback:server>
      <pingback:target>http://lnbogen.com/PermaLink,guid,a7c49f04-385d-4649-9314-536ff747e7ad.aspx</pingback:target>
      <dc:creator>Oren Ellenbogen</dc:creator>
      <wfw:comment>http://lnbogen.com/CommentView,guid,a7c49f04-385d-4649-9314-536ff747e7ad.aspx</wfw:comment>
      <wfw:commentRss>http://lnbogen.com/SyndicationService.asmx/GetEntryCommentsRss?guid=a7c49f04-385d-4649-9314-536ff747e7ad</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
In almost every <strong>management tool </strong>out there, there is a sophisticated
roles and permissions system that allows you to pick what your developers / product
manager / project manager can or cannot do with the system. “You can move a Feature
to In Progress only if your Team Leader authorize it”, “Only product manager can create
new Feature”, “Only Project Manager can start a new Sprint”. I see it happen sometimes
also in <strong>source control </strong>tools “You can commit only after your Team
Leader checked the ‘code review done’ checkbox” or “Only Team Leader can commit code”.
</p>
        <p>
Again, this is an internal system being used inside the organization!
</p>
        <p>
I think it’s a destructive and counterproductive approach. People will stop using
tools that are making them less efficient. If I know that only my Team Leader can
commit <b>my</b> code, I’ll probably commit once a week or once a month as I cannot
sit and wait for him every 10-60 minutes that I normally commit. Same goes for management
tools. People will not use the tool to its full potential, if they’ll need to send
emails such “can you please create this feature for me?” or “can you please approve
this feature so I could start working on it?” What’s the point? I can create tasks
in my OneNote or excel file and keep moving from there. 
</p>
        <p>
This way, data becomes less relevant, less honest, less up to date. You should trust
your people to act smart and train them to utilize tools better.
</p>
        <h4>How do I recover from disasters?
</h4>
        <p>
two words - <b>backup system</b>. Usually it’s really simply to backup your data every
X hours (or minutes) and rollback if disaster occurred. Your people will get better
as they’ll practice more often, get feedback from you and adjust. This will prevent
disasters from happening to begin with. Backup system should allow your teammates
to practice often, this is their safety net. Don’t use roles and permissions to create
virtual trust or avoid personal headaches. At the end of the day, it will cost you
more.
</p>
        <img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=a7c49f04-385d-4649-9314-536ff747e7ad" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/lnbogen/~4/M2LhZxoXy2A" height="1" width="1" /></body>
      <title>Why using roles and permissions internally? Trust died?</title>
      <guid isPermaLink="false">http://lnbogen.com/PermaLink,guid,a7c49f04-385d-4649-9314-536ff747e7ad.aspx</guid>
      <link>http://feedproxy.google.com/~r/lnbogen/~3/M2LhZxoXy2A/WhyUsingRolesAndPermissionsInternallyTrustDied.aspx</link>
      <pubDate>Sat, 31 Jul 2010 09:48:22 GMT</pubDate>
      <description>&lt;p&gt;
In almost every &lt;strong&gt;management tool &lt;/strong&gt;out there, there is a sophisticated
roles and permissions system that allows you to pick what your developers / product
manager / project manager can or cannot do with the system. “You can move a Feature
to In Progress only if your Team Leader authorize it”, “Only product manager can create
new Feature”, “Only Project Manager can start a new Sprint”. I see it happen sometimes
also in &lt;strong&gt;source control &lt;/strong&gt;tools “You can commit only after your Team
Leader checked the ‘code review done’ checkbox” or “Only Team Leader can commit code”.
&lt;/p&gt;
&lt;p&gt;
Again, this is an internal system being used inside the organization!
&lt;/p&gt;
&lt;p&gt;
I think it’s a destructive and counterproductive approach. People will stop using
tools that are making them less efficient. If I know that only my Team Leader can
commit &lt;b&gt;my&lt;/b&gt; code, I’ll probably commit once a week or once a month as I cannot
sit and wait for him every 10-60 minutes that I normally commit. Same goes for management
tools. People will not use the tool to its full potential, if they’ll need to send
emails such “can you please create this feature for me?” or “can you please approve
this feature so I could start working on it?” What’s the point? I can create tasks
in my OneNote or excel file and keep moving from there. 
&lt;/p&gt;
&lt;p&gt;
This way, data becomes less relevant, less honest, less up to date. You should trust
your people to act smart and train them to utilize tools better.
&lt;/p&gt;
&lt;h4&gt;How do I recover from disasters?
&lt;/h4&gt;
&lt;p&gt;
two words - &lt;b&gt;backup system&lt;/b&gt;. Usually it’s really simply to backup your data every
X hours (or minutes) and rollback if disaster occurred. Your people will get better
as they’ll practice more often, get feedback from you and adjust. This will prevent
disasters from happening to begin with. Backup system should allow your teammates
to practice often, this is their safety net. Don’t use roles and permissions to create
virtual trust or avoid personal headaches. At the end of the day, it will cost you
more.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=a7c49f04-385d-4649-9314-536ff747e7ad" /&gt;</description>
      <comments>http://lnbogen.com/CommentView,guid,a7c49f04-385d-4649-9314-536ff747e7ad.aspx</comments>
      <category>Management</category>
    <feedburner:origLink>http://lnbogen.com/2010/07/31/WhyUsingRolesAndPermissionsInternallyTrustDied.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://lnbogen.com/Trackback.aspx?guid=4a66106d-2824-42c7-a0c1-d268b87742d4</trackback:ping>
      <pingback:server>http://lnbogen.com/pingback.aspx</pingback:server>
      <pingback:target>http://lnbogen.com/PermaLink,guid,4a66106d-2824-42c7-a0c1-d268b87742d4.aspx</pingback:target>
      <dc:creator>Oren Ellenbogen</dc:creator>
      <wfw:comment>http://lnbogen.com/CommentView,guid,4a66106d-2824-42c7-a0c1-d268b87742d4.aspx</wfw:comment>
      <wfw:commentRss>http://lnbogen.com/SyndicationService.asmx/GetEntryCommentsRss?guid=4a66106d-2824-42c7-a0c1-d268b87742d4</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Should you start with planning your sprints and then see how it fits your versions?
Maybe start with versions and understand how your sprints look like? Maybe planning
versions by themselves is enough? How do you start?
</p>
        <h4>Decouple external planning from internal planning
</h4>
        <p>
External value (features your customers will enjoy) moves the organization. It is
why you get paid. No one will pay for “let these kids develop for fun only”, this
is why open source projects were born, for developers to write some code that may
or may not be used by others. Versions are communicated out to your customers, named
in a language your customers can understand “in version 1.0 we will allow our customers
to upload their profile image” rather “we will integrate jQuery and develop highly
scalable upload mechanism over Amazon Cloud”.
</p>
        <p>
Internal value (features your organization will enjoy) keeps the organization fully
operational, doing its best <b>over time</b>. It is usually not communicated out (your
customers don’t really care if you’re using C# 4.0 or C# 3.0) and not named in customer’s
lingo. 
</p>
        <h4>Versions are more tangible
</h4>
        <p>
Most of us stick to planning versions and our sprints actually look the same as our
versions. We’re results oriented and we want to please our customers. Moreover, no
external power is actively pushing us toward internal value.
</p>
        <h4>Sometimes internal value &gt; external value
</h4>
        <p>
If you’re strictly results oriented, you might produce great results but only for
short, unpredictable periods. Sometimes you’ll need to delay customer’s value to handle
broken “machine” in your factory. Your customers won’t like this delay, but they will
understand it if you’ll offer tradeoffs and communicate “we are fixing internal machine
to keep our high level of production steady”. They will prefer stable producing rather
than insane, poor quality or unpredictable results.
</p>
        <h4>Use Sprints to prioritize internal value with external value
</h4>
        <p>
Maybe you can devote 5% of the sprint to maintain your ability to produce fast? Maybe
10%? Maybe 1%? It’s really up to you to figure out what you want to push every sprint.
Be careful of dismissing internal value, it’s your role to actively push for it. 
</p>
        <h4>How do I start? 
</h4>
        <p>
I prefer to set some goals for my sprint first: (a) is there an internal value I want
to push? (b) Are there people in my team that I want to push by leading features?
(c) What is my team availability for this sprint? 
</p>
        <p>
          <img src="http://lnbogen.com/content/binary/sprintversusversion.png" />
        </p>
        <p>
With this in mind, I’m starting to plan my versions for the sprint and next one, making
sure I understand perfectly what should enter the sprint and when. <b>This is the
first time I validate my plans.</b> If the planned versions fully occupying my sprint
(or even more than that), I raise a flag and trying to figure out if something can
be shifted without causing damage. If not, and I have some “buffer”, it leaves me
with understanding how much of my internal value I can push inside the sprint, alongside
external value. <b>This is the second time I validate my plans</b>. Did I manage to
push my goals to the sprint while producing external value? If I notice there is a
big need for internal value that cannot wait, I will try to understand alternatives
with our product team and supply tradeoffs. 
</p>
        <p>
Then, all is left is to organize when should each feature start/end and making sure
external value (versions) are released on time while internal value is keep moving.
Keep your head above the water, plan to last.
</p>
        <img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=4a66106d-2824-42c7-a0c1-d268b87742d4" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/lnbogen/~4/WGEufw1b6AE" height="1" width="1" /></body>
      <title>Sprint Planning versus Version Planning</title>
      <guid isPermaLink="false">http://lnbogen.com/PermaLink,guid,4a66106d-2824-42c7-a0c1-d268b87742d4.aspx</guid>
      <link>http://feedproxy.google.com/~r/lnbogen/~3/WGEufw1b6AE/SprintPlanningVersusVersionPlanning.aspx</link>
      <pubDate>Sat, 31 Jul 2010 09:08:30 GMT</pubDate>
      <description>&lt;p&gt;
Should you start with planning your sprints and then see how it fits your versions?
Maybe start with versions and understand how your sprints look like? Maybe planning
versions by themselves is enough? How do you start?
&lt;/p&gt;
&lt;h4&gt;Decouple external planning from internal planning
&lt;/h4&gt;
&lt;p&gt;
External value (features your customers will enjoy) moves the organization. It is
why you get paid. No one will pay for “let these kids develop for fun only”, this
is why open source projects were born, for developers to write some code that may
or may not be used by others. Versions are communicated out to your customers, named
in a language your customers can understand “in version 1.0 we will allow our customers
to upload their profile image” rather “we will integrate jQuery and develop highly
scalable upload mechanism over Amazon Cloud”.
&lt;/p&gt;
&lt;p&gt;
Internal value (features your organization will enjoy) keeps the organization fully
operational, doing its best &lt;b&gt;over time&lt;/b&gt;. It is usually not communicated out (your
customers don’t really care if you’re using C# 4.0 or C# 3.0) and not named in customer’s
lingo. 
&lt;/p&gt;
&lt;h4&gt;Versions are more tangible
&lt;/h4&gt;
&lt;p&gt;
Most of us stick to planning versions and our sprints actually look the same as our
versions. We’re results oriented and we want to please our customers. Moreover, no
external power is actively pushing us toward internal value.
&lt;/p&gt;
&lt;h4&gt;Sometimes internal value &gt; external value
&lt;/h4&gt;
&lt;p&gt;
If you’re strictly results oriented, you might produce great results but only for
short, unpredictable periods. Sometimes you’ll need to delay customer’s value to handle
broken “machine” in your factory. Your customers won’t like this delay, but they will
understand it if you’ll offer tradeoffs and communicate “we are fixing internal machine
to keep our high level of production steady”. They will prefer stable producing rather
than insane, poor quality or unpredictable results.
&lt;/p&gt;
&lt;h4&gt;Use Sprints to prioritize internal value with external value
&lt;/h4&gt;
&lt;p&gt;
Maybe you can devote 5% of the sprint to maintain your ability to produce fast? Maybe
10%? Maybe 1%? It’s really up to you to figure out what you want to push every sprint.
Be careful of dismissing internal value, it’s your role to actively push for it. 
&lt;/p&gt;
&lt;h4&gt;How do I start? 
&lt;/h4&gt;
&lt;p&gt;
I prefer to set some goals for my sprint first: (a) is there an internal value I want
to push? (b) Are there people in my team that I want to push by leading features?
(c) What is my team availability for this sprint? 
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://lnbogen.com/content/binary/sprintversusversion.png" /&gt;
&lt;/p&gt;
&lt;p&gt;
With this in mind, I’m starting to plan my versions for the sprint and next one, making
sure I understand perfectly what should enter the sprint and when. &lt;b&gt;This is the
first time I validate my plans.&lt;/b&gt; If the planned versions fully occupying my sprint
(or even more than that), I raise a flag and trying to figure out if something can
be shifted without causing damage. If not, and I have some “buffer”, it leaves me
with understanding how much of my internal value I can push inside the sprint, alongside
external value. &lt;b&gt;This is the second time I validate my plans&lt;/b&gt;. Did I manage to
push my goals to the sprint while producing external value? If I notice there is a
big need for internal value that cannot wait, I will try to understand alternatives
with our product team and supply tradeoffs. 
&lt;/p&gt;
&lt;p&gt;
Then, all is left is to organize when should each feature start/end and making sure
external value (versions) are released on time while internal value is keep moving.
Keep your head above the water, plan to last.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=4a66106d-2824-42c7-a0c1-d268b87742d4" /&gt;</description>
      <comments>http://lnbogen.com/CommentView,guid,4a66106d-2824-42c7-a0c1-d268b87742d4.aspx</comments>
      <category>Agile</category>
      <category>Management</category>
      <category>Scrum</category>
    <feedburner:origLink>http://lnbogen.com/2010/07/31/SprintPlanningVersusVersionPlanning.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://lnbogen.com/Trackback.aspx?guid=5dddb82a-da88-4f8c-9fd0-067d0aa96dd1</trackback:ping>
      <pingback:server>http://lnbogen.com/pingback.aspx</pingback:server>
      <pingback:target>http://lnbogen.com/PermaLink,guid,5dddb82a-da88-4f8c-9fd0-067d0aa96dd1.aspx</pingback:target>
      <dc:creator>Oren Ellenbogen</dc:creator>
      <wfw:comment>http://lnbogen.com/CommentView,guid,5dddb82a-da88-4f8c-9fd0-067d0aa96dd1.aspx</wfw:comment>
      <wfw:commentRss>http://lnbogen.com/SyndicationService.asmx/GetEntryCommentsRss?guid=5dddb82a-da88-4f8c-9fd0-067d0aa96dd1</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <u>
            <a href="http://lnbogen.com/2010/07/08/SprintPlanJustEnoughDoItReflect.aspx">Sprint
is a planning unit</a>
          </u>, keeping it stable during that time allows a pretended
piece of mind for the developers from marketing/product ever-changing demands. So
it feels anyway. We developers signed up a virtual contract with our product teams
saying “we will be Agile enough to allow you to change your mind every 1-3 weeks,
but don’t disturb us during that time! We want to work, not wasting our time on talks!”. 
</p>
        <p>
Does it make sense to you? Is this the true notion behind Agile? Would it be acceptable
for a great business?
</p>
        <p>
Well, it makes sense only if you think that waste is more valuable than your attention. <b>Delaying
smart decisions or cutting off bad ones after 2 weeks, 2 days or even 2 minutes is
simply counterproductive</b>. If you know that a feature selected for the sprint became
a waste due to priority change, why should you move forward with it? why throwing
the problem to the other side of the fence: “well, my product team should have been
wiser with their priorities. We’ll do it anyway just to teach them a lesson so they
won’t do it for next sprint!”
</p>
        <p>
Priorities tend to change. It happens constantly. Don’t panic, be open-minded and
make sure your team leaders can handle priority shift. It’s perfectly okay to say
no, but make sure it’s a “reasonable no”. If you see it does make sense to move out
some features and move in some others, do it with care, offer tradeoffs (“this change
might mean we won’t be able to release the version on time, let’s delay it in 2 days”)
and make sure motivation passes to your team. Your teammates need to realize that
providing <b>organized waste</b> is plain dumb; they also need to trust you doing
these changes with full attention, clarifying tradeoffs and setting expectations.
Practice your agility!
</p>
        <img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=5dddb82a-da88-4f8c-9fd0-067d0aa96dd1" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/lnbogen/~4/0FwmA8bp3xM" height="1" width="1" /></body>
      <title>Should you allow changes during Sprint?</title>
      <guid isPermaLink="false">http://lnbogen.com/PermaLink,guid,5dddb82a-da88-4f8c-9fd0-067d0aa96dd1.aspx</guid>
      <link>http://feedproxy.google.com/~r/lnbogen/~3/0FwmA8bp3xM/ShouldYouAllowChangesDuringSprint.aspx</link>
      <pubDate>Fri, 23 Jul 2010 22:26:50 GMT</pubDate>
      <description>&lt;p&gt;
&lt;u&gt;&lt;a href="http://lnbogen.com/2010/07/08/SprintPlanJustEnoughDoItReflect.aspx"&gt;Sprint
is a planning unit&lt;/a&gt;&lt;/u&gt;, keeping it stable during that time allows a pretended
piece of mind for the developers from marketing/product ever-changing demands. So
it feels anyway. We developers signed up a virtual contract with our product teams
saying “we will be Agile enough to allow you to change your mind every 1-3 weeks,
but don’t disturb us during that time! We want to work, not wasting our time on talks!”. 
&lt;/p&gt;
&lt;p&gt;
Does it make sense to you? Is this the true notion behind Agile? Would it be acceptable
for a great business?
&lt;/p&gt;
&lt;p&gt;
Well, it makes sense only if you think that waste is more valuable than your attention. &lt;b&gt;Delaying
smart decisions or cutting off bad ones after 2 weeks, 2 days or even 2 minutes is
simply counterproductive&lt;/b&gt;. If you know that a feature selected for the sprint became
a waste due to priority change, why should you move forward with it? why throwing
the problem to the other side of the fence: “well, my product team should have been
wiser with their priorities. We’ll do it anyway just to teach them a lesson so they
won’t do it for next sprint!”
&lt;/p&gt;
&lt;p&gt;
Priorities tend to change. It happens constantly. Don’t panic, be open-minded and
make sure your team leaders can handle priority shift. It’s perfectly okay to say
no, but make sure it’s a “reasonable no”. If you see it does make sense to move out
some features and move in some others, do it with care, offer tradeoffs (“this change
might mean we won’t be able to release the version on time, let’s delay it in 2 days”)
and make sure motivation passes to your team. Your teammates need to realize that
providing &lt;b&gt;organized waste&lt;/b&gt; is plain dumb; they also need to trust you doing
these changes with full attention, clarifying tradeoffs and setting expectations.
Practice your agility!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=5dddb82a-da88-4f8c-9fd0-067d0aa96dd1" /&gt;</description>
      <comments>http://lnbogen.com/CommentView,guid,5dddb82a-da88-4f8c-9fd0-067d0aa96dd1.aspx</comments>
      <category>Agile</category>
      <category>Management</category>
      <category>Scrum</category>
    <feedburner:origLink>http://lnbogen.com/2010/07/23/ShouldYouAllowChangesDuringSprint.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://lnbogen.com/Trackback.aspx?guid=38b97dfd-106d-4c30-9e70-8c7ef509a81c</trackback:ping>
      <pingback:server>http://lnbogen.com/pingback.aspx</pingback:server>
      <pingback:target>http://lnbogen.com/PermaLink,guid,38b97dfd-106d-4c30-9e70-8c7ef509a81c.aspx</pingback:target>
      <dc:creator>Oren Ellenbogen</dc:creator>
      <wfw:comment>http://lnbogen.com/CommentView,guid,38b97dfd-106d-4c30-9e70-8c7ef509a81c.aspx</wfw:comment>
      <wfw:commentRss>http://lnbogen.com/SyndicationService.asmx/GetEntryCommentsRss?guid=38b97dfd-106d-4c30-9e70-8c7ef509a81c</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
After bashing prediction systems, <u><a href="http://lnbogen.com/2010/07/21/ExperimentersBiasKillsSoftwarePredication.aspx">claiming
that measuring performance of your teammates to predict release dates or personal
behavior is inherently wrong</a></u>, you might deduce that I meant “measuring Actual
Hours is pointless”. 
</p>
        <p>
On the contrary my friend, I believe that tracking Actual Hours is imperative for
better planning and cutting off waste. 
</p>
        <h4>Translate internal units (Story Points / Ideal Days) to external units (Calendar)
</h4>
        <p>
How can you translate a 3 Story Points or a 3 Ideal Days to “it will be ready next
Tuesday?” 
<br />
Using Actual Hours, you could actually see a correlation between Story Points size
(internal to the organization) to total amount of Actual Hours Range (external as
you can put it on calendar). For example, you might notice after a few sprints that
3 Story Points (based on <em>latest</em> 5 features), are usually taking 23-28 Actual
Hours to complete. Assuming you pick a number, say 6, as the amount of Actual Hours
in 1 day a developer can do, such features will translate to around 4-5 working days.
Story Points can be translated quickly, <strong>based on empirical knowledge</strong>,
to a range of working days. This will make release dates predication much easier,
assisting your Project Manager and your Marketing team to communicate it in their
roadmap or create plans accordingly.
</p>
        <h5>
        </h5>
        <h4>Actual Hours help to quickly balance effort in a Sprint
</h4>
        <p>
You’re on the first day of the Sprint and you’ve got seven Features (/ User Stories)
in “Not Started”. You also made sure that people availability (Joe got 50 hours this
sprint) is updated as some have vacations and some got exams during the sprint. Even
more, you already decided who is the owner of each Feature. How can you balance the
tasks effort, in hours, between your teammates? how can you decide if some features
will be developed by multiple developers and still see that your plan is feasible? 
<br />
With Actual Hours history, from the example above, you can see that 3 Story Points
translate to 23-28 hours. You can immediately add to all features worth 3 Story Points
one task called TBD with 25 hours (~avg) and assign it to the owner. You move to each
one of your features, checking their Story Points -&gt; Actual Hours range, adding the
task. Next, you slowly break this big TBD task, in each feature, into multiple TBD
tasks, each with different owner and estimation, until you see that the effort is
balanced between all of your teammates.
</p>
        <p>
          <b>2 flows for example:</b>
        </p>
        <p>
a. 3 Story Points (range: 23-28 hours) -&gt; 1 task worth 25h for Joe -&gt; 1 task worth
10 for Joe, 1 task worth 5 for Jim and 1 task worth 10 for Annie.
</p>
        <p>
b. 2 Story Points (range: 10-18 hours) -&gt; 1 task worth 14h for Jim -&gt; 1 task worth
10 for Jim and 1 task worth 4 for Annie.
</p>
        <p>
c. [ … until all work effort are balanced by availability and optimal ownership …
] 
<br />
d. Make sure that your breakdown makes sense in terms of people availability. Make
changes if needed.
</p>
        <h4>Summary
</h4>
Actual Hours are imperative as they (1) provide a way to translate internal work units
to external work units and (2) allowing fast effort breakdown. The key is to set expectations
right with your teammates, explaining why their performance measurements are so crucial
and how they will be used. They need to understand so they will be able to honest,
to have an incentive to help you. Don’t break their trust.<img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=38b97dfd-106d-4c30-9e70-8c7ef509a81c" /><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/lnbogen/~4/CM_HRDqLzoE" height="1" width="1" /></body>
      <title>Why tracking Actual Hours is so imperative?</title>
      <guid isPermaLink="false">http://lnbogen.com/PermaLink,guid,38b97dfd-106d-4c30-9e70-8c7ef509a81c.aspx</guid>
      <link>http://feedproxy.google.com/~r/lnbogen/~3/CM_HRDqLzoE/WhyTrackingActualHoursIsSoImperative.aspx</link>
      <pubDate>Fri, 23 Jul 2010 21:55:49 GMT</pubDate>
      <description>&lt;p&gt;
After bashing prediction systems, &lt;u&gt;&lt;a href="http://lnbogen.com/2010/07/21/ExperimentersBiasKillsSoftwarePredication.aspx"&gt;claiming
that measuring performance of your teammates to predict release dates or personal
behavior is inherently wrong&lt;/a&gt;&lt;/u&gt;, you might deduce that I meant “measuring Actual
Hours is pointless”. 
&lt;/p&gt;
&lt;p&gt;
On the contrary my friend, I believe that tracking Actual Hours is imperative for
better planning and cutting off waste. 
&lt;/p&gt;
&lt;h4&gt;Translate internal units (Story Points / Ideal Days) to external units (Calendar)
&lt;/h4&gt;
&lt;p&gt;
How can you translate a 3 Story Points or a 3 Ideal Days to “it will be ready next
Tuesday?” 
&lt;br /&gt;
Using Actual Hours, you could actually see a correlation between Story Points size
(internal to the organization) to total amount of Actual Hours Range (external as
you can put it on calendar). For example, you might notice after a few sprints that
3 Story Points (based on &lt;em&gt;latest&lt;/em&gt; 5 features), are usually taking 23-28 Actual
Hours to complete. Assuming you pick a number, say 6, as the amount of Actual Hours
in 1 day a developer can do, such features will translate to around 4-5 working days.
Story Points can be translated quickly, &lt;strong&gt;based on empirical knowledge&lt;/strong&gt;,
to a range of working days. This will make release dates predication much easier,
assisting your Project Manager and your Marketing team to communicate it in their
roadmap or create plans accordingly.
&lt;/p&gt;
&lt;h5&gt;
&lt;/h5&gt;
&lt;h4&gt;Actual Hours help to quickly balance effort in a Sprint
&lt;/h4&gt;
&lt;p&gt;
You’re on the first day of the Sprint and you’ve got seven Features (/ User Stories)
in “Not Started”. You also made sure that people availability (Joe got 50 hours this
sprint) is updated as some have vacations and some got exams during the sprint. Even
more, you already decided who is the owner of each Feature. How can you balance the
tasks effort, in hours, between your teammates? how can you decide if some features
will be developed by multiple developers and still see that your plan is feasible? 
&lt;br /&gt;
With Actual Hours history, from the example above, you can see that 3 Story Points
translate to 23-28 hours. You can immediately add to all features worth 3 Story Points
one task called TBD with 25 hours (~avg) and assign it to the owner. You move to each
one of your features, checking their Story Points -&gt; Actual Hours range, adding the
task. Next, you slowly break this big TBD task, in each feature, into multiple TBD
tasks, each with different owner and estimation, until you see that the effort is
balanced between all of your teammates.
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;2 flows for example:&lt;/b&gt;
&lt;/p&gt;
&lt;p&gt;
a. 3 Story Points (range: 23-28 hours) -&gt; 1 task worth 25h for Joe -&gt; 1 task worth
10 for Joe, 1 task worth 5 for Jim and 1 task worth 10 for Annie.
&lt;/p&gt;
&lt;p&gt;
b. 2 Story Points (range: 10-18 hours) -&gt; 1 task worth 14h for Jim -&gt; 1 task worth
10 for Jim and 1 task worth 4 for Annie.
&lt;/p&gt;
&lt;p&gt;
c. [ … until all work effort are balanced by availability and optimal ownership …
] 
&lt;br /&gt;
d. Make sure that your breakdown makes sense in terms of people availability. Make
changes if needed.
&lt;/p&gt;
&lt;h4&gt;Summary
&lt;/h4&gt;
Actual Hours are imperative as they (1) provide a way to translate internal work units
to external work units and (2) allowing fast effort breakdown. The key is to set expectations
right with your teammates, explaining why their performance measurements are so crucial
and how they will be used. They need to understand so they will be able to honest,
to have an incentive to help you. Don’t break their trust.&lt;img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=38b97dfd-106d-4c30-9e70-8c7ef509a81c" /&gt;</description>
      <comments>http://lnbogen.com/CommentView,guid,38b97dfd-106d-4c30-9e70-8c7ef509a81c.aspx</comments>
      <category>Agile</category>
      <category>Management</category>
      <category>Scrum</category>
    <feedburner:origLink>http://lnbogen.com/2010/07/23/WhyTrackingActualHoursIsSoImperative.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://lnbogen.com/Trackback.aspx?guid=d4a0b0ba-1b47-483f-a998-a76ede467445</trackback:ping>
      <pingback:server>http://lnbogen.com/pingback.aspx</pingback:server>
      <pingback:target>http://lnbogen.com/PermaLink,guid,d4a0b0ba-1b47-483f-a998-a76ede467445.aspx</pingback:target>
      <dc:creator>Oren Ellenbogen</dc:creator>
      <wfw:comment>http://lnbogen.com/CommentView,guid,d4a0b0ba-1b47-483f-a998-a76ede467445.aspx</wfw:comment>
      <wfw:commentRss>http://lnbogen.com/SyndicationService.asmx/GetEntryCommentsRss?guid=d4a0b0ba-1b47-483f-a998-a76ede467445</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Many teams going into Scrum, have internal debates around whether or not moving to
Story Points or sticking with Ideal Days. It seems that there is a lot of personal
feelings involved.
</p>
        <h4>Ideal Days – what is it all about?
</h4>
        <p>
Just imagine a work day <i>without</i> any meetings, phone calls or people bothering
you. It’s a full day of making things done, full day working solely on your tasks,
whatever that means.
</p>
        <h4>Story Points – what is it all about?
</h4>
        <p>
Story Points are a bit more abstract notion. It includes 3 parts: <b>Work Effort</b> (how
much effort the work will take), <b>Complexity</b> (implementing known yet complex
code) and <b>Risk </b>(3<sup>rd</sup> party integration, POC required etc). It inherently
abstracts away the “who” to allow you to consider the “what”. 
</p>
        <h4>Estimation is expensive
</h4>
        <p>
          <u>
            <a href="http://lnbogen.com/2010/07/19/EstimatingFeaturesOptionsContextAndGod.aspx">I’ve
said it before - estimation is expensive.</a>
          </u> You should find ways to make your
estimation faster, unless you were specifically required to execute the Feature or
bringing a super detailed estimation. If it’s not the case, and you were asked for
numbers to determine Product Roadmap or feasibility of features, stick to fast gut
feelings, may it be private hunch or collaborative hunch.
</p>
        <h4>Fibonacci size – what is it all about?
</h4>
        <p>
To make estimation faster, it’s easier to have smaller list of options to pick from.
For example, instead of picking a size from 1-100, you should pick from a smaller
numbers range, like Fibonacci: 1,2,3,5,8,13 and then go to 20, 40, 70, 100. <b>Why
the jumps</b>? Because the bigger the estimation, the bigger likelihood of being wrong
or wasting too much time discussing how wrong. So instead of arguing on whether it’s
6 working days or 7, you just pick 8 or 5, depending on the specifics (effort, complexity,
risk). The purpose is to estimate fast, not to be 100% precise.
</p>
        <h4>Using Anchors
</h4>
        <p>
Usually, the idea is to price Features (or User Stories) against <b>other</b> Features
*like* them. “This feature is around the same effort as that feature so it will be
3 Story Points as well”. After picking a few Features as “baseline”, it’s easier to
estimate faster others features against them.
</p>
        <h4>Ideal Days baggage
</h4>
        <p>
I personally believe that Ideal Days <b>brings too much baggage</b> into the discussion
(making estimation slower):
</p>
        <p>
1. <b>Who’s Ideal Day? How long is one Ideal Day?</b> Each member will consider her/his
Ideal Day. Instead of focusing on fast estimation, everyone passing in their head
“well, Joe is new in the team, it will take it twice as much! Let’s price it as twice
as much then”. Story Points “don’t care” who is implementing the Feature. This is
exactly how it should be done as you never really know who will actually be the implementor
until you start working on it.
</p>
        <p>
2. <b>Ideal Days are not strongly correlated with estimating Complexity and Risks</b>:
People have in mind, when using Ideal Days, mostly effort involved. Story Points,
due to its abstraction level, allows better focus on Complexity and Risk.
</p>
        <h4>Matter of flavor, I guess
</h4>
        <p>
Anyway, I feel that it’s not really important whether you’re using Story Points on
Ideal Days, as long as you (1) remember to price Complexity and Risk as well; as long
as (2) you understand that estimation is expensive. I feel that Story Points offer
better abstraction which allows faster estimation, but it’s really matter of “whatever
works”. 
</p>
        <h4>Write down Estimation Reasoning!
</h4>
Make sure you keep your estimation reason. “We said its 5 Story Points because it’s
~3 Story Points for effort and ~1-2 for Complexity and Risk. We felt good enough with
5 Story Points.” <b>Why</b>? If you would like to use this estimation as an anchor
in the future, while trying to estimate a new feature, you should remember what the
original 5 Story Points meant for you: “Was it 5 Story Points only because of effort?”<img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=d4a0b0ba-1b47-483f-a998-a76ede467445" /><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/lnbogen/~4/hI51ApkRjhE" height="1" width="1" /></body>
      <title>Story Points over Ideal Days?</title>
      <guid isPermaLink="false">http://lnbogen.com/PermaLink,guid,d4a0b0ba-1b47-483f-a998-a76ede467445.aspx</guid>
      <link>http://feedproxy.google.com/~r/lnbogen/~3/hI51ApkRjhE/StoryPointsOverIdealDays.aspx</link>
      <pubDate>Thu, 22 Jul 2010 12:10:48 GMT</pubDate>
      <description>&lt;p&gt;
Many teams going into Scrum, have internal debates around whether or not moving to
Story Points or sticking with Ideal Days. It seems that there is a lot of personal
feelings involved.
&lt;/p&gt;
&lt;h4&gt;Ideal Days – what is it all about?
&lt;/h4&gt;
&lt;p&gt;
Just imagine a work day &lt;i&gt;without&lt;/i&gt; any meetings, phone calls or people bothering
you. It’s a full day of making things done, full day working solely on your tasks,
whatever that means.
&lt;/p&gt;
&lt;h4&gt;Story Points – what is it all about?
&lt;/h4&gt;
&lt;p&gt;
Story Points are a bit more abstract notion. It includes 3 parts: &lt;b&gt;Work Effort&lt;/b&gt; (how
much effort the work will take), &lt;b&gt;Complexity&lt;/b&gt; (implementing known yet complex
code) and &lt;b&gt;Risk &lt;/b&gt;(3&lt;sup&gt;rd&lt;/sup&gt; party integration, POC required etc). It inherently
abstracts away the “who” to allow you to consider the “what”. 
&lt;/p&gt;
&lt;h4&gt;Estimation is expensive
&lt;/h4&gt;
&lt;p&gt;
&lt;u&gt;&lt;a href="http://lnbogen.com/2010/07/19/EstimatingFeaturesOptionsContextAndGod.aspx"&gt;I’ve
said it before - estimation is expensive.&lt;/a&gt;&lt;/u&gt; You should find ways to make your
estimation faster, unless you were specifically required to execute the Feature or
bringing a super detailed estimation. If it’s not the case, and you were asked for
numbers to determine Product Roadmap or feasibility of features, stick to fast gut
feelings, may it be private hunch or collaborative hunch.
&lt;/p&gt;
&lt;h4&gt;Fibonacci size – what is it all about?
&lt;/h4&gt;
&lt;p&gt;
To make estimation faster, it’s easier to have smaller list of options to pick from.
For example, instead of picking a size from 1-100, you should pick from a smaller
numbers range, like Fibonacci: 1,2,3,5,8,13 and then go to 20, 40, 70, 100. &lt;b&gt;Why
the jumps&lt;/b&gt;? Because the bigger the estimation, the bigger likelihood of being wrong
or wasting too much time discussing how wrong. So instead of arguing on whether it’s
6 working days or 7, you just pick 8 or 5, depending on the specifics (effort, complexity,
risk). The purpose is to estimate fast, not to be 100% precise.
&lt;/p&gt;
&lt;h4&gt;Using Anchors
&lt;/h4&gt;
&lt;p&gt;
Usually, the idea is to price Features (or User Stories) against &lt;b&gt;other&lt;/b&gt; Features
*like* them. “This feature is around the same effort as that feature so it will be
3 Story Points as well”. After picking a few Features as “baseline”, it’s easier to
estimate faster others features against them.
&lt;/p&gt;
&lt;h4&gt;Ideal Days baggage
&lt;/h4&gt;
&lt;p&gt;
I personally believe that Ideal Days &lt;b&gt;brings too much baggage&lt;/b&gt; into the discussion
(making estimation slower):
&lt;/p&gt;
&lt;p&gt;
1. &lt;b&gt;Who’s Ideal Day? How long is one Ideal Day?&lt;/b&gt; Each member will consider her/his
Ideal Day. Instead of focusing on fast estimation, everyone passing in their head
“well, Joe is new in the team, it will take it twice as much! Let’s price it as twice
as much then”. Story Points “don’t care” who is implementing the Feature. This is
exactly how it should be done as you never really know who will actually be the implementor
until you start working on it.
&lt;/p&gt;
&lt;p&gt;
2. &lt;b&gt;Ideal Days are not strongly correlated with estimating Complexity and Risks&lt;/b&gt;:
People have in mind, when using Ideal Days, mostly effort involved. Story Points,
due to its abstraction level, allows better focus on Complexity and Risk.
&lt;/p&gt;
&lt;h4&gt;Matter of flavor, I guess
&lt;/h4&gt;
&lt;p&gt;
Anyway, I feel that it’s not really important whether you’re using Story Points on
Ideal Days, as long as you (1) remember to price Complexity and Risk as well; as long
as (2) you understand that estimation is expensive. I feel that Story Points offer
better abstraction which allows faster estimation, but it’s really matter of “whatever
works”. 
&lt;/p&gt;
&lt;h4&gt;Write down Estimation Reasoning!
&lt;/h4&gt;
Make sure you keep your estimation reason. “We said its 5 Story Points because it’s
~3 Story Points for effort and ~1-2 for Complexity and Risk. We felt good enough with
5 Story Points.” &lt;b&gt;Why&lt;/b&gt;? If you would like to use this estimation as an anchor
in the future, while trying to estimate a new feature, you should remember what the
original 5 Story Points meant for you: “Was it 5 Story Points only because of effort?”&lt;img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=d4a0b0ba-1b47-483f-a998-a76ede467445" /&gt;</description>
      <comments>http://lnbogen.com/CommentView,guid,d4a0b0ba-1b47-483f-a998-a76ede467445.aspx</comments>
      <category>Agile</category>
      <category>Management</category>
      <category>Scrum</category>
    <feedburner:origLink>http://lnbogen.com/2010/07/22/StoryPointsOverIdealDays.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://lnbogen.com/Trackback.aspx?guid=febb5f04-91c3-4918-a239-7b2a7c3d5843</trackback:ping>
      <pingback:server>http://lnbogen.com/pingback.aspx</pingback:server>
      <pingback:target>http://lnbogen.com/PermaLink,guid,febb5f04-91c3-4918-a239-7b2a7c3d5843.aspx</pingback:target>
      <dc:creator>Oren Ellenbogen</dc:creator>
      <wfw:comment>http://lnbogen.com/CommentView,guid,febb5f04-91c3-4918-a239-7b2a7c3d5843.aspx</wfw:comment>
      <wfw:commentRss>http://lnbogen.com/SyndicationService.asmx/GetEntryCommentsRss?guid=febb5f04-91c3-4918-a239-7b2a7c3d5843</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
“In experimental science, experimenter's bias is bias towards a result expected by
the human experimenter.” – <u><a href="http://en.wikipedia.org/wiki/Experimenter's_bias">Experimenter's
bias, Wikipedia</a></u>.
</p>
        <p>
Almost every management tool out there attempts to provide estimation regarding when
the feature / user story / version / release will be ready. <u><a href="http://www.fogcreek.com/fogbugz/">Fogbugz</a></u> took
it to extreme with their <u><a href="http://www.joelonsoftware.com/items/2007/10/26.html">Evidencing
Based Scheduling</a></u>, others such <a href="http://www.versionone.com/">VersionOne</a><u /> and <u><a href="http://www.thoughtworks-studios.com/mingle-agile-project-management">Mingle</a></u> use
pretty graphs or other visuals to achieve the same. 
</p>
        <p>
“Computer, when it will be done?!”
</p>
        <p>
I think there is an <b>inherent</b><b>paradox</b> with such prediction - it depends
on developer’s honesty. You must ask yourself what is the developer’s <b>incentive</b> to
fill the information as it is? why should she or he be honest? The way I see it, developers
are staying in their safe zone, pricing things in high enough granularity (around
8h or more per task) and fill the actual or remained hours so they won’t look bad
or good. <b>They just want to be right</b>. Why? So they won’t appear as too optimistic
or too pessimistic to the prediction system their boss is using to plan the next few
releases. It actually makes sense; the predication system caused the results to behave
as expected by driving developers to “safely” play with the numbers. The actual, somehow,
always equals to the estimation! How nice!
</p>
        <p>
The second you’re telling your developers that their estimated and actual hours are
being used directly to predict the future, don’t be surprised that it will be the
future <b>they want you to see</b>. This is why I’m not convinced about using Actual
Hours for readiness prediction or judging if a teammate is over optimistic/pessimistic. 
</p>
        <p>
As a team leader, you should care that your teammates will learn to estimate better,
to allow themselves to be wrong, without everyone to see it on their prediction tools.
They need to make mistakes and get personal feedback. <strong><a href="http://dev2ops.org/blog/2010/2/23/people-over-process-over-tools.html">People
over Tools !</a></strong></p>
        <p>
          <b>Why should you still use Actual Hours then? 
<br /></b>More on it to follow…
</p>
        <img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=febb5f04-91c3-4918-a239-7b2a7c3d5843" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/lnbogen/~4/xRFW97L6fPo" height="1" width="1" /></body>
      <title>Experimenter's bias kills software predication</title>
      <guid isPermaLink="false">http://lnbogen.com/PermaLink,guid,febb5f04-91c3-4918-a239-7b2a7c3d5843.aspx</guid>
      <link>http://feedproxy.google.com/~r/lnbogen/~3/xRFW97L6fPo/ExperimentersBiasKillsSoftwarePredication.aspx</link>
      <pubDate>Wed, 21 Jul 2010 21:58:13 GMT</pubDate>
      <description>&lt;p&gt;
“In experimental science, experimenter's bias is bias towards a result expected by
the human experimenter.” – &lt;u&gt;&lt;a href="http://en.wikipedia.org/wiki/Experimenter's_bias"&gt;Experimenter's
bias, Wikipedia&lt;/a&gt;&lt;/u&gt;.
&lt;/p&gt;
&lt;p&gt;
Almost every management tool out there attempts to provide estimation regarding when
the feature / user story / version / release will be ready. &lt;u&gt;&lt;a href="http://www.fogcreek.com/fogbugz/"&gt;Fogbugz&lt;/a&gt;&lt;/u&gt; took
it to extreme with their &lt;u&gt;&lt;a href="http://www.joelonsoftware.com/items/2007/10/26.html"&gt;Evidencing
Based Scheduling&lt;/a&gt;&lt;/u&gt;, others such &lt;a href="http://www.versionone.com/"&gt;VersionOne&lt;/a&gt;&lt;u&gt;&lt;/u&gt; and &lt;u&gt;&lt;a href="http://www.thoughtworks-studios.com/mingle-agile-project-management"&gt;Mingle&lt;/a&gt;&lt;/u&gt; use
pretty graphs or other visuals to achieve the same. 
&lt;/p&gt;
&lt;p&gt;
“Computer, when it will be done?!”
&lt;/p&gt;
&lt;p&gt;
I think there is an &lt;b&gt;inherent&lt;/b&gt; &lt;b&gt;paradox&lt;/b&gt; with such prediction - it depends
on developer’s honesty. You must ask yourself what is the developer’s &lt;b&gt;incentive&lt;/b&gt; to
fill the information as it is? why should she or he be honest? The way I see it, developers
are staying in their safe zone, pricing things in high enough granularity (around
8h or more per task) and fill the actual or remained hours so they won’t look bad
or good. &lt;b&gt;They just want to be right&lt;/b&gt;. Why? So they won’t appear as too optimistic
or too pessimistic to the prediction system their boss is using to plan the next few
releases. It actually makes sense; the predication system caused the results to behave
as expected by driving developers to “safely” play with the numbers. The actual, somehow,
always equals to the estimation! How nice!
&lt;/p&gt;
&lt;p&gt;
The second you’re telling your developers that their estimated and actual hours are
being used directly to predict the future, don’t be surprised that it will be the
future &lt;b&gt;they want you to see&lt;/b&gt;. This is why I’m not convinced about using Actual
Hours for readiness prediction or judging if a teammate is over optimistic/pessimistic. 
&lt;/p&gt;
&lt;p&gt;
As a team leader, you should care that your teammates will learn to estimate better,
to allow themselves to be wrong, without everyone to see it on their prediction tools.
They need to make mistakes and get personal feedback. &lt;strong&gt;&lt;a href="http://dev2ops.org/blog/2010/2/23/people-over-process-over-tools.html"&gt;People
over Tools !&lt;/a&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Why should you still use Actual Hours then? 
&lt;br /&gt;
&lt;/b&gt;More on it to follow…
&lt;/p&gt;
&lt;img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=febb5f04-91c3-4918-a239-7b2a7c3d5843" /&gt;</description>
      <comments>http://lnbogen.com/CommentView,guid,febb5f04-91c3-4918-a239-7b2a7c3d5843.aspx</comments>
      <category>Management</category>
    <feedburner:origLink>http://lnbogen.com/2010/07/21/ExperimentersBiasKillsSoftwarePredication.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://lnbogen.com/Trackback.aspx?guid=85d3c980-99ae-4429-8d93-e8b6116e3aa2</trackback:ping>
      <pingback:server>http://lnbogen.com/pingback.aspx</pingback:server>
      <pingback:target>http://lnbogen.com/PermaLink,guid,85d3c980-99ae-4429-8d93-e8b6116e3aa2.aspx</pingback:target>
      <dc:creator>Oren Ellenbogen</dc:creator>
      <wfw:comment>http://lnbogen.com/CommentView,guid,85d3c980-99ae-4429-8d93-e8b6116e3aa2.aspx</wfw:comment>
      <wfw:commentRss>http://lnbogen.com/SyndicationService.asmx/GetEntryCommentsRss?guid=85d3c980-99ae-4429-8d93-e8b6116e3aa2</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
If <u><a href="http://lnbogen.com/2010/07/08/SprintPlanJustEnoughDoItReflect.aspx">Sprints
are not execution unit</a></u>, what is the rush of moving Features to done as soon
as possible during a sprint? Why should you care about it if you’re not limited by
end of sprint deadline?
</p>
        <p>
Other than the fact that done is fun ™ (obvious sense of accomplishment), striving
for done features will push the entire team to excel. I’ll try to cover it from two
angles, manager and developer.
</p>
        <h4>Nothing new, you commit to version instead of Sprint
</h4>
        <p>
The only difference of <u><a href="http://lnbogen.com/2010/07/08/VersionExtractReleasesFromSprints.aspx">introducing
versions to decouple execution from sprints</a></u>, is that you commit to version
rather than sprint. So far, no big change, you need to release on time to allow fast
feedback by your customers. It’s the same “Agile attitude”, the same fuzzy feeling
in your tummy.
</p>
        <h4>From Developer’s point of view
</h4>
        <p>
1. <b>Prefer small amount of WIP</b> (Work In Progress) - we are poor with multi-tasking
and we hate to get back to things we thought we already finished. If you aim to move
Features to done, you can be more confident moving forward without leaving some concerns
behind you. 
</p>
        <p>
2. <b>Practice Growth</b> – the more features you’re estimating, breaking (into tasks)
and leading, the more you’ll improve your communication and leadership skills. Because
all of the above is so hard to get right, you need to practice as much as you can
to feel comfortable leading bigger features over time and later on, if desired, leading
your own team. Great leaders not only know how to push features but they also can
explain to others how to get better at it, to share feedback. For that, you’ll need
to practice enough, to reflect enough, until you really grasp the complexity behind
it.
</p>
        <h4>From Team Leader’s point of view
</h4>
        <p>
1. <b>Prefer small amount of WIP</b> – you should prefer 7 features done from 9 planned
rather than 15 features in progress from 20 planned. You cannot deploy half-baked
features thus 15 features in progress means zero value to your customers.
</p>
        <p>
2. <b>Create predictability by making Velocity graph stable </b>- If you want to <u><a href="http://lnbogen.com/2010/07/19/PlanningYourSprint.aspx">plan
your sprint</a></u> faster and with more confidence, you’ll need to understand how
many Story Points / Ideal Days you’re able to do each sprint. For that, you’ll want
your Velocity graph to avoid spikes every sprint (example: 30 SP, 2 SP, 87 SP, 40
SP) but rather have a “stable” Velocity graph (example: 30 SP, 27 SP, 34SP, 29SP).
Constant spikes mean that you won’t be able to say how many Features (by Story Points)
you’re able to perform. Less confidence =&gt; more time spent on planning.
</p>
        <p>
3. <b>Create predictability by making Features Size Completion stable – </b>again,
if you want to plan your sprint faster, you’ll need to know how many big / medium
/ small features you’re able to pull off every sprint or every version. Try to strive
for known throughput per feature size to increase confidence.
</p>
        <p>
Planning Sprint, just like estimating features, might be very expensive and hard to
nail down. The trick is to create solid picture that strengthen your gut feeling about
what you can actually do. With this in hands, you’ll spend less time breaking everything
to little pieces or worry about the quality of your plan; instead, you’ll have solid
empirical history behind you to back you up. More time for you to get some tan!
</p>
        <img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=85d3c980-99ae-4429-8d93-e8b6116e3aa2" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/lnbogen/~4/yiXiu8ZxkdE" height="1" width="1" /></body>
      <title>Why should you strive for moving Features to done?</title>
      <guid isPermaLink="false">http://lnbogen.com/PermaLink,guid,85d3c980-99ae-4429-8d93-e8b6116e3aa2.aspx</guid>
      <link>http://feedproxy.google.com/~r/lnbogen/~3/yiXiu8ZxkdE/WhyShouldYouStriveForMovingFeaturesToDone.aspx</link>
      <pubDate>Tue, 20 Jul 2010 09:36:20 GMT</pubDate>
      <description>&lt;p&gt;
If &lt;u&gt;&lt;a href="http://lnbogen.com/2010/07/08/SprintPlanJustEnoughDoItReflect.aspx"&gt;Sprints
are not execution unit&lt;/a&gt;&lt;/u&gt;, what is the rush of moving Features to done as soon
as possible during a sprint? Why should you care about it if you’re not limited by
end of sprint deadline?
&lt;/p&gt;
&lt;p&gt;
Other than the fact that done is fun ™ (obvious sense of accomplishment), striving
for done features will push the entire team to excel. I’ll try to cover it from two
angles, manager and developer.
&lt;/p&gt;
&lt;h4&gt;Nothing new, you commit to version instead of Sprint
&lt;/h4&gt;
&lt;p&gt;
The only difference of &lt;u&gt;&lt;a href="http://lnbogen.com/2010/07/08/VersionExtractReleasesFromSprints.aspx"&gt;introducing
versions to decouple execution from sprints&lt;/a&gt;&lt;/u&gt;, is that you commit to version
rather than sprint. So far, no big change, you need to release on time to allow fast
feedback by your customers. It’s the same “Agile attitude”, the same fuzzy feeling
in your tummy.
&lt;/p&gt;
&lt;h4&gt;From Developer’s point of view
&lt;/h4&gt;
&lt;p&gt;
1. &lt;b&gt;Prefer small amount of WIP&lt;/b&gt; (Work In Progress) - we are poor with multi-tasking
and we hate to get back to things we thought we already finished. If you aim to move
Features to done, you can be more confident moving forward without leaving some concerns
behind you. 
&lt;/p&gt;
&lt;p&gt;
2. &lt;b&gt;Practice Growth&lt;/b&gt; – the more features you’re estimating, breaking (into tasks)
and leading, the more you’ll improve your communication and leadership skills. Because
all of the above is so hard to get right, you need to practice as much as you can
to feel comfortable leading bigger features over time and later on, if desired, leading
your own team. Great leaders not only know how to push features but they also can
explain to others how to get better at it, to share feedback. For that, you’ll need
to practice enough, to reflect enough, until you really grasp the complexity behind
it.
&lt;/p&gt;
&lt;h4&gt;From Team Leader’s point of view
&lt;/h4&gt;
&lt;p&gt;
1. &lt;b&gt;Prefer small amount of WIP&lt;/b&gt; – you should prefer 7 features done from 9 planned
rather than 15 features in progress from 20 planned. You cannot deploy half-baked
features thus 15 features in progress means zero value to your customers.
&lt;/p&gt;
&lt;p&gt;
2. &lt;b&gt;Create predictability by making Velocity graph stable &lt;/b&gt;- If you want to &lt;u&gt;&lt;a href="http://lnbogen.com/2010/07/19/PlanningYourSprint.aspx"&gt;plan
your sprint&lt;/a&gt;&lt;/u&gt; faster and with more confidence, you’ll need to understand how
many Story Points / Ideal Days you’re able to do each sprint. For that, you’ll want
your Velocity graph to avoid spikes every sprint (example: 30 SP, 2 SP, 87 SP, 40
SP) but rather have a “stable” Velocity graph (example: 30 SP, 27 SP, 34SP, 29SP).
Constant spikes mean that you won’t be able to say how many Features (by Story Points)
you’re able to perform. Less confidence =&gt; more time spent on planning.
&lt;/p&gt;
&lt;p&gt;
3. &lt;b&gt;Create predictability by making Features Size Completion stable – &lt;/b&gt;again,
if you want to plan your sprint faster, you’ll need to know how many big / medium
/ small features you’re able to pull off every sprint or every version. Try to strive
for known throughput per feature size to increase confidence.
&lt;/p&gt;
&lt;p&gt;
Planning Sprint, just like estimating features, might be very expensive and hard to
nail down. The trick is to create solid picture that strengthen your gut feeling about
what you can actually do. With this in hands, you’ll spend less time breaking everything
to little pieces or worry about the quality of your plan; instead, you’ll have solid
empirical history behind you to back you up. More time for you to get some tan!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=85d3c980-99ae-4429-8d93-e8b6116e3aa2" /&gt;</description>
      <comments>http://lnbogen.com/CommentView,guid,85d3c980-99ae-4429-8d93-e8b6116e3aa2.aspx</comments>
      <category>Agile</category>
      <category>Management</category>
      <category>Self Management</category>
    <feedburner:origLink>http://lnbogen.com/2010/07/20/WhyShouldYouStriveForMovingFeaturesToDone.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://lnbogen.com/Trackback.aspx?guid=2da7c0ea-d987-4343-a2ba-6d6d6b194cbf</trackback:ping>
      <pingback:server>http://lnbogen.com/pingback.aspx</pingback:server>
      <pingback:target>http://lnbogen.com/PermaLink,guid,2da7c0ea-d987-4343-a2ba-6d6d6b194cbf.aspx</pingback:target>
      <dc:creator>Oren Ellenbogen</dc:creator>
      <wfw:comment>http://lnbogen.com/CommentView,guid,2da7c0ea-d987-4343-a2ba-6d6d6b194cbf.aspx</wfw:comment>
      <wfw:commentRss>http://lnbogen.com/SyndicationService.asmx/GetEntryCommentsRss?guid=2da7c0ea-d987-4343-a2ba-6d6d6b194cbf</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
“We need to support registration in the application. Here are some details, how many
days to develop?” -- Where should you start from? Should you simply throw a number?
Maybe read it first and use your gut feeling, your experience? Is there a trap here?
Although there are no recipes for estimating successfully™, I want to elaborate on
the options in front of us, before we dig into the details. 
</p>
        <h5>
        </h5>
        <h4>Guesstimate everything months in advance by 20 seconds of thought
</h4>
        <p>
If you are able to read a Feature specification and give estimation based on “whatever
works for you”, you win! For small features this should probably be as simple as pie,
but <b>what about the big ones?</b> Still easy?
</p>
        <h5>
        </h5>
        <h4>“We have someone who can do it with some sort of dark magic ball !”
</h4>
        <p>
I call him (or her) God. If you have God in your company, you win!
</p>
        <h5>
        </h5>
        <h4>(1) Estimate by detailed breakdown
</h4>
        <p>
Giving proper estimation without feeling bad about it 10 seconds later is not cheap.
I don’t care how much experience you have. So, <strong>are you ready to invest</strong>?
You should not only consider coding effort, but also organization time - testing,
deployment, monitoring, bug fixing etc. After you have this in mind, did you consider
risks? What about 3<sup>rd</sup> party integration? What about inexperienced developer
who might work on this feature? 
</p>
        <p>
One way to provide detailed estimation is by actually doing the Design (of the solution)
and bring one to the table; This means doing a Design Review with your peers, break
the feature into tasks, estimate hours needed per task and give very solid numbers.
You can do it by yourself, you can do it with others; the price is not 20 seconds,
but this is highly useful for solid estimation.
</p>
        <h4>Wait, Context is king!
</h4>
        <p>
Before you start throwing numbers into the air or diving into an expensive design
to come up with estimation, what is expected of you? 
</p>
        <p>
1. <b>Purpose </b>– how your estimation is going to be used? To determine roadmap?
To understand feasibility? For prioritization between 2 Features? Each might require
different “estimation plan”
</p>
        <p>
2. <b>Size</b> - is it good enough to say “it’s a big feature” or maybe “it’s around
20-40 days” or maybe “it’s 24 hours”? 
</p>
        <h4>Back to your options list
</h4>
        <p>
Well, you could estimate by detailed breakdown, if you really need low granularity.
Sometimes, rough estimations might be enough. What now?
</p>
        <h4>(2) Estimate by personal hunch
</h4>
        <p>
You can obviously estimate based on your personal hunch, taking into consideration
organization time, risks and what not. In many cases, assuming you’ve got enough “gut
feeling” built by your sheer experience, this should suffice to build roadmap or understand
feasibility. If this is the expectation, it’s probably the cheapest way to provide
numbers.
</p>
        <h4>(3) Estimate by collective hunch
</h4>
        <p>
You can improve (or at least feel more confident) granularity by adding one or more
experienced teammates into the mix, double-checking your hunches and forming a collective
hunch.
</p>
        <h4>(4) Estimate by team hunch
</h4>
        <p>
Again, more people involved might mean better estimation, due to larger feedback.
There is the obvious risk of “2 people, 3 opinions”, but at least you’ll have some
other, non imaginary, voices of sense.
</p>
        <h4>What does it all mean?
</h4>
Each method offers some advantages and suffers from some inner faults. Understand
the context and pick wisely. Accept the fact that things change and features might
be thrown away - do not waste time on estimation more than is really required. More
about features estimation to follow… <img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=2da7c0ea-d987-4343-a2ba-6d6d6b194cbf" /><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/lnbogen/~4/Phfs8C9ipAc" height="1" width="1" /></body>
      <title>Estimating Features: options, context and God</title>
      <guid isPermaLink="false">http://lnbogen.com/PermaLink,guid,2da7c0ea-d987-4343-a2ba-6d6d6b194cbf.aspx</guid>
      <link>http://feedproxy.google.com/~r/lnbogen/~3/Phfs8C9ipAc/EstimatingFeaturesOptionsContextAndGod.aspx</link>
      <pubDate>Mon, 19 Jul 2010 22:09:30 GMT</pubDate>
      <description>&lt;p&gt;
“We need to support registration in the application. Here are some details, how many
days to develop?” -- Where should you start from? Should you simply throw a number?
Maybe read it first and use your gut feeling, your experience? Is there a trap here?
Although there are no recipes for estimating successfully™, I want to elaborate on
the options in front of us, before we dig into the details. 
&lt;/p&gt;
&lt;h5&gt;
&lt;/h5&gt;
&lt;h4&gt;Guesstimate everything months in advance by 20 seconds of thought
&lt;/h4&gt;
&lt;p&gt;
If you are able to read a Feature specification and give estimation based on “whatever
works for you”, you win! For small features this should probably be as simple as pie,
but &lt;b&gt;what about the big ones?&lt;/b&gt; Still easy?
&lt;/p&gt;
&lt;h5&gt;
&lt;/h5&gt;
&lt;h4&gt;“We have someone who can do it with some sort of dark magic ball !”
&lt;/h4&gt;
&lt;p&gt;
I call him (or her) God. If you have God in your company, you win!
&lt;/p&gt;
&lt;h5&gt;
&lt;/h5&gt;
&lt;h4&gt;(1) Estimate by detailed breakdown
&lt;/h4&gt;
&lt;p&gt;
Giving proper estimation without feeling bad about it 10 seconds later is not cheap.
I don’t care how much experience you have. So, &lt;strong&gt;are you ready to invest&lt;/strong&gt;?
You should not only consider coding effort, but also organization time - testing,
deployment, monitoring, bug fixing etc. After you have this in mind, did you consider
risks? What about 3&lt;sup&gt;rd&lt;/sup&gt; party integration? What about inexperienced developer
who might work on this feature? 
&lt;/p&gt;
&lt;p&gt;
One way to provide detailed estimation is by actually doing the Design (of the solution)
and bring one to the table; This means doing a Design Review with your peers, break
the feature into tasks, estimate hours needed per task and give very solid numbers.
You can do it by yourself, you can do it with others; the price is not 20 seconds,
but this is highly useful for solid estimation.
&lt;/p&gt;
&lt;h4&gt;Wait, Context is king!
&lt;/h4&gt;
&lt;p&gt;
Before you start throwing numbers into the air or diving into an expensive design
to come up with estimation, what is expected of you? 
&lt;/p&gt;
&lt;p&gt;
1. &lt;b&gt;Purpose &lt;/b&gt;– how your estimation is going to be used? To determine roadmap?
To understand feasibility? For prioritization between 2 Features? Each might require
different “estimation plan”
&lt;/p&gt;
&lt;p&gt;
2. &lt;b&gt;Size&lt;/b&gt; - is it good enough to say “it’s a big feature” or maybe “it’s around
20-40 days” or maybe “it’s 24 hours”? 
&lt;/p&gt;
&lt;h4&gt;Back to your options list
&lt;/h4&gt;
&lt;p&gt;
Well, you could estimate by detailed breakdown, if you really need low granularity.
Sometimes, rough estimations might be enough. What now?
&lt;/p&gt;
&lt;h4&gt;(2) Estimate by personal hunch
&lt;/h4&gt;
&lt;p&gt;
You can obviously estimate based on your personal hunch, taking into consideration
organization time, risks and what not. In many cases, assuming you’ve got enough “gut
feeling” built by your sheer experience, this should suffice to build roadmap or understand
feasibility. If this is the expectation, it’s probably the cheapest way to provide
numbers.
&lt;/p&gt;
&lt;h4&gt;(3) Estimate by collective hunch
&lt;/h4&gt;
&lt;p&gt;
You can improve (or at least feel more confident) granularity by adding one or more
experienced teammates into the mix, double-checking your hunches and forming a collective
hunch.
&lt;/p&gt;
&lt;h4&gt;(4) Estimate by team hunch
&lt;/h4&gt;
&lt;p&gt;
Again, more people involved might mean better estimation, due to larger feedback.
There is the obvious risk of “2 people, 3 opinions”, but at least you’ll have some
other, non imaginary, voices of sense.
&lt;/p&gt;
&lt;h4&gt;What does it all mean?
&lt;/h4&gt;
Each method offers some advantages and suffers from some inner faults. Understand
the context and pick wisely. Accept the fact that things change and features might
be thrown away - do not waste time on estimation more than is really required. More
about features estimation to follow… &lt;img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=2da7c0ea-d987-4343-a2ba-6d6d6b194cbf" /&gt;</description>
      <comments>http://lnbogen.com/CommentView,guid,2da7c0ea-d987-4343-a2ba-6d6d6b194cbf.aspx</comments>
      <category>Agile</category>
      <category>Management</category>
    <feedburner:origLink>http://lnbogen.com/2010/07/19/EstimatingFeaturesOptionsContextAndGod.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://lnbogen.com/Trackback.aspx?guid=68336630-dd3c-48f0-912d-413f469937a6</trackback:ping>
      <pingback:server>http://lnbogen.com/pingback.aspx</pingback:server>
      <pingback:target>http://lnbogen.com/PermaLink,guid,68336630-dd3c-48f0-912d-413f469937a6.aspx</pingback:target>
      <dc:creator>Oren Ellenbogen</dc:creator>
      <wfw:comment>http://lnbogen.com/CommentView,guid,68336630-dd3c-48f0-912d-413f469937a6.aspx</wfw:comment>
      <wfw:commentRss>http://lnbogen.com/SyndicationService.asmx/GetEntryCommentsRss?guid=68336630-dd3c-48f0-912d-413f469937a6</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
With a given time window and people, how much can you pull off?
</p>
        <p>
Many managers are requested to offer a plan. Knowing how much you can actually deliver
is one of the toughest question managers need to face with. It’s too elusive to measure
it correctly, and there are many moving parts. You need to please your customers and
your teammates, creating a plan to deliver external and <a href="http://lnbogen.com/2010/07/12/TechnicalFeaturesInYourBacklog.aspx">internal
value</a>, picking wisely what is really feasible. 
</p>
        <p>
I tried to come up with a few tips to make this process a bit more structured, making
it less elusive, less daunting and less “we’ll see as we go”:
</p>
        <p>
1. <b>Pick by External Priority – </b>what<b />will make your customers happy?
Make sure you have the right priority from product / business teams and give it high
consideration in your planning. At the end of the day, you are here to provide value
to your customers.
</p>
        <p>
2. <b>Pick by Internal Priority</b> – making sure you are <a href="http://lnbogen.com/2010/07/10/ConfidenceBuildingMakeItPartOfYourSprint.aspx">building
confidence as part of your Sprint.</a> You want to excel over time, you must devote
the time to allow it.
</p>
        <p>
3. <b>Pick by Features Size –</b> try to see how many features of each size you can
deliver in a Sprint. For example, after 2-3 Sprints, you might notice that you’re
usually able to do X big features, Y medium features and Z small features. Usually
there is a connection between feature size and QA effort or deployment effort, thus
making this size estimation very useful. 
</p>
        <p>
4. <b>Pick by Velocity –</b> if you know you’re able to complete X Story Points (or
Ideal Days) every sprint, based on your last 2-3 Sprints, use this information to
pick Features to fit this number give or take. I always believe that you should aim
for ~120%, to allow positive pressure which encourages self-improvement ideas, but
don’t aim for failure or naïve success. There is nothing to gain there.
</p>
        <p>
5. <b>Pick by Personal Growth – </b>you might pick some features to allow inner growth
in your team. For example, you might notice a need to strengthen one of your teammate’s
leadership skills by allowing her/him to lead bigger features. It doesn’t mean you
should act naively; organization needs is more important than personal whims, but <b>the
organization will never actively push toward personal growth as a goal</b>. It’s up
to you to make time for it.
</p>
        <img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=68336630-dd3c-48f0-912d-413f469937a6" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/lnbogen/~4/rNAReZJ2GG4" height="1" width="1" /></body>
      <title>Planning your Sprint</title>
      <guid isPermaLink="false">http://lnbogen.com/PermaLink,guid,68336630-dd3c-48f0-912d-413f469937a6.aspx</guid>
      <link>http://feedproxy.google.com/~r/lnbogen/~3/rNAReZJ2GG4/PlanningYourSprint.aspx</link>
      <pubDate>Mon, 19 Jul 2010 14:17:56 GMT</pubDate>
      <description>&lt;p&gt;
With a given time window and people, how much can you pull off?
&lt;/p&gt;
&lt;p&gt;
Many managers are requested to offer a plan. Knowing how much you can actually deliver
is one of the toughest question managers need to face with. It’s too elusive to measure
it correctly, and there are many moving parts. You need to please your customers and
your teammates, creating a plan to deliver external and &lt;a href="http://lnbogen.com/2010/07/12/TechnicalFeaturesInYourBacklog.aspx"&gt;internal
value&lt;/a&gt;, picking wisely what is really feasible. 
&lt;/p&gt;
&lt;p&gt;
I tried to come up with a few tips to make this process a bit more structured, making
it less elusive, less daunting and less “we’ll see as we go”:
&lt;/p&gt;
&lt;p&gt;
1. &lt;b&gt;Pick by External Priority – &lt;/b&gt;what&lt;b&gt; &lt;/b&gt;will make your customers happy?
Make sure you have the right priority from product / business teams and give it high
consideration in your planning. At the end of the day, you are here to provide value
to your customers.
&lt;/p&gt;
&lt;p&gt;
2. &lt;b&gt;Pick by Internal Priority&lt;/b&gt; – making sure you are &lt;a href="http://lnbogen.com/2010/07/10/ConfidenceBuildingMakeItPartOfYourSprint.aspx"&gt;building
confidence as part of your Sprint.&lt;/a&gt; You want to excel over time, you must devote
the time to allow it.
&lt;/p&gt;
&lt;p&gt;
3. &lt;b&gt;Pick by Features Size –&lt;/b&gt; try to see how many features of each size you can
deliver in a Sprint. For example, after 2-3 Sprints, you might notice that you’re
usually able to do X big features, Y medium features and Z small features. Usually
there is a connection between feature size and QA effort or deployment effort, thus
making this size estimation very useful. 
&lt;/p&gt;
&lt;p&gt;
4. &lt;b&gt;Pick by Velocity –&lt;/b&gt; if you know you’re able to complete X Story Points (or
Ideal Days) every sprint, based on your last 2-3 Sprints, use this information to
pick Features to fit this number give or take. I always believe that you should aim
for ~120%, to allow positive pressure which encourages self-improvement ideas, but
don’t aim for failure or naïve success. There is nothing to gain there.
&lt;/p&gt;
&lt;p&gt;
5. &lt;b&gt;Pick by Personal Growth – &lt;/b&gt;you might pick some features to allow inner growth
in your team. For example, you might notice a need to strengthen one of your teammate’s
leadership skills by allowing her/him to lead bigger features. It doesn’t mean you
should act naively; organization needs is more important than personal whims, but &lt;b&gt;the
organization will never actively push toward personal growth as a goal&lt;/b&gt;. It’s up
to you to make time for it.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=68336630-dd3c-48f0-912d-413f469937a6" /&gt;</description>
      <comments>http://lnbogen.com/CommentView,guid,68336630-dd3c-48f0-912d-413f469937a6.aspx</comments>
      <category>Agile</category>
      <category>Management</category>
      <category>Scrum</category>
    <feedburner:origLink>http://lnbogen.com/2010/07/19/PlanningYourSprint.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://lnbogen.com/Trackback.aspx?guid=eced51d2-fe62-4a69-b9a7-36d4be683349</trackback:ping>
      <pingback:server>http://lnbogen.com/pingback.aspx</pingback:server>
      <pingback:target>http://lnbogen.com/PermaLink,guid,eced51d2-fe62-4a69-b9a7-36d4be683349.aspx</pingback:target>
      <dc:creator>Oren Ellenbogen</dc:creator>
      <wfw:comment>http://lnbogen.com/CommentView,guid,eced51d2-fe62-4a69-b9a7-36d4be683349.aspx</wfw:comment>
      <wfw:commentRss>http://lnbogen.com/SyndicationService.asmx/GetEntryCommentsRss?guid=eced51d2-fe62-4a69-b9a7-36d4be683349</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
You probably meant to write <b>mail</b> but the keyboard fooled you; but hey! you
can read about leadership, development and coding instead of reading your emails!
What a win!
</p>
        <p>
(I’m curious to see if you reached my blog because of this post, if you did - please
“Like” this post. Viva la <a href="http://www.google.com">Google</a> ;))
</p>
        <img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=eced51d2-fe62-4a69-b9a7-36d4be683349" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/lnbogen/~4/0RiV69PdoiQ" height="1" width="1" /></body>
      <title>צשןך</title>
      <guid isPermaLink="false">http://lnbogen.com/PermaLink,guid,eced51d2-fe62-4a69-b9a7-36d4be683349.aspx</guid>
      <link>http://feedproxy.google.com/~r/lnbogen/~3/0RiV69PdoiQ/%d7%a6%d7%a9%d7%9f%d7%9a.aspx</link>
      <pubDate>Mon, 19 Jul 2010 12:49:09 GMT</pubDate>
      <description>&lt;p&gt;
You probably meant to write &lt;b&gt;mail&lt;/b&gt; but the keyboard fooled you; but hey! you
can read about leadership, development and coding instead of reading your emails!
What a win!
&lt;/p&gt;
&lt;p&gt;
(I’m curious to see if you reached my blog because of this post, if you did - please
“Like” this post. Viva la &lt;a href="http://www.google.com"&gt;Google&lt;/a&gt; ;))
&lt;/p&gt;
&lt;img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=eced51d2-fe62-4a69-b9a7-36d4be683349" /&gt;</description>
      <comments>http://lnbogen.com/CommentView,guid,eced51d2-fe62-4a69-b9a7-36d4be683349.aspx</comments>
    <feedburner:origLink>http://lnbogen.com/2010/07/19/%d7%a6%d7%a9%d7%9f%d7%9a.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://lnbogen.com/Trackback.aspx?guid=bde22e9b-5a3e-46c7-876a-e489ea1d671e</trackback:ping>
      <pingback:server>http://lnbogen.com/pingback.aspx</pingback:server>
      <pingback:target>http://lnbogen.com/PermaLink,guid,bde22e9b-5a3e-46c7-876a-e489ea1d671e.aspx</pingback:target>
      <dc:creator>Oren Ellenbogen</dc:creator>
      <wfw:comment>http://lnbogen.com/CommentView,guid,bde22e9b-5a3e-46c7-876a-e489ea1d671e.aspx</wfw:comment>
      <wfw:commentRss>http://lnbogen.com/SyndicationService.asmx/GetEntryCommentsRss?guid=bde22e9b-5a3e-46c7-876a-e489ea1d671e</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
After talking quite a bit about <u><a href="http://lnbogen.com/2010/07/12/HowToBreakFeatureIntoTasks.aspx">how
to break a Feature into tasks</a></u> and <u><a href="http://lnbogen.com/2010/07/13/HowToBreakFeatureIntoTasksNoLeftovers.aspx">avoiding
leftovers</a></u>, I would like to address the natural habit of what I call “blindly
moving forward”. How often do you find yourself after 3 days of coding, still unclear
of how many days are left or whether or not you’re closer to the end? How often you
tend to forget what exactly you originally meant by “the end”? How often you find
yourself feeling <b>too invested</b> to stop and figure out what the hack is going
on? 
</p>
        <p>
We are, naturally, very outcome oriented. “I need this Feature done until tomorrow”
or “I need to see your plans for next Sprint until end of day” keep pushing us during
our daily effort. We are driven to supply outcomes, losing the ability to track the
big picture because of vast, ever growing demand for results. Just like multi-threading
coding, it’s not enough to throw some languages, tools or IDE with cool debugging
options to the mix; <b>we need to change the way we think and act</b>, to supply visibility
rather than mere progress. 
</p>
        <p>
When breaking a Feature, ask yourself these questions:
</p>
        <ol>
          <li>
Do you fully understand the Feature business value?</li>
          <li>
Do you have Risks mapping (what can go wrong and what to do on such case)?</li>
          <li>
Do you have the right people in-sync? (QA, Operations or other relevant team members)</li>
          <li>
Do you <u><a href="http://lnbogen.com/2010/07/12/HowToBreakFeatureIntoTasks.aspx">break
the Features by layers or by verticals</a></u>? Are you OK with that?</li>
          <li>
Do you have low granularity of tasks (up to 3-4 hours)? Enough to make you feel good
about “no surprises”? Enough to allow others to join you?</li>
          <li>
Do you know when you’ll be code-ready? Can you commit to a date?</li>
        </ol>
        <p>
As a Team leader, you should ask for visibility from your teammates. They should <u>earn
your confidence</u> by offering a complete plan, knowing what the expected outcome
is and communicate their status during the development time. If you ask me, I will
always prefer better understanding of current status over naïve “I managed to progress
today”. 
</p>
        <p>
As a developer, you should aspire for complete visibility to make sure you’re moving
in the right path. This will allow others to give you honest feedback, join you if
you’re a bit behind schedule and practice leadership in a way that is building confidence
in your organization: people will feel that you know what you’re doing and will trust
your good judgment and commitments. <b>They will feel more confident when you’re behind
the wheel</b>.
</p>
        <p>
If you feel that this is an overhead, you probably in a misconception of the time
it will take you versus the time it will save you. Answering the above shouldn’t take
5 days; it should take couple of hours. This will ease your mind regarding “did I
miss something?”, saving you hours of juggling between <b>building confidence</b> with
your manager(“Can you update your progress?”, “Where are you standing?”) and actually <strong>building
the software</strong>.
</p>
        <img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=bde22e9b-5a3e-46c7-876a-e489ea1d671e" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/lnbogen/~4/8UcDKNSXhMI" height="1" width="1" /></body>
      <title>Visibility over Progress</title>
      <guid isPermaLink="false">http://lnbogen.com/PermaLink,guid,bde22e9b-5a3e-46c7-876a-e489ea1d671e.aspx</guid>
      <link>http://feedproxy.google.com/~r/lnbogen/~3/8UcDKNSXhMI/VisibilityOverProgress.aspx</link>
      <pubDate>Mon, 19 Jul 2010 12:34:17 GMT</pubDate>
      <description>&lt;p&gt;
After talking quite a bit about &lt;u&gt;&lt;a href="http://lnbogen.com/2010/07/12/HowToBreakFeatureIntoTasks.aspx"&gt;how
to break a Feature into tasks&lt;/a&gt;&lt;/u&gt; and &lt;u&gt;&lt;a href="http://lnbogen.com/2010/07/13/HowToBreakFeatureIntoTasksNoLeftovers.aspx"&gt;avoiding
leftovers&lt;/a&gt;&lt;/u&gt;, I would like to address the natural habit of what I call “blindly
moving forward”. How often do you find yourself after 3 days of coding, still unclear
of how many days are left or whether or not you’re closer to the end? How often you
tend to forget what exactly you originally meant by “the end”? How often you find
yourself feeling &lt;b&gt;too invested&lt;/b&gt; to stop and figure out what the hack is going
on? 
&lt;/p&gt;
&lt;p&gt;
We are, naturally, very outcome oriented. “I need this Feature done until tomorrow”
or “I need to see your plans for next Sprint until end of day” keep pushing us during
our daily effort. We are driven to supply outcomes, losing the ability to track the
big picture because of vast, ever growing demand for results. Just like multi-threading
coding, it’s not enough to throw some languages, tools or IDE with cool debugging
options to the mix; &lt;b&gt;we need to change the way we think and act&lt;/b&gt;, to supply visibility
rather than mere progress. 
&lt;/p&gt;
&lt;p&gt;
When breaking a Feature, ask yourself these questions:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
Do you fully understand the Feature business value?&lt;/li&gt;
&lt;li&gt;
Do you have Risks mapping (what can go wrong and what to do on such case)?&lt;/li&gt;
&lt;li&gt;
Do you have the right people in-sync? (QA, Operations or other relevant team members)&lt;/li&gt;
&lt;li&gt;
Do you &lt;u&gt;&lt;a href="http://lnbogen.com/2010/07/12/HowToBreakFeatureIntoTasks.aspx"&gt;break
the Features by layers or by verticals&lt;/a&gt;&lt;/u&gt;? Are you OK with that?&lt;/li&gt;
&lt;li&gt;
Do you have low granularity of tasks (up to 3-4 hours)? Enough to make you feel good
about “no surprises”? Enough to allow others to join you?&lt;/li&gt;
&lt;li&gt;
Do you know when you’ll be code-ready? Can you commit to a date?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
As a Team leader, you should ask for visibility from your teammates. They should &lt;u&gt;earn
your confidence&lt;/u&gt; by offering a complete plan, knowing what the expected outcome
is and communicate their status during the development time. If you ask me, I will
always prefer better understanding of current status over naïve “I managed to progress
today”. 
&lt;/p&gt;
&lt;p&gt;
As a developer, you should aspire for complete visibility to make sure you’re moving
in the right path. This will allow others to give you honest feedback, join you if
you’re a bit behind schedule and practice leadership in a way that is building confidence
in your organization: people will feel that you know what you’re doing and will trust
your good judgment and commitments. &lt;b&gt;They will feel more confident when you’re behind
the wheel&lt;/b&gt;.
&lt;/p&gt;
&lt;p&gt;
If you feel that this is an overhead, you probably in a misconception of the time
it will take you versus the time it will save you. Answering the above shouldn’t take
5 days; it should take couple of hours. This will ease your mind regarding “did I
miss something?”, saving you hours of juggling between &lt;b&gt;building confidence&lt;/b&gt; with
your manager(“Can you update your progress?”, “Where are you standing?”) and actually &lt;strong&gt;building
the software&lt;/strong&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=bde22e9b-5a3e-46c7-876a-e489ea1d671e" /&gt;</description>
      <comments>http://lnbogen.com/CommentView,guid,bde22e9b-5a3e-46c7-876a-e489ea1d671e.aspx</comments>
      <category>Agile</category>
      <category>Management</category>
      <category>Self Management</category>
    <feedburner:origLink>http://lnbogen.com/2010/07/19/VisibilityOverProgress.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://lnbogen.com/Trackback.aspx?guid=37face7d-4baf-43d0-8a61-15020c29894c</trackback:ping>
      <pingback:server>http://lnbogen.com/pingback.aspx</pingback:server>
      <pingback:target>http://lnbogen.com/PermaLink,guid,37face7d-4baf-43d0-8a61-15020c29894c.aspx</pingback:target>
      <dc:creator>Oren Ellenbogen</dc:creator>
      <wfw:comment>http://lnbogen.com/CommentView,guid,37face7d-4baf-43d0-8a61-15020c29894c.aspx</wfw:comment>
      <wfw:commentRss>http://lnbogen.com/SyndicationService.asmx/GetEntryCommentsRss?guid=37face7d-4baf-43d0-8a61-15020c29894c</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Leaving a comment is considered a bigger commitment than just voting “Like” or “Recommend”
on a post you feel is useful. I believe that such information, which posts you find
interesting, is <strong>also</strong> useful to other readers. With this information,
others can find more recommended posts, even though they don’t necessarily contain
50 comments. 
</p>
        <p>
This is why I added <a href="http://developers.facebook.com/docs/reference/plugins/like">“Facebook
Like Button”</a> to my blog. 
<br />
If you Like it, let me know :)
</p>
        <img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=37face7d-4baf-43d0-8a61-15020c29894c" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/lnbogen/~4/3uAaXqKWC7o" height="1" width="1" /></body>
      <title>Lnbogen meets Facebook Like</title>
      <guid isPermaLink="false">http://lnbogen.com/PermaLink,guid,37face7d-4baf-43d0-8a61-15020c29894c.aspx</guid>
      <link>http://feedproxy.google.com/~r/lnbogen/~3/3uAaXqKWC7o/LnbogenMeetsFacebookLike.aspx</link>
      <pubDate>Thu, 15 Jul 2010 12:58:52 GMT</pubDate>
      <description>&lt;p&gt;
Leaving a comment is considered a bigger commitment than just voting “Like” or “Recommend”
on a post you feel is useful. I believe that such information, which posts you find
interesting, is &lt;strong&gt;also&lt;/strong&gt; useful to other readers. With this information,
others can find more recommended posts, even though they don’t necessarily contain
50 comments. 
&lt;/p&gt;
&lt;p&gt;
This is why I added &lt;a href="http://developers.facebook.com/docs/reference/plugins/like"&gt;“Facebook
Like Button”&lt;/a&gt; to my blog. 
&lt;br /&gt;
If you Like it, let me know :)
&lt;/p&gt;
&lt;img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=37face7d-4baf-43d0-8a61-15020c29894c" /&gt;</description>
      <comments>http://lnbogen.com/CommentView,guid,37face7d-4baf-43d0-8a61-15020c29894c.aspx</comments>
    <feedburner:origLink>http://lnbogen.com/2010/07/15/LnbogenMeetsFacebookLike.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://lnbogen.com/Trackback.aspx?guid=1639e3a1-39f8-4ca3-b456-271c50e43f78</trackback:ping>
      <pingback:server>http://lnbogen.com/pingback.aspx</pingback:server>
      <pingback:target>http://lnbogen.com/PermaLink,guid,1639e3a1-39f8-4ca3-b456-271c50e43f78.aspx</pingback:target>
      <dc:creator>Oren Ellenbogen</dc:creator>
      <wfw:comment>http://lnbogen.com/CommentView,guid,1639e3a1-39f8-4ca3-b456-271c50e43f78.aspx</wfw:comment>
      <wfw:commentRss>http://lnbogen.com/SyndicationService.asmx/GetEntryCommentsRss?guid=1639e3a1-39f8-4ca3-b456-271c50e43f78</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Many times when picking Features as execution unit, it’s hard to fit a big Feature
into Sprint. This always cause the feeling of Features is too big as an execution
units, leading some organization to prefer User Stories over Features, <u><a href="http://lnbogen.com/2010/07/10/UserStoriesDoNotReplaceFeatures.aspx">wrongfully
neglecting Features</a></u> over time. User Stories as execution unit are not the
optimal way to go as they don’t provide enough value by themselves - you need to have
“enough” Story Points to release a valuable version to your customers. They are also
too abstract to understand the big picture, missing the overall why behind them. I
believe that <u><a href="http://lnbogen.com/2010/07/12/HowToBreakFeatureIntoTasks.aspx">Feature
broken into Tasks</a></u> is a better approach and better execution unit. Obviously,
there are multiple approaches to deal with big Features. You should pick the right
tool according to requirements and people involved.
</p>
        <h4>Breaking Big Feature, some options:
</h4>
        <p>
1. <b>Extract design from execution:</b> You can complete the design of a big Feature
in Sprint 1 and implement it on Sprint 2. This way, instead of having a very big design
effort and implementation effort on the same Sprint, you can use the first Sprint
to understand effort and risks and use the second sprint to implement and deliver
the goods, after understanding ROI better.
</p>
        <p>
2. <b>Extract framework from client:</b> User Stories, just like Scrum in a way, introduce
too many <a href="http://blog.assembla.com/assemblablog/tabid/12618/bid/5543/Do-s-and-Don-ts-for-User-Stories-Use-Cases-Scenarios.aspx">“Do’s
and Don’ts”</a>. For example, it’s considered a <u><a href="http://blog.agilebuddy.com/2010/01/technical-stories---are-they-included-on-the-backlog.html">“bad
practice” to have Technical User Stories</a></u>. I believe that if the framework
has specific needs (raised by the Feature) and it’s easy to break it out from the
Feature itself (user behavior), it’s perfectly okay. It’s actually another step in
the right way to <u><a href="http://lnbogen.com/2010/07/10/ConfidenceBuildingMakeItPartOfYourSprint.aspx">build
confidence as part of your Sprint</a></u>!
</p>
        <p>
3. <b>Break big value to multiple smaller values (*caution*):</b> Features, by nature,
bring a value to your customers. It is possible though, to break the value into multiple
Features, each carries only part of the value, without damaging the overall behavior.
Instead of creating a “Search Engine” feature, it’s perfectly fine to define “People
Search” and “Articles Search” as different features, each bringing different value.
It’s even better to define sub Features inside “People Search” to enrich user experience
over time, according to feedback by your customers. <em>Caution</em>: you need to
do it carefully, sometimes breaking a Feature into multiple Features is silly as each
doesn’t bring enough value by itself, until all of the pieces come together. Still,
this is a powerful question to use: “Can we deliver real value to our customers by
breaking this into multiple parts?”. 
</p>
        <p>
Most of the time, your <a href="http://lnbogen.com/2010/07/08/SprintPlanJustEnoughDoItReflect.aspx">Features
should be small enough to fit a Sprint</a>. It’s that simple - if the features are
usually estimated in 2 weeks, don’t have a 1 week sprint. That being said, you should
have the right (or at least some) tools to handle big Features. <strong>If it wasn’t
obvious so far, don’t be afraid to “twist and mix Agile”</strong>. You owe it to yourself
to understand why you’re doing things and adjust it if needed, even if it’s written
in some book that it’s a “bad practice”. It might be bad for them, but it might be
perfectly fine for you.
</p>
        <img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=1639e3a1-39f8-4ca3-b456-271c50e43f78" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/lnbogen/~4/Q9t7C8O6TwU" height="1" width="1" /></body>
      <title>Adjusting big Features to Sprints</title>
      <guid isPermaLink="false">http://lnbogen.com/PermaLink,guid,1639e3a1-39f8-4ca3-b456-271c50e43f78.aspx</guid>
      <link>http://feedproxy.google.com/~r/lnbogen/~3/Q9t7C8O6TwU/AdjustingBigFeaturesToSprints.aspx</link>
      <pubDate>Tue, 13 Jul 2010 12:46:33 GMT</pubDate>
      <description>&lt;p&gt;
Many times when picking Features as execution unit, it’s hard to fit a big Feature
into Sprint. This always cause the feeling of Features is too big as an execution
units, leading some organization to prefer User Stories over Features, &lt;u&gt;&lt;a href="http://lnbogen.com/2010/07/10/UserStoriesDoNotReplaceFeatures.aspx"&gt;wrongfully
neglecting Features&lt;/a&gt;&lt;/u&gt; over time. User Stories as execution unit are not the
optimal way to go as they don’t provide enough value by themselves - you need to have
“enough” Story Points to release a valuable version to your customers. They are also
too abstract to understand the big picture, missing the overall why behind them. I
believe that &lt;u&gt;&lt;a href="http://lnbogen.com/2010/07/12/HowToBreakFeatureIntoTasks.aspx"&gt;Feature
broken into Tasks&lt;/a&gt;&lt;/u&gt; is a better approach and better execution unit. Obviously,
there are multiple approaches to deal with big Features. You should pick the right
tool according to requirements and people involved.
&lt;/p&gt;
&lt;h4&gt;Breaking Big Feature, some options:
&lt;/h4&gt;
&lt;p&gt;
1. &lt;b&gt;Extract design from execution:&lt;/b&gt; You can complete the design of a big Feature
in Sprint 1 and implement it on Sprint 2. This way, instead of having a very big design
effort and implementation effort on the same Sprint, you can use the first Sprint
to understand effort and risks and use the second sprint to implement and deliver
the goods, after understanding ROI better.
&lt;/p&gt;
&lt;p&gt;
2. &lt;b&gt;Extract framework from client:&lt;/b&gt; User Stories, just like Scrum in a way, introduce
too many &lt;a href="http://blog.assembla.com/assemblablog/tabid/12618/bid/5543/Do-s-and-Don-ts-for-User-Stories-Use-Cases-Scenarios.aspx"&gt;“Do’s
and Don’ts”&lt;/a&gt;. For example, it’s considered a &lt;u&gt;&lt;a href="http://blog.agilebuddy.com/2010/01/technical-stories---are-they-included-on-the-backlog.html"&gt;“bad
practice” to have Technical User Stories&lt;/a&gt;&lt;/u&gt;. I believe that if the framework
has specific needs (raised by the Feature) and it’s easy to break it out from the
Feature itself (user behavior), it’s perfectly okay. It’s actually another step in
the right way to &lt;u&gt;&lt;a href="http://lnbogen.com/2010/07/10/ConfidenceBuildingMakeItPartOfYourSprint.aspx"&gt;build
confidence as part of your Sprint&lt;/a&gt;&lt;/u&gt;!
&lt;/p&gt;
&lt;p&gt;
3. &lt;b&gt;Break big value to multiple smaller values (*caution*):&lt;/b&gt; Features, by nature,
bring a value to your customers. It is possible though, to break the value into multiple
Features, each carries only part of the value, without damaging the overall behavior.
Instead of creating a “Search Engine” feature, it’s perfectly fine to define “People
Search” and “Articles Search” as different features, each bringing different value.
It’s even better to define sub Features inside “People Search” to enrich user experience
over time, according to feedback by your customers. &lt;em&gt;Caution&lt;/em&gt;: you need to
do it carefully, sometimes breaking a Feature into multiple Features is silly as each
doesn’t bring enough value by itself, until all of the pieces come together. Still,
this is a powerful question to use: “Can we deliver real value to our customers by
breaking this into multiple parts?”. 
&lt;/p&gt;
&lt;p&gt;
Most of the time, your &lt;a href="http://lnbogen.com/2010/07/08/SprintPlanJustEnoughDoItReflect.aspx"&gt;Features
should be small enough to fit a Sprint&lt;/a&gt;. It’s that simple - if the features are
usually estimated in 2 weeks, don’t have a 1 week sprint. That being said, you should
have the right (or at least some) tools to handle big Features. &lt;strong&gt;If it wasn’t
obvious so far, don’t be afraid to “twist and mix Agile”&lt;/strong&gt;. You owe it to yourself
to understand why you’re doing things and adjust it if needed, even if it’s written
in some book that it’s a “bad practice”. It might be bad for them, but it might be
perfectly fine for you.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=1639e3a1-39f8-4ca3-b456-271c50e43f78" /&gt;</description>
      <comments>http://lnbogen.com/CommentView,guid,1639e3a1-39f8-4ca3-b456-271c50e43f78.aspx</comments>
      <category>Agile</category>
      <category>Management</category>
      <category>Scrum</category>
    <feedburner:origLink>http://lnbogen.com/2010/07/13/AdjustingBigFeaturesToSprints.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://lnbogen.com/Trackback.aspx?guid=bf30d2e5-88d5-47b5-b865-41eaba32c01e</trackback:ping>
      <pingback:server>http://lnbogen.com/pingback.aspx</pingback:server>
      <pingback:target>http://lnbogen.com/PermaLink,guid,bf30d2e5-88d5-47b5-b865-41eaba32c01e.aspx</pingback:target>
      <dc:creator>Oren Ellenbogen</dc:creator>
      <wfw:comment>http://lnbogen.com/CommentView,guid,bf30d2e5-88d5-47b5-b865-41eaba32c01e.aspx</wfw:comment>
      <wfw:commentRss>http://lnbogen.com/SyndicationService.asmx/GetEntryCommentsRss?guid=bf30d2e5-88d5-47b5-b865-41eaba32c01e</wfw:commentRss>
      <title>Beautiful Code?</title>
      <guid isPermaLink="false">http://lnbogen.com/PermaLink,guid,bf30d2e5-88d5-47b5-b865-41eaba32c01e.aspx</guid>
      <link>http://feedproxy.google.com/~r/lnbogen/~3/9enr4tNnkN0/BeautifulCode.aspx</link>
      <pubDate>Tue, 13 Jul 2010 09:44:27 GMT</pubDate>
      <description>&lt;p&gt;
I remember enjoying &lt;a href="http://www.codinghorror.com/blog/"&gt;Jeff Atwood’s&lt;/a&gt; (aka
Coding Horror) post about &lt;u&gt;&lt;a href="http://www.codinghorror.com/blog/2008/02/code-isnt-beautiful.html"&gt;“code
isn’t beautiful”&lt;/a&gt;&lt;/u&gt;. It took me a while explaining to myself why people are chasing
after “beautiful code” so much. Why people are so passionate finding or forming beautiful
code? Should great painters talk about beautiful colors or beautiful paintbrushes?
I always thought they appreciate the entire painting, created and driven from emotions,
dreams, ideas, styles and yes - colors &amp; paintbrushes. They appreciate &lt;strong&gt;“the
all” &lt;/strong&gt;more then the exact technicalities. Why are we trying to figure out
the best paintbrush to use or the best color? Why not trying to figure out the "best
all", the best experience, the best value, the best process?
&lt;/p&gt;
&lt;p&gt;
I would define Beautiful Software as a surface to allow three magic abilities to emerge:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
It should be easy to add new Features.&lt;/li&gt;
&lt;li&gt;
It should be easy to change existing Features.&lt;/li&gt;
&lt;li&gt;
It should be easy for new teammate to become productive almost immediately.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
If you’re able to have these abilities in your painting, your software, then you’re
probably doing something beautiful; you probably figured out the correct paintbrushes,
the right colors and most important - how to use them wisely to introduce true beauty. 
&lt;/p&gt;
&lt;p&gt;
I am not mentioning pseudo-code, language specific or whether or not testing is worthy.
There are many ways to paint beautifully, it is up to you to figure out &lt;b&gt;what makes
software beautiful to you&lt;/b&gt; and figure out the right tools and process to achieve
it. Don’t hang to tight to the “perfect algorithm” or “perfect Design Pattern”. There
is nothing neither perfect nor beautiful about color or paintbrush by itself.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=bf30d2e5-88d5-47b5-b865-41eaba32c01e" /&gt;&lt;img src="http://feeds.feedburner.com/~r/lnbogen/~4/9enr4tNnkN0" height="1" width="1"/&gt;</description>
      <comments>http://lnbogen.com/CommentView,guid,bf30d2e5-88d5-47b5-b865-41eaba32c01e.aspx</comments>
      <category>Agile</category>
      <category>Management</category>
    <feedburner:origLink>http://lnbogen.com/2010/07/13/BeautifulCode.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://lnbogen.com/Trackback.aspx?guid=790ea949-9791-47f3-823f-0e0f36e01828</trackback:ping>
      <pingback:server>http://lnbogen.com/pingback.aspx</pingback:server>
      <pingback:target>http://lnbogen.com/PermaLink,guid,790ea949-9791-47f3-823f-0e0f36e01828.aspx</pingback:target>
      <dc:creator>Oren Ellenbogen</dc:creator>
      <wfw:comment>http://lnbogen.com/CommentView,guid,790ea949-9791-47f3-823f-0e0f36e01828.aspx</wfw:comment>
      <wfw:commentRss>http://lnbogen.com/SyndicationService.asmx/GetEntryCommentsRss?guid=790ea949-9791-47f3-823f-0e0f36e01828</wfw:commentRss>
      <title>How to break Feature into Tasks: no leftovers!</title>
      <guid isPermaLink="false">http://lnbogen.com/PermaLink,guid,790ea949-9791-47f3-823f-0e0f36e01828.aspx</guid>
      <link>http://feedproxy.google.com/~r/lnbogen/~3/mwq8s6S_Ihg/HowToBreakFeatureIntoTasksNoLeftovers.aspx</link>
      <pubDate>Tue, 13 Jul 2010 08:44:19 GMT</pubDate>
      <description>&lt;p&gt;
Once you decide &lt;u&gt;&lt;a href="http://lnbogen.com/2010/07/12/HowToBreakFeatureIntoTasks.aspx"&gt;how
to break a feature into tasks&lt;/a&gt;&lt;/u&gt;, it’s crucial to make sure you don’t leave any
leftovers as part of the breakdown. Feature breakdown must include each and every
task to make it a &lt;b&gt;complete unit&lt;/b&gt; you can deploy as part of a &lt;u&gt;&lt;a href="http://lnbogen.com/2010/07/08/VersionExtractReleasesFromSprints.aspx"&gt;version&lt;/a&gt;&lt;/u&gt;.
Completeness means that not only a Feature is deployable and it can be monitored,
it’s also with great external quality (no major bugs left behind) and great internal
quality (design-review, QA test-cases review, code-review, UI review).
&lt;/p&gt;
&lt;p&gt;
You want to price a Feature by the gross organization time; this is the only way to
understand how much a Feature really costs. Knowing that, you can correctly price
future roadmap without needing “Bugs Elimination Sprint” or “Big Refactoring Sprint”
to introduce quality &lt;strong&gt;after&lt;/strong&gt; things were delivered to your customers.
&lt;/p&gt;
&lt;h4&gt;No leftovers:
&lt;/h4&gt;
&lt;p&gt;
1. &lt;b&gt;Design review&lt;/b&gt; – may it be over emails or formal meeting, the design should
be solid and well thought
&lt;/p&gt;
&lt;p&gt;
2. &lt;b&gt;QA test-cases review&lt;/b&gt; – making sure QA will test the right things or add
more test cases for relevant edge-cases.
&lt;/p&gt;
&lt;p&gt;
3. &lt;b&gt;Testing time&lt;/b&gt; - writing tests (unit + integration) should be priced as part
of the Feature, not after, not next sprint.
&lt;/p&gt;
&lt;p&gt;
4. &lt;b&gt;Code review&lt;/b&gt; – for knowledge sharing and internal quality validation.
&lt;/p&gt;
&lt;p&gt;
5. &lt;b&gt;UI review&lt;/b&gt; – making sure the UI look &amp; feel just like Product team wanted
it to be.
&lt;/p&gt;
&lt;p&gt;
6. &lt;strong&gt;Bug fixing + validation buffer&lt;/strong&gt; – fixing major bugs should be priced
as well! if you’re not sure how much time to spend, start with 5-10% of the total
estimated effort, and learn from your experience (by Feature size, complexity etc)
&lt;/p&gt;
&lt;p&gt;
You can add more to this list, if the team/organization needs it. The idea is to make
sure that once a Feature is complete, you’re feeling great about it and got confidence
it won’t be fired back to the kitchen, to cook from scratch. You should have the same
confidence about changing an existing feature; it should be easy, voodoo-less and
highly testable to do so, with low chances of breaking other flows in the system.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=790ea949-9791-47f3-823f-0e0f36e01828" /&gt;&lt;img src="http://feeds.feedburner.com/~r/lnbogen/~4/mwq8s6S_Ihg" height="1" width="1"/&gt;</description>
      <comments>http://lnbogen.com/CommentView,guid,790ea949-9791-47f3-823f-0e0f36e01828.aspx</comments>
      <category>Agile</category>
      <category>Management</category>
      <category>Scrum</category>
      <category>Self Management</category>
    <feedburner:origLink>http://lnbogen.com/2010/07/13/HowToBreakFeatureIntoTasksNoLeftovers.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://lnbogen.com/Trackback.aspx?guid=63520ab9-8ca2-486e-a60a-3c00bedec43d</trackback:ping>
      <pingback:server>http://lnbogen.com/pingback.aspx</pingback:server>
      <pingback:target>http://lnbogen.com/PermaLink,guid,63520ab9-8ca2-486e-a60a-3c00bedec43d.aspx</pingback:target>
      <dc:creator>Oren Ellenbogen</dc:creator>
      <wfw:comment>http://lnbogen.com/CommentView,guid,63520ab9-8ca2-486e-a60a-3c00bedec43d.aspx</wfw:comment>
      <wfw:commentRss>http://lnbogen.com/SyndicationService.asmx/GetEntryCommentsRss?guid=63520ab9-8ca2-486e-a60a-3c00bedec43d</wfw:commentRss>
      <title>Technical Features (in your) backlog</title>
      <guid isPermaLink="false">http://lnbogen.com/PermaLink,guid,63520ab9-8ca2-486e-a60a-3c00bedec43d.aspx</guid>
      <link>http://feedproxy.google.com/~r/lnbogen/~3/PzWVZ_o_j7I/TechnicalFeaturesInYourBacklog.aspx</link>
      <pubDate>Mon, 12 Jul 2010 11:20:28 GMT</pubDate>
      <description>&lt;p&gt;
One of your responsibilities as a developer or team leader is to make sure &lt;u&gt;&lt;a href="http://lnbogen.com/2010/07/10/ConfidenceBuildingMakeItPartOfYourSprint.aspx"&gt;you’ll
be able to shine over time by constantly building confidence&lt;/a&gt;&lt;/u&gt;. This is why
I strongly believe in maintaining a list of technical Features as part of your backlog.
These are Features you believe will make the application more robust, provide better
monitoring or make the team more productive (&amp; happier) on their day-to-day work. 
&lt;/p&gt;
&lt;h4&gt;Have it to pass the message “we leave nothing as technical debt”
&lt;/h4&gt;
&lt;p&gt;
When someone in your team says “we really need to refactor this! it way too buggy
and we cannot write tests for it”, don’t make it a technical debt that is written
as a comment in the code or as a note on someone’s inbox. Make it a Feature, make
it part of your backlog, pass the message that even though we cannot fix everything
now, we will give it the right attention.
&lt;/p&gt;
&lt;h4&gt;Have it to build confidence
&lt;/h4&gt;
&lt;p&gt;
Pick a few technical Features at each Sprint and make them a reality. This will make
sure your team will be able to continue to produce fast and with great quality. Plan
how much effort, from the entire Sprint, you would like to use to reduce waste - 1%?
5%? 10%? More? It’s really up to you. You need to &lt;strong&gt;balance&lt;/strong&gt; it with
thoughts of producing value to your customers while producing value to your team.
&lt;/p&gt;
&lt;h4&gt;Have it for rough times
&lt;/h4&gt;
&lt;p&gt;
Having technical backlog is very useful when you need to re-plan the next few &lt;u&gt;versions&lt;/u&gt; due
to priority shift by the product teams, while your teammates are waiting for work.
You can reduce pressure by letting them kill waste while you make certainty in the
plans.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=63520ab9-8ca2-486e-a60a-3c00bedec43d" /&gt;&lt;img src="http://feeds.feedburner.com/~r/lnbogen/~4/PzWVZ_o_j7I" height="1" width="1"/&gt;</description>
      <comments>http://lnbogen.com/CommentView,guid,63520ab9-8ca2-486e-a60a-3c00bedec43d.aspx</comments>
      <category>Agile</category>
      <category>Management</category>
      <category>Scrum</category>
    <feedburner:origLink>http://lnbogen.com/2010/07/12/TechnicalFeaturesInYourBacklog.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://lnbogen.com/Trackback.aspx?guid=a7854639-4fd3-4ad6-81c1-95e6eadafb57</trackback:ping>
      <pingback:server>http://lnbogen.com/pingback.aspx</pingback:server>
      <pingback:target>http://lnbogen.com/PermaLink,guid,a7854639-4fd3-4ad6-81c1-95e6eadafb57.aspx</pingback:target>
      <dc:creator>Oren Ellenbogen</dc:creator>
      <wfw:comment>http://lnbogen.com/CommentView,guid,a7854639-4fd3-4ad6-81c1-95e6eadafb57.aspx</wfw:comment>
      <wfw:commentRss>http://lnbogen.com/SyndicationService.asmx/GetEntryCommentsRss?guid=a7854639-4fd3-4ad6-81c1-95e6eadafb57</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
There are many ways to take a <u><a href="http://lnbogen.com/2010/07/10/FeatureUserStoryAndTask.aspx">Feature</a></u> and
break it into workable unit of <u><a href="http://lnbogen.com/2010/07/10/FeatureUserStoryAndTask.aspx">Tasks</a></u>.
Measuring “breakdown quality” is being ignored most of the time, as it’s very elusive
to define “good breakdown”. The ability to break something into smaller pieces is
one of the biggest signs of an experienced craftsman, so you should definitely challenge
yourself by asking: am I known for predicting work effort well? detecting edge-cases
early? Communicate progress to my boss clearly? being able to work with others on
the same thing smoothly?
</p>
        <h5>
        </h5>
        <h4>Introducing a Feature
</h4>
        <p>
Before we can play with breaking Feature into tasks, we need to have an example of
a Feature in front of us. Let’s pretend that our desired Feature is “Signup and Sign-in”
where to goal is to allow users to register and sign-in to the system. Next, here
are the flows: 
<br />
1. User can enter the signup page, if she’s not currently signed-in (else - redirect
to homepage). 
<br />
2. User can enter his details and signup. 
<br />
3. User details will be validated, by [rules]. If failed - user will be asked to fix
and re-send. 
<br />
4. User will need to confirm her signup via email, before signing-in. 
<br />
5. User can sign-in only after confirming her signup, if pending – show message. 
<br />
6. User can sign-in in case she’s not signed-in already, using her credentials. 
<br />
7. User can sign-out, only if she’s currently signed-in. 
<br />
8. Page header needs to show relevant links, according to whether or not the user
is currently signed-in. 
<br />
9. If user fails to login multiple times (configurable), deny login for X minutes 
<br />
… 
<br />
[a few mockups here, a few technical/business notes there regarding URL structure,
SEO to have in mind, analytics requirements, etc]
</p>
        <h5>
        </h5>
        <h4>Breaking by Layers, the common way
</h4>
        <p>
A very common way is to break Feature by “application layers”: 
<br />
1. Adjust database schema. 
<br />
2. Create Data Access code to allow persistence of user (details, credentials encrypted
etc) and retrieval of information. 
<br />
3. Create Business Layer logic to validate credentials, confirm signup, perform sign-in. 
<br />
4. Add signup and sign-in pages, alter header according to user state. 
<br />
5. Add relevant validation on client side via javascript.
</p>
        <p>
You can imagine that each task here will be a priced as 10-15 hours or even more,
according to the implementer and the exact details. If the implementer founds an edge-case,
it might mean that the every one of the layers here will be affected by it, making
the estimation even less reliable.
</p>
        <h4>Breaking by Verticals 
</h4>
        <p>
A different approach will be using the flows above to form the tasks: 
<br />
* create readConfiguration helper method 
<br />
* create validateUserDetails method for server side 
<br />
* create generateConfirmationNumber(userDetails) method 
<br />
* create(/use) email sender provider 
<br />
* create validateUserDetails for client-side 
<br />
* create signup(userDetails) - schema to store user details, Data Access and Business
to validate information and activate generateConfirmationNumber for sending confirmation
email. 
<br />
* create signup page (using validateUserDetails, signup method) 
<br />
* create signin(credentials) method – schema to store number of login attempts, Data
Access and Business to validate information, blocking user due to multiple attempts. 
<br />
* create confirmUser method - Data Access and Bussiness to validate confirmation 
<br />
* create signup confirmation page. 
<br />
* create signin page 
<br />
* create isLoggedIn method 
<br />
* change header links according to status (via isLoggedIn) 
<br />
* redirect user on entering signup page when currently signed-in (via isLoggedIn)
</p>
        <p>
It’s not a 1:1 match between Task and flow, sometimes one flow will require multiple
Tasks, but the <b>flows drive the breakdown</b>. No doubt, all of the tasks here are
much smaller, each will take around 1-4 hours and very self-explanatory.
</p>
        <h4>Why should you prefer Verticals breaking?
</h4>
        <p>
          <b>Confidence in achieving progress</b>: if you strive for small tasks (up to 3-4
hours), it means that you’ll need to understand <strong>exactly</strong> what is needed
to be done before committing to it. Every time you’ll finish a task, you’ll feel better
that you’re moving on the right path. Because tasks are small, you will enjoy this
feeling a few times during a day, which is important. You need to run away from “I
wrote some code today, but I’m not sure if I’m on track”, poor planning will make
you feel unproductive for long time. 
</p>
        <p>
          <b>Provide complete context to allow sharing workload</b>: what happens if you need
someone else to assist you? If you work by layers, it’s hard to understand “what is
done”. The context is the entire Feature, which is too big to share easily. By working
on vertical tasks, the context is much smaller as flows are smaller unit of execution.
If you’re stuck, you can raise the flag and ask someone to assist you by taking a
few vertical tasks and make them happen. They’ll have no trouble understanding what
needs to be done.
</p>
        <img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=a7854639-4fd3-4ad6-81c1-95e6eadafb57" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/lnbogen/~4/NFMmMQ-xT8c" height="1" width="1" /></body>
      <title>How to break Feature into Tasks</title>
      <guid isPermaLink="false">http://lnbogen.com/PermaLink,guid,a7854639-4fd3-4ad6-81c1-95e6eadafb57.aspx</guid>
      <link>http://feedproxy.google.com/~r/lnbogen/~3/NFMmMQ-xT8c/HowToBreakFeatureIntoTasks.aspx</link>
      <pubDate>Mon, 12 Jul 2010 09:41:50 GMT</pubDate>
      <description>&lt;p&gt;
There are many ways to take a &lt;u&gt;&lt;a href="http://lnbogen.com/2010/07/10/FeatureUserStoryAndTask.aspx"&gt;Feature&lt;/a&gt;&lt;/u&gt; and
break it into workable unit of &lt;u&gt;&lt;a href="http://lnbogen.com/2010/07/10/FeatureUserStoryAndTask.aspx"&gt;Tasks&lt;/a&gt;&lt;/u&gt;.
Measuring “breakdown quality” is being ignored most of the time, as it’s very elusive
to define “good breakdown”. The ability to break something into smaller pieces is
one of the biggest signs of an experienced craftsman, so you should definitely challenge
yourself by asking: am I known for predicting work effort well? detecting edge-cases
early? Communicate progress to my boss clearly? being able to work with others on
the same thing smoothly?
&lt;/p&gt;
&lt;h5&gt;
&lt;/h5&gt;
&lt;h4&gt;Introducing a Feature
&lt;/h4&gt;
&lt;p&gt;
Before we can play with breaking Feature into tasks, we need to have an example of
a Feature in front of us. Let’s pretend that our desired Feature is “Signup and Sign-in”
where to goal is to allow users to register and sign-in to the system. Next, here
are the flows: 
&lt;br /&gt;
1. User can enter the signup page, if she’s not currently signed-in (else - redirect
to homepage). 
&lt;br /&gt;
2. User can enter his details and signup. 
&lt;br /&gt;
3. User details will be validated, by [rules]. If failed - user will be asked to fix
and re-send. 
&lt;br /&gt;
4. User will need to confirm her signup via email, before signing-in. 
&lt;br /&gt;
5. User can sign-in only after confirming her signup, if pending – show message. 
&lt;br /&gt;
6. User can sign-in in case she’s not signed-in already, using her credentials. 
&lt;br /&gt;
7. User can sign-out, only if she’s currently signed-in. 
&lt;br /&gt;
8. Page header needs to show relevant links, according to whether or not the user
is currently signed-in. 
&lt;br /&gt;
9. If user fails to login multiple times (configurable), deny login for X minutes 
&lt;br /&gt;
… 
&lt;br /&gt;
[a few mockups here, a few technical/business notes there regarding URL structure,
SEO to have in mind, analytics requirements, etc]
&lt;/p&gt;
&lt;h5&gt;
&lt;/h5&gt;
&lt;h4&gt;Breaking by Layers, the common way
&lt;/h4&gt;
&lt;p&gt;
A very common way is to break Feature by “application layers”: 
&lt;br /&gt;
1. Adjust database schema. 
&lt;br /&gt;
2. Create Data Access code to allow persistence of user (details, credentials encrypted
etc) and retrieval of information. 
&lt;br /&gt;
3. Create Business Layer logic to validate credentials, confirm signup, perform sign-in. 
&lt;br /&gt;
4. Add signup and sign-in pages, alter header according to user state. 
&lt;br /&gt;
5. Add relevant validation on client side via javascript.
&lt;/p&gt;
&lt;p&gt;
You can imagine that each task here will be a priced as 10-15 hours or even more,
according to the implementer and the exact details. If the implementer founds an edge-case,
it might mean that the every one of the layers here will be affected by it, making
the estimation even less reliable.
&lt;/p&gt;
&lt;h4&gt;Breaking by Verticals 
&lt;/h4&gt;
&lt;p&gt;
A different approach will be using the flows above to form the tasks: 
&lt;br /&gt;
* create readConfiguration helper method 
&lt;br /&gt;
* create validateUserDetails method for server side 
&lt;br /&gt;
* create generateConfirmationNumber(userDetails) method 
&lt;br /&gt;
* create(/use) email sender provider 
&lt;br /&gt;
* create validateUserDetails for client-side 
&lt;br /&gt;
* create signup(userDetails) - schema to store user details, Data Access and Business
to validate information and activate generateConfirmationNumber for sending confirmation
email. 
&lt;br /&gt;
* create signup page (using validateUserDetails, signup method) 
&lt;br /&gt;
* create signin(credentials) method – schema to store number of login attempts, Data
Access and Business to validate information, blocking user due to multiple attempts. 
&lt;br /&gt;
* create confirmUser method - Data Access and Bussiness to validate confirmation 
&lt;br /&gt;
* create signup confirmation page. 
&lt;br /&gt;
* create signin page 
&lt;br /&gt;
* create isLoggedIn method 
&lt;br /&gt;
* change header links according to status (via isLoggedIn) 
&lt;br /&gt;
* redirect user on entering signup page when currently signed-in (via isLoggedIn)
&lt;/p&gt;
&lt;p&gt;
It’s not a 1:1 match between Task and flow, sometimes one flow will require multiple
Tasks, but the &lt;b&gt;flows drive the breakdown&lt;/b&gt;. No doubt, all of the tasks here are
much smaller, each will take around 1-4 hours and very self-explanatory.
&lt;/p&gt;
&lt;h4&gt;Why should you prefer Verticals breaking?
&lt;/h4&gt;
&lt;p&gt;
&lt;b&gt;Confidence in achieving progress&lt;/b&gt;: if you strive for small tasks (up to 3-4
hours), it means that you’ll need to understand &lt;strong&gt;exactly&lt;/strong&gt; what is needed
to be done before committing to it. Every time you’ll finish a task, you’ll feel better
that you’re moving on the right path. Because tasks are small, you will enjoy this
feeling a few times during a day, which is important. You need to run away from “I
wrote some code today, but I’m not sure if I’m on track”, poor planning will make
you feel unproductive for long time. 
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Provide complete context to allow sharing workload&lt;/b&gt;: what happens if you need
someone else to assist you? If you work by layers, it’s hard to understand “what is
done”. The context is the entire Feature, which is too big to share easily. By working
on vertical tasks, the context is much smaller as flows are smaller unit of execution.
If you’re stuck, you can raise the flag and ask someone to assist you by taking a
few vertical tasks and make them happen. They’ll have no trouble understanding what
needs to be done.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=a7854639-4fd3-4ad6-81c1-95e6eadafb57" /&gt;</description>
      <comments>http://lnbogen.com/CommentView,guid,a7854639-4fd3-4ad6-81c1-95e6eadafb57.aspx</comments>
      <category>Agile</category>
      <category>Management</category>
      <category>Scrum</category>
    <feedburner:origLink>http://lnbogen.com/2010/07/12/HowToBreakFeatureIntoTasks.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://lnbogen.com/Trackback.aspx?guid=a774f67d-f82b-486e-b3b9-408d4fa4f8b4</trackback:ping>
      <pingback:server>http://lnbogen.com/pingback.aspx</pingback:server>
      <pingback:target>http://lnbogen.com/PermaLink,guid,a774f67d-f82b-486e-b3b9-408d4fa4f8b4.aspx</pingback:target>
      <dc:creator>Oren Ellenbogen</dc:creator>
      <wfw:comment>http://lnbogen.com/CommentView,guid,a774f67d-f82b-486e-b3b9-408d4fa4f8b4.aspx</wfw:comment>
      <wfw:commentRss>http://lnbogen.com/SyndicationService.asmx/GetEntryCommentsRss?guid=a774f67d-f82b-486e-b3b9-408d4fa4f8b4</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
One of the responsibilities of a great execution team is to make sure they will deliver
in great speed and great quality, over time. “It’s a marathon, not a sprint” might
be a confusing statement if you’re actually using Sprints in your development process
;)
</p>
        <p>
What do I mean by “confidence building” and how does it affect you? Well, I believe
that you need to earn others confidence over time, making sure your customers, internal
and external, are happy with your results. For that you’ll need to make sure you understand
what’s expected from you, to reach deadlines on time, to raise the Red Flag early
and offer alternatives, to deliver product with great quality and to produce estimation
that prove themselves as meaningful. Your job is to keep the execution machine at
full speed and building the confidence as you go.
</p>
        <p>
My recommendation is to make sure your Sprints will contain some internal maintainability
time so you could stay on track rather than “have a good Sprint once in a while”.
Here are a few thoughts:
</p>
        <ol>
          <li>
Bugs elimination – making sure the backlog is not overwhelming. Pick wisely, based
on ROI given by product and technical teams. 
</li>
          <li>
Provide rough estimation on the Features in the roadmap, review previous estimations
and see if you were close. 
</li>
          <li>
Push small POC for risky features to come. 
</li>
          <li>
Create technical design for big/risky features you plan to address next sprint. 
</li>
          <li>
Eliminating technical waste – small refactoring to enhance team productivity. 
</li>
        </ol>
        <p>
You can either treat them as features, or simply buffer some availability of the team
to handle this. 
</p>
        <p>
No matter what, do not burnout the trust people have in you; your boss hired you because
s/he trusted you to do well, it doesn’t mean you don’t have to work hard and <strong>continue
to earn</strong> her/his confidence in you. It is a marathon, after all.
</p>
        <img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=a774f67d-f82b-486e-b3b9-408d4fa4f8b4" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/lnbogen/~4/aSfpP0r3oko" height="1" width="1" /></body>
      <title>Confidence building: make it part of your Sprint</title>
      <guid isPermaLink="false">http://lnbogen.com/PermaLink,guid,a774f67d-f82b-486e-b3b9-408d4fa4f8b4.aspx</guid>
      <link>http://feedproxy.google.com/~r/lnbogen/~3/aSfpP0r3oko/ConfidenceBuildingMakeItPartOfYourSprint.aspx</link>
      <pubDate>Sat, 10 Jul 2010 22:55:55 GMT</pubDate>
      <description>&lt;p&gt;
One of the responsibilities of a great execution team is to make sure they will deliver
in great speed and great quality, over time. “It’s a marathon, not a sprint” might
be a confusing statement if you’re actually using Sprints in your development process
;)
&lt;/p&gt;
&lt;p&gt;
What do I mean by “confidence building” and how does it affect you? Well, I believe
that you need to earn others confidence over time, making sure your customers, internal
and external, are happy with your results. For that you’ll need to make sure you understand
what’s expected from you, to reach deadlines on time, to raise the Red Flag early
and offer alternatives, to deliver product with great quality and to produce estimation
that prove themselves as meaningful. Your job is to keep the execution machine at
full speed and building the confidence as you go.
&lt;/p&gt;
&lt;p&gt;
My recommendation is to make sure your Sprints will contain some internal maintainability
time so you could stay on track rather than “have a good Sprint once in a while”.
Here are a few thoughts:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
Bugs elimination – making sure the backlog is not overwhelming. Pick wisely, based
on ROI given by product and technical teams. 
&lt;/li&gt;
&lt;li&gt;
Provide rough estimation on the Features in the roadmap, review previous estimations
and see if you were close. 
&lt;/li&gt;
&lt;li&gt;
Push small POC for risky features to come. 
&lt;/li&gt;
&lt;li&gt;
Create technical design for big/risky features you plan to address next sprint. 
&lt;/li&gt;
&lt;li&gt;
Eliminating technical waste – small refactoring to enhance team productivity. 
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
You can either treat them as features, or simply buffer some availability of the team
to handle this. 
&lt;/p&gt;
&lt;p&gt;
No matter what, do not burnout the trust people have in you; your boss hired you because
s/he trusted you to do well, it doesn’t mean you don’t have to work hard and &lt;strong&gt;continue
to earn&lt;/strong&gt; her/his confidence in you. It is a marathon, after all.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=a774f67d-f82b-486e-b3b9-408d4fa4f8b4" /&gt;</description>
      <comments>http://lnbogen.com/CommentView,guid,a774f67d-f82b-486e-b3b9-408d4fa4f8b4.aspx</comments>
      <category>Agile</category>
      <category>Management</category>
      <category>Scrum</category>
    <feedburner:origLink>http://lnbogen.com/2010/07/10/ConfidenceBuildingMakeItPartOfYourSprint.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://lnbogen.com/Trackback.aspx?guid=11c18e74-7bf5-4531-b413-44e278a42ff0</trackback:ping>
      <pingback:server>http://lnbogen.com/pingback.aspx</pingback:server>
      <pingback:target>http://lnbogen.com/PermaLink,guid,11c18e74-7bf5-4531-b413-44e278a42ff0.aspx</pingback:target>
      <dc:creator>Oren Ellenbogen</dc:creator>
      <wfw:comment>http://lnbogen.com/CommentView,guid,11c18e74-7bf5-4531-b413-44e278a42ff0.aspx</wfw:comment>
      <wfw:commentRss>http://lnbogen.com/SyndicationService.asmx/GetEntryCommentsRss?guid=11c18e74-7bf5-4531-b413-44e278a42ff0</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://lnbogen.com/2010/07/10/FeatureUserStoryAndTask.aspx">User Stories</a> became
very trendy when Scrum became popular <a href="http://lnbogen.com/2010/07/10/HowUserStoriesWereBorn.aspx">due
to its smaller abstraction level</a><u>;</u> this made it possible to break big Feature
and adjust its pieces into a single Sprint. I think this was taken too far, where
User Stories sometimes completely replace Features. Not only I believe that <a href="http://lnbogen.com/2010/07/08/VersionExtractReleasesFromSprints.aspx">Sprint
should not be a release unit</a>, I also believe that User Stories are not the correct
work unit in a release or a Sprint: 
</p>
        <p>
1. <b>Losing the why</b> –User Stories by themselves are incomplete: they are missing
the *why* - why do we think it is wise to develop this all experience? User Story
describes only a small portion of a full experience. If we want to have real discussion
on the value of a new capability, we must understand the full picture. The value always
lies in the forest, not in the trees.
</p>
        <p>
2. <b>User Stories are usually not valuable to the customers by themselves</b> - If
you break a Feature into 20 User Stories, how many completed User Stories are enough
to release the Feature? You cannot give your customer the Story of “A user can enter
his password, the system will validate it by [rules]” without actually letting him
register to the system. Your customer might enjoy <em>tracking</em> the Feature as
you develop it this way, but you probably cannot release a version with 2 User Stories
out of the 20 needed. 
</p>
        <p>
3. <b>Maintaining another abstraction is expensive – </b>what happens if a Feature
changes? If you’re holding your User Stories separately, you’ll need to update them.
Sometimes, as mistakes being made and it’s hard to sync papers, you’ll update one
and not the other. So your business team, as an example, will work with the Feature
paper but your QA team with the User Stories. Abstraction is smart only if it is beneficial
over time.
</p>
        <p>
I believe that User Stories are too pricey to be used as planning and execution units;
they abstract a lot of the significant value Feature has to offer and introduce fragility
in the process. 
</p>
        <h4>What User Stories are good for?
</h4>
        <p>
I would use User Stories <b>only</b><b>as a lingo</b> between developers and business/marketing
teams. They are small enough to be discussed without thorough background and big enough
to explain behavior and expected outcome. I would not use User Stories to plan my
sprints or my releases; I would aim to work in units I can deliver to my customers
and discuss value of complete experiences.
</p>
        <h4>How to adjust a big Feature into a Sprint?
</h4>
        <p>
More on it to follow…
</p>
        <img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=11c18e74-7bf5-4531-b413-44e278a42ff0" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/lnbogen/~4/hfCYkieHLPI" height="1" width="1" /></body>
      <title>User Stories do not replace Features</title>
      <guid isPermaLink="false">http://lnbogen.com/PermaLink,guid,11c18e74-7bf5-4531-b413-44e278a42ff0.aspx</guid>
      <link>http://feedproxy.google.com/~r/lnbogen/~3/hfCYkieHLPI/UserStoriesDoNotReplaceFeatures.aspx</link>
      <pubDate>Sat, 10 Jul 2010 21:18:54 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://lnbogen.com/2010/07/10/FeatureUserStoryAndTask.aspx"&gt;User Stories&lt;/a&gt; became
very trendy when Scrum became popular &lt;a href="http://lnbogen.com/2010/07/10/HowUserStoriesWereBorn.aspx"&gt;due
to its smaller abstraction level&lt;/a&gt;&lt;u&gt;;&lt;/u&gt; this made it possible to break big Feature
and adjust its pieces into a single Sprint. I think this was taken too far, where
User Stories sometimes completely replace Features. Not only I believe that &lt;a href="http://lnbogen.com/2010/07/08/VersionExtractReleasesFromSprints.aspx"&gt;Sprint
should not be a release unit&lt;/a&gt;, I also believe that User Stories are not the correct
work unit in a release or a Sprint: 
&lt;/p&gt;
&lt;p&gt;
1. &lt;b&gt;Losing the why&lt;/b&gt; –User Stories by themselves are incomplete: they are missing
the *why* - why do we think it is wise to develop this all experience? User Story
describes only a small portion of a full experience. If we want to have real discussion
on the value of a new capability, we must understand the full picture. The value always
lies in the forest, not in the trees.
&lt;/p&gt;
&lt;p&gt;
2. &lt;b&gt;User Stories are usually not valuable to the customers by themselves&lt;/b&gt; - If
you break a Feature into 20 User Stories, how many completed User Stories are enough
to release the Feature? You cannot give your customer the Story of “A user can enter
his password, the system will validate it by [rules]” without actually letting him
register to the system. Your customer might enjoy &lt;em&gt;tracking&lt;/em&gt; the Feature as
you develop it this way, but you probably cannot release a version with 2 User Stories
out of the 20 needed. 
&lt;/p&gt;
&lt;p&gt;
3. &lt;b&gt;Maintaining another abstraction is expensive – &lt;/b&gt;what happens if a Feature
changes? If you’re holding your User Stories separately, you’ll need to update them.
Sometimes, as mistakes being made and it’s hard to sync papers, you’ll update one
and not the other. So your business team, as an example, will work with the Feature
paper but your QA team with the User Stories. Abstraction is smart only if it is beneficial
over time.
&lt;/p&gt;
&lt;p&gt;
I believe that User Stories are too pricey to be used as planning and execution units;
they abstract a lot of the significant value Feature has to offer and introduce fragility
in the process. 
&lt;/p&gt;
&lt;h4&gt;What User Stories are good for?
&lt;/h4&gt;
&lt;p&gt;
I would use User Stories &lt;b&gt;only&lt;/b&gt; &lt;b&gt;as a lingo&lt;/b&gt; between developers and business/marketing
teams. They are small enough to be discussed without thorough background and big enough
to explain behavior and expected outcome. I would not use User Stories to plan my
sprints or my releases; I would aim to work in units I can deliver to my customers
and discuss value of complete experiences.
&lt;/p&gt;
&lt;h4&gt;How to adjust a big Feature into a Sprint?
&lt;/h4&gt;
&lt;p&gt;
More on it to follow…
&lt;/p&gt;
&lt;img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=11c18e74-7bf5-4531-b413-44e278a42ff0" /&gt;</description>
      <comments>http://lnbogen.com/CommentView,guid,11c18e74-7bf5-4531-b413-44e278a42ff0.aspx</comments>
      <category>Agile</category>
      <category>Management</category>
      <category>Scrum</category>
    <feedburner:origLink>http://lnbogen.com/2010/07/10/UserStoriesDoNotReplaceFeatures.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://lnbogen.com/Trackback.aspx?guid=d9851492-785f-41e1-8a95-d19f1a82d150</trackback:ping>
      <pingback:server>http://lnbogen.com/pingback.aspx</pingback:server>
      <pingback:target>http://lnbogen.com/PermaLink,guid,d9851492-785f-41e1-8a95-d19f1a82d150.aspx</pingback:target>
      <dc:creator>Oren Ellenbogen</dc:creator>
      <wfw:comment>http://lnbogen.com/CommentView,guid,d9851492-785f-41e1-8a95-d19f1a82d150.aspx</wfw:comment>
      <wfw:commentRss>http://lnbogen.com/SyndicationService.asmx/GetEntryCommentsRss?guid=d9851492-785f-41e1-8a95-d19f1a82d150</wfw:commentRss>
      <title>Why Feature should detail full experience</title>
      <guid isPermaLink="false">http://lnbogen.com/PermaLink,guid,d9851492-785f-41e1-8a95-d19f1a82d150.aspx</guid>
      <link>http://feedproxy.google.com/~r/lnbogen/~3/IkUWZCflY6E/WhyFeatureShouldDetailFullExperience.aspx</link>
      <pubDate>Sat, 10 Jul 2010 17:00:49 GMT</pubDate>
      <description>&lt;p&gt;
Sometimes, multiple Features offer multiple experiences to the &lt;b&gt;same&lt;/b&gt; &lt;b&gt;motivation/goal/pain&lt;/b&gt;.
&lt;/p&gt;
&lt;p&gt;
This is why it’s so crucial to document the why, the motivation, the pains, the reasoning
behind a Feature. Although “The why” is crucial, it is not enough by itself. A great
Feature must also detail the experience our users will enjoy, may it be capabilities,
flows and look &amp; feel. Only then, we can understand the &lt;b&gt;purposed reality&lt;/b&gt;, before
it is a reality - before we develop it and spend money to bring users to play with
it. 
&lt;/p&gt;
&lt;p&gt;
With that, a &lt;b&gt;real discussion&lt;/b&gt; on &lt;b&gt;whether this Feature will be the best way
to achieve this goal&lt;/b&gt; can take place. If you let your team be part of your vision
building, by sharing the pains and goals, you can get invaluable &lt;strong&gt;internal&lt;/strong&gt; &lt;strong&gt;feedback&lt;/strong&gt; during
“thinking time”. Fixing the Feature flows, improving usability or look &amp; feel, before
it’s developed, is always cheaper than doing it after it after the fact.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=d9851492-785f-41e1-8a95-d19f1a82d150" /&gt;&lt;img src="http://feeds.feedburner.com/~r/lnbogen/~4/IkUWZCflY6E" height="1" width="1"/&gt;</description>
      <comments>http://lnbogen.com/CommentView,guid,d9851492-785f-41e1-8a95-d19f1a82d150.aspx</comments>
      <category>Agile</category>
      <category>Management</category>
      <category>Scrum</category>
    <feedburner:origLink>http://lnbogen.com/2010/07/10/WhyFeatureShouldDetailFullExperience.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://lnbogen.com/Trackback.aspx?guid=1b1cb93e-f4e3-4243-ad8f-77c537fe2880</trackback:ping>
      <pingback:server>http://lnbogen.com/pingback.aspx</pingback:server>
      <pingback:target>http://lnbogen.com/PermaLink,guid,1b1cb93e-f4e3-4243-ad8f-77c537fe2880.aspx</pingback:target>
      <dc:creator>Oren Ellenbogen</dc:creator>
      <wfw:comment>http://lnbogen.com/CommentView,guid,1b1cb93e-f4e3-4243-ad8f-77c537fe2880.aspx</wfw:comment>
      <wfw:commentRss>http://lnbogen.com/SyndicationService.asmx/GetEntryCommentsRss?guid=1b1cb93e-f4e3-4243-ad8f-77c537fe2880</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
“Agile/Lean movement” and Scrum in particular, made short cycles a key factor in the
process. May it be cycles of planning, cycles of development or cycles of releases,
there was a big arrow pointing at *short cycles* to figure out how to get more accurate,
more responsive, more productive faster. 
</p>
        <p>
Due to the short cycles, the <u><a href="http://lnbogen.com/2010/07/10/FeatureUserStoryAndTask.aspx">Features</a></u> or
“Product Backlog Item”, sometimes, just didn’t fit in. “My 2 months Feature won’t
enter our 2 weeks Sprint!”. Because <a href="http://lnbogen.com/2010/07/08/VersionExtractReleasesFromSprints.aspx">Sprint
is, wrongfully in my opinion, being highly tied to releases</a>, it raised a need
to allow breaking Feature to multiple Sprints. The question is “how to break it <em>right</em>?”.
</p>
        <p>
User Stories came to offer a methodology to assist in this need. The idea is to detail
the Feature in multiple end-to-end flows (which good Feature already detail) and implement
them one by one instead of trying to implement the entire Feature at once. Because
User Stories are subset of a Feature, in the same language as a Feature, it felt that
these stories can replace Features and Sprint will contain them as smaller execution
parts. This will obviously “solve” the mismatch of Feature size to Sprint size. 
</p>
        <p>
I claim that it didn’t solve anything at the core level. Even worse, my feeling is
that User Stories introduced a dangerous abstraction, one that should be used carefully.
More on it in my next post...
</p>
        <img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=1b1cb93e-f4e3-4243-ad8f-77c537fe2880" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/lnbogen/~4/Q1QxOsaZWmg" height="1" width="1" /></body>
      <title>How User Stories were born</title>
      <guid isPermaLink="false">http://lnbogen.com/PermaLink,guid,1b1cb93e-f4e3-4243-ad8f-77c537fe2880.aspx</guid>
      <link>http://feedproxy.google.com/~r/lnbogen/~3/Q1QxOsaZWmg/HowUserStoriesWereBorn.aspx</link>
      <pubDate>Sat, 10 Jul 2010 16:30:28 GMT</pubDate>
      <description>&lt;p&gt;
“Agile/Lean movement” and Scrum in particular, made short cycles a key factor in the
process. May it be cycles of planning, cycles of development or cycles of releases,
there was a big arrow pointing at *short cycles* to figure out how to get more accurate,
more responsive, more productive faster. 
&lt;/p&gt;
&lt;p&gt;
Due to the short cycles, the &lt;u&gt;&lt;a href="http://lnbogen.com/2010/07/10/FeatureUserStoryAndTask.aspx"&gt;Features&lt;/a&gt;&lt;/u&gt; or
“Product Backlog Item”, sometimes, just didn’t fit in. “My 2 months Feature won’t
enter our 2 weeks Sprint!”. Because &lt;a href="http://lnbogen.com/2010/07/08/VersionExtractReleasesFromSprints.aspx"&gt;Sprint
is, wrongfully in my opinion, being highly tied to releases&lt;/a&gt;, it raised a need
to allow breaking Feature to multiple Sprints. The question is “how to break it &lt;em&gt;right&lt;/em&gt;?”.
&lt;/p&gt;
&lt;p&gt;
User Stories came to offer a methodology to assist in this need. The idea is to detail
the Feature in multiple end-to-end flows (which good Feature already detail) and implement
them one by one instead of trying to implement the entire Feature at once. Because
User Stories are subset of a Feature, in the same language as a Feature, it felt that
these stories can replace Features and Sprint will contain them as smaller execution
parts. This will obviously “solve” the mismatch of Feature size to Sprint size. 
&lt;/p&gt;
&lt;p&gt;
I claim that it didn’t solve anything at the core level. Even worse, my feeling is
that User Stories introduced a dangerous abstraction, one that should be used carefully.
More on it in my next post...
&lt;/p&gt;
&lt;img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=1b1cb93e-f4e3-4243-ad8f-77c537fe2880" /&gt;</description>
      <comments>http://lnbogen.com/CommentView,guid,1b1cb93e-f4e3-4243-ad8f-77c537fe2880.aspx</comments>
    <feedburner:origLink>http://lnbogen.com/2010/07/10/HowUserStoriesWereBorn.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://lnbogen.com/Trackback.aspx?guid=43bd6f2f-0316-4a16-b1bb-a43e58408d45</trackback:ping>
      <pingback:server>http://lnbogen.com/pingback.aspx</pingback:server>
      <pingback:target>http://lnbogen.com/PermaLink,guid,43bd6f2f-0316-4a16-b1bb-a43e58408d45.aspx</pingback:target>
      <dc:creator>Oren Ellenbogen</dc:creator>
      <wfw:comment>http://lnbogen.com/CommentView,guid,43bd6f2f-0316-4a16-b1bb-a43e58408d45.aspx</wfw:comment>
      <wfw:commentRss>http://lnbogen.com/SyndicationService.asmx/GetEntryCommentsRss?guid=43bd6f2f-0316-4a16-b1bb-a43e58408d45</wfw:commentRss>
      <title>Feature, User Story and Task</title>
      <guid isPermaLink="false">http://lnbogen.com/PermaLink,guid,43bd6f2f-0316-4a16-b1bb-a43e58408d45.aspx</guid>
      <link>http://feedproxy.google.com/~r/lnbogen/~3/iYCj0ofDAhg/FeatureUserStoryAndTask.aspx</link>
      <pubDate>Sat, 10 Jul 2010 12:45:57 GMT</pubDate>
      <description>&lt;p&gt;
Many confuse the terms Feature, User Story and Task. I believe it’s important to grasp
the difference between them as each one serves different purpose and sometimes even
different audience.
&lt;/p&gt;
&lt;h4&gt;Feature
&lt;/h4&gt;
&lt;p&gt;
Feature is a detailed experience of how your &lt;b&gt;users&lt;/b&gt; will do &lt;b&gt;something &lt;/b&gt;with
your application. In order to make “something” meaningful, a Feature must include
(1) the reasoning behind it, the motivation, “the goal”, “the pain to solve” – without
it, it’s simply impossible to judge Feature’s ROI in terms of value versus effort
and money. Once this is in place, Feature should include (2) user flows. A user flow
might be “User can click on the delete button to delete his record, this will popup
[a message] for him to verify first”. Usually, a Feature will be built from multiple
flows, edge-cases and wording to make sure the grand experience is fully complete.
To help relating flow with look &amp; feel, a Feature should (3) include mockups and other
accessories. Lastly, (4) business (and even technical) notes should be added to wrap
up the experience: URL structure, SEO considerations, user messages user, analytics
requirements etc.
&lt;/p&gt;
&lt;p&gt;
&lt;u&gt;Language&lt;/u&gt;: customer’s lingo. 
&lt;br /&gt;
&lt;u&gt;Estimation Size:&lt;/u&gt; Ideal Days / Story Points / T-Shirt sizes&lt;br /&gt;
&lt;u&gt;Clients&lt;/u&gt;: Internal and external: development/marketing/business/analytics teams
and &lt;strong&gt;also&lt;/strong&gt; your customers (to share with them on feedback forums, blogs). 
&lt;br /&gt;
&lt;u&gt;To Include&lt;/u&gt;: (1) reasoning (2) flows (3) mockups and (4) business/technical
notes.
&lt;/p&gt;
&lt;h5&gt;
&lt;/h5&gt;
&lt;h4&gt;User Story
&lt;/h4&gt;
&lt;p&gt;
User Story is a &lt;strong&gt;single “user flow”&lt;/strong&gt; from a Feature I described above.
“User can enter his password and re-enter it for password verification. If the passwords
are not matched, the system will show a message”. Another example: “User can enter
his password; the system will check the password’s strength by [rules] and notify
the user if the password is not strong enough”. By itself, from User Story is hard
to understand the entire picture, but it’s a smaller unit of work to plan and execute
by.
&lt;/p&gt;
&lt;p&gt;
&lt;u&gt;Language&lt;/u&gt;: customer’s lingo. 
&lt;br /&gt;
&lt;u&gt;Estimation Size:&lt;/u&gt; Ideal Days / Story Points&lt;br /&gt;
&lt;u&gt;Clients&lt;/u&gt;: mostly internal, sometimes external - some User Stories just don’t
make sense on their own, without the Feature as complete background. 
&lt;br /&gt;
&lt;u&gt;To Include&lt;/u&gt;: (1) flow (2) mockup and (3) business/technical notes.
&lt;/p&gt;
&lt;h4&gt;Task
&lt;/h4&gt;
&lt;p&gt;
A task is a specific “todo” with a given work estimation. A Feature can be broken
into multiple tasks and so does a User Story. A task will be something like “Add new
column to database called Rate and model it in the application – 1 hour of effort”,
or “create javascript function to validate input on price field – 1.5 hours of effort”
or “create landing page for our campaign with Nike and connect it to our analytics
system – 3 hours”. Task resolution will always be much smaller and much more technical
than Feature or User Story. It will explain what to do rather than why.
&lt;/p&gt;
&lt;p&gt;
&lt;u&gt;Language&lt;/u&gt;: development/marketing/business lingo. 
&lt;br /&gt;
&lt;u&gt;Estimation Size:&lt;/u&gt; Hours&lt;br /&gt;
&lt;u&gt;Clients&lt;/u&gt;: internal only! 
&lt;br /&gt;
&lt;u&gt;To Include&lt;/u&gt;: technical information needed.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=43bd6f2f-0316-4a16-b1bb-a43e58408d45" /&gt;&lt;img src="http://feeds.feedburner.com/~r/lnbogen/~4/iYCj0ofDAhg" height="1" width="1"/&gt;</description>
      <comments>http://lnbogen.com/CommentView,guid,43bd6f2f-0316-4a16-b1bb-a43e58408d45.aspx</comments>
      <category>Agile</category>
      <category>Scrum</category>
    <feedburner:origLink>http://lnbogen.com/2010/07/10/FeatureUserStoryAndTask.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://lnbogen.com/Trackback.aspx?guid=18ff43aa-a5bb-4372-89e4-b4ddef21c4a4</trackback:ping>
      <pingback:server>http://lnbogen.com/pingback.aspx</pingback:server>
      <pingback:target>http://lnbogen.com/PermaLink,guid,18ff43aa-a5bb-4372-89e4-b4ddef21c4a4.aspx</pingback:target>
      <dc:creator>Oren Ellenbogen</dc:creator>
      <wfw:comment>http://lnbogen.com/CommentView,guid,18ff43aa-a5bb-4372-89e4-b4ddef21c4a4.aspx</wfw:comment>
      <wfw:commentRss>http://lnbogen.com/SyndicationService.asmx/GetEntryCommentsRss?guid=18ff43aa-a5bb-4372-89e4-b4ddef21c4a4</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
As I <a href="http://lnbogen.com/2010/07/08/VersionExtractReleasesFromSprints.aspx">mentioned</a>,
you should not tie sprints and releases together. I thought to add a few notes about
what will make a Sprint Demo really great. Luckily Moran Haviv, our legendary Project
Manager at Delver, wrote a great recap I thought to share with you:
</p>
        <h4>
          <b>Why Sprint Demo?</b>
        </h4>
        <p>
· The primary purpose of the Demo is to communicate, share and celebrate what everyone
managed to do in the last sprint and what is the value of it for the user/Organization;
In other words: what are we doing here and Why are we doing it?.
</p>
        <p>
· Collect valuable feedback to make sure our users will love our product as much as
we do!
</p>
        <p>
· Teams gets to show off with their output/artifact to everyone; (even if the software
has no UI it might yet deserve to be presented by a good story).
</p>
        <h4>A few guidelines for preparing great demo
</h4>
        <ul>
          <li>
            <b>Tell a story</b>. Center your demo around a realistic user solving a real problem.
The point is not just to show that the software works, but to show that it’s valuable. 
</li>
          <li>
            <b>What is a good Story? Or How can you tell it : </b>
            <ul>
              <li>
Use a meaningful relevant theme; 
</li>
              <li>
Demonstrate sequence of events as the user would experience them (tell the story); 
</li>
              <li>
Use realistic data and characters—use examples and names from your user community
or members of the development team; 
</li>
              <li>
Make it Exciting and Entertaining 
</li>
            </ul>
          </li>
          <li>
            <b>Keep it short</b>. focus on what’s interesting and what’s valuable about your feature
(you don’t need to exhaustively cover all your acceptance criteria). 
</li>
          <li>
            <b>Prepare.</b> Create any necessary test data. 
</li>
        </ul>
        <img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=18ff43aa-a5bb-4372-89e4-b4ddef21c4a4" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/lnbogen/~4/qZlCtrPPRGM" height="1" width="1" /></body>
      <title>Great Sprint Demo: the recipe</title>
      <guid isPermaLink="false">http://lnbogen.com/PermaLink,guid,18ff43aa-a5bb-4372-89e4-b4ddef21c4a4.aspx</guid>
      <link>http://feedproxy.google.com/~r/lnbogen/~3/qZlCtrPPRGM/GreatSprintDemoTheRecipe.aspx</link>
      <pubDate>Thu, 08 Jul 2010 21:12:44 GMT</pubDate>
      <description>&lt;p&gt;
As I &lt;a href="http://lnbogen.com/2010/07/08/VersionExtractReleasesFromSprints.aspx"&gt;mentioned&lt;/a&gt;,
you should not tie sprints and releases together. I thought to add a few notes about
what will make a Sprint Demo really great. Luckily Moran Haviv, our legendary Project
Manager at Delver, wrote a great recap I thought to share with you:
&lt;/p&gt;
&lt;h4&gt;&lt;b&gt;Why Sprint Demo?&lt;/b&gt;
&lt;/h4&gt;
&lt;p&gt;
· The primary purpose of the Demo is to communicate, share and celebrate what everyone
managed to do in the last sprint and what is the value of it for the user/Organization;
In other words: what are we doing here and Why are we doing it?.
&lt;/p&gt;
&lt;p&gt;
· Collect valuable feedback to make sure our users will love our product as much as
we do!
&lt;/p&gt;
&lt;p&gt;
· Teams gets to show off with their output/artifact to everyone; (even if the software
has no UI it might yet deserve to be presented by a good story).
&lt;/p&gt;
&lt;h4&gt;A few guidelines for preparing great demo
&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;b&gt;Tell a story&lt;/b&gt;. Center your demo around a realistic user solving a real problem.
The point is not just to show that the software works, but to show that it’s valuable. 
&lt;/li&gt;
&lt;li&gt;
&lt;b&gt;What is a good Story? Or How can you tell it : &lt;/b&gt; 
&lt;ul&gt;
&lt;li&gt;
Use a meaningful relevant theme; 
&lt;/li&gt;
&lt;li&gt;
Demonstrate sequence of events as the user would experience them (tell the story); 
&lt;/li&gt;
&lt;li&gt;
Use realistic data and characters—use examples and names from your user community
or members of the development team; 
&lt;/li&gt;
&lt;li&gt;
Make it Exciting and Entertaining 
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;b&gt;Keep it short&lt;/b&gt;. focus on what’s interesting and what’s valuable about your feature
(you don’t need to exhaustively cover all your acceptance criteria). 
&lt;/li&gt;
&lt;li&gt;
&lt;b&gt;Prepare.&lt;/b&gt; Create any necessary test data. 
&lt;/li&gt;
&lt;/ul&gt;
&lt;img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=18ff43aa-a5bb-4372-89e4-b4ddef21c4a4" /&gt;</description>
      <comments>http://lnbogen.com/CommentView,guid,18ff43aa-a5bb-4372-89e4-b4ddef21c4a4.aspx</comments>
      <category>Agile</category>
      <category>Scrum</category>
    <feedburner:origLink>http://lnbogen.com/2010/07/08/GreatSprintDemoTheRecipe.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://lnbogen.com/Trackback.aspx?guid=33a73a1b-9d03-4aa8-8c35-0b8cc585652e</trackback:ping>
      <pingback:server>http://lnbogen.com/pingback.aspx</pingback:server>
      <pingback:target>http://lnbogen.com/PermaLink,guid,33a73a1b-9d03-4aa8-8c35-0b8cc585652e.aspx</pingback:target>
      <dc:creator>Oren Ellenbogen</dc:creator>
      <wfw:comment>http://lnbogen.com/CommentView,guid,33a73a1b-9d03-4aa8-8c35-0b8cc585652e.aspx</wfw:comment>
      <wfw:commentRss>http://lnbogen.com/SyndicationService.asmx/GetEntryCommentsRss?guid=33a73a1b-9d03-4aa8-8c35-0b8cc585652e</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <h4>Separation of Concerns
</h4>
        <p>
Working by the <a href="http://www.scrumalliance.org/articles/39-glossary-of-scrum-terms">“scrum
book”,</a> sprint is also a release unit, in which you want to complete all the effort
you committed to your clients and demonstrate it at the end of the sprint. Well, not
in <a href="http://lnbogen.com/2010/07/08/SprintPlanJustEnoughDoItReflect.aspx">my
book</a>. Sprint should be remained an <strong>internal</strong> unit of time. Sprint
is used for planning, for doing and for reflection, to make the team work better over
time. It doesn’t mean that your customers will enjoy adjusting to your schedule. 
</p>
        <p>
I prefer to leave release cycles outside, as they are <strong>external</strong> unit
of time. You need to adjust them to your customers, not the other way around.
</p>
        <p>
Let’s say that you picked 3 weeks as a sprint size after considering <a href="http://lnbogen.com/2010/07/08/SprintPlanJustEnoughDoItReflect.aspx">“big
enough, small enough”</a> values. If you tie sprint and release together, that means
that your clients will see things every 3 weeks. That might be fine, but it won’t
allow you to challenge yourself to reduce release cycles. Even worst, the customers
might demand a shorter release cycle to earn confidence in your delivery. A dangerous
move, in my opinion, is to reduce the sprint size to match desired release cycle.
This move might violate the “sprint should be big enough to avoid unacceptable overhead
of planning/reflection” principle. Yes, your customers will be happy but your developers
won’t. It won’t last. You want both internal team and external customers to be happy
and enjoy a process that pushes them forward rather than pushes them around.
</p>
        <h4>What is a Version?
</h4>
        <p>
Version is just a bunch of capabilities with a specific target date attached to it.
Version is easy to communicate out: “we plan to allow a user to upload image, crop
it and update his profile image in version 1.1, which is targeted to July 20th”. Basically,
for each targeted date you specify a list of features, enhancements, reports etc.
The customers gets to say when the versions should be aimed for, according to their
needs.
</p>
        <h4>What does it mean about Sprint Demo then?
</h4>
        <p>
Well, if the release cycles are shorter than sprint cycles then the Sprint Demo will
become a show off by the team to each other rather to your customers. Obviously, you
may want to add another “Release Demo” meeting for your customers (and maybe include
the team in it). By doing Sprint Demo internally, the teams will get the chance to
see what’s going on “on the other side of the corridor”. Oh, did I mention that this
is also <strong>fun</strong>? It allows the organization to collect valuable internal
feedback to make sure our users will love our product as much people who wrote it!
</p>
        <img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=33a73a1b-9d03-4aa8-8c35-0b8cc585652e" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/lnbogen/~4/nnOikbuCzYI" height="1" width="1" /></body>
      <title>Version: extract releases from sprints</title>
      <guid isPermaLink="false">http://lnbogen.com/PermaLink,guid,33a73a1b-9d03-4aa8-8c35-0b8cc585652e.aspx</guid>
      <link>http://feedproxy.google.com/~r/lnbogen/~3/nnOikbuCzYI/VersionExtractReleasesFromSprints.aspx</link>
      <pubDate>Thu, 08 Jul 2010 21:03:19 GMT</pubDate>
      <description>&lt;h4&gt;Separation of Concerns
&lt;/h4&gt;
&lt;p&gt;
Working by the &lt;a href="http://www.scrumalliance.org/articles/39-glossary-of-scrum-terms"&gt;“scrum
book”,&lt;/a&gt; sprint is also a release unit, in which you want to complete all the effort
you committed to your clients and demonstrate it at the end of the sprint. Well, not
in &lt;a href="http://lnbogen.com/2010/07/08/SprintPlanJustEnoughDoItReflect.aspx"&gt;my
book&lt;/a&gt;. Sprint should be remained an &lt;strong&gt;internal&lt;/strong&gt; unit of time. Sprint
is used for planning, for doing and for reflection, to make the team work better over
time. It doesn’t mean that your customers will enjoy adjusting to your schedule. 
&lt;/p&gt;
&lt;p&gt;
I prefer to leave release cycles outside, as they are &lt;strong&gt;external&lt;/strong&gt; unit
of time. You need to adjust them to your customers, not the other way around.
&lt;/p&gt;
&lt;p&gt;
Let’s say that you picked 3 weeks as a sprint size after considering &lt;a href="http://lnbogen.com/2010/07/08/SprintPlanJustEnoughDoItReflect.aspx"&gt;“big
enough, small enough”&lt;/a&gt; values. If you tie sprint and release together, that means
that your clients will see things every 3 weeks. That might be fine, but it won’t
allow you to challenge yourself to reduce release cycles. Even worst, the customers
might demand a shorter release cycle to earn confidence in your delivery. A dangerous
move, in my opinion, is to reduce the sprint size to match desired release cycle.
This move might violate the “sprint should be big enough to avoid unacceptable overhead
of planning/reflection” principle. Yes, your customers will be happy but your developers
won’t. It won’t last. You want both internal team and external customers to be happy
and enjoy a process that pushes them forward rather than pushes them around.
&lt;/p&gt;
&lt;h4&gt;What is a Version?
&lt;/h4&gt;
&lt;p&gt;
Version is just a bunch of capabilities with a specific target date attached to it.
Version is easy to communicate out: “we plan to allow a user to upload image, crop
it and update his profile image in version 1.1, which is targeted to July 20th”. Basically,
for each targeted date you specify a list of features, enhancements, reports etc.
The customers gets to say when the versions should be aimed for, according to their
needs.
&lt;/p&gt;
&lt;h4&gt;What does it mean about Sprint Demo then?
&lt;/h4&gt;
&lt;p&gt;
Well, if the release cycles are shorter than sprint cycles then the Sprint Demo will
become a show off by the team to each other rather to your customers. Obviously, you
may want to add another “Release Demo” meeting for your customers (and maybe include
the team in it). By doing Sprint Demo internally, the teams will get the chance to
see what’s going on “on the other side of the corridor”. Oh, did I mention that this
is also &lt;strong&gt;fun&lt;/strong&gt;? It allows the organization to collect valuable internal
feedback to make sure our users will love our product as much people who wrote it!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=33a73a1b-9d03-4aa8-8c35-0b8cc585652e" /&gt;</description>
      <comments>http://lnbogen.com/CommentView,guid,33a73a1b-9d03-4aa8-8c35-0b8cc585652e.aspx</comments>
      <category>Agile</category>
      <category>Management</category>
      <category>Scrum</category>
    <feedburner:origLink>http://lnbogen.com/2010/07/08/VersionExtractReleasesFromSprints.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://lnbogen.com/Trackback.aspx?guid=9a0a137a-2945-4e23-894a-b67bdfdae2fe</trackback:ping>
      <pingback:server>http://lnbogen.com/pingback.aspx</pingback:server>
      <pingback:target>http://lnbogen.com/PermaLink,guid,9a0a137a-2945-4e23-894a-b67bdfdae2fe.aspx</pingback:target>
      <dc:creator>Oren Ellenbogen</dc:creator>
      <wfw:comment>http://lnbogen.com/CommentView,guid,9a0a137a-2945-4e23-894a-b67bdfdae2fe.aspx</wfw:comment>
      <wfw:commentRss>http://lnbogen.com/SyndicationService.asmx/GetEntryCommentsRss?guid=9a0a137a-2945-4e23-894a-b67bdfdae2fe</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <h4>“Sprint” – what does it mean?
</h4>
        <h5>
        </h5>
        <table border="0" cellspacing="0" cellpadding="2">
          <tbody>
            <tr>
              <td valign="top" width="446">
Note: my definition of sprint is not by the <a href="http://www.scrumalliance.org/articles/39-glossary-of-scrum-terms#1118">book</a>.
It’s perfectly fine by me as I love adjusting theory to practice; I hope it is okay
with you as well. Basically, a sprint is just a time window that you plan to <b>achieve
something</b> at. Just imagine a box with your interesting “todo” notes. For example,
in the next 2 weeks you may want to plan to perform some proof of concept for your
initiative; plan to create 3 landing pages to check which one covert users better
to registered users; plan to write a tutorial or even plan to upgrade your team’s
computers.</td>
              <td style="text-align: right; align: right" valign="top" width="208">
                <img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" src="http://www.lnbogen.com/content/binary/box.png" width="150" height="150" />
              </td>
            </tr>
          </tbody>
        </table>
        <h4>Why do I need to define a specific time window then?
</h4>
        <p>
The idea of a sprint, in essence, is simply to (1) ease psychological acceptance of
changes and (2) allow shorter, just-in-time planning. 
</p>
        <p>
Specific time window, made constant (sprint after sprint), allows you to understand
that things might change and you now made mental and physical “room” to adjust when
needed. It’s a bit of sugarcoating, of course, but it’s making the transition smoother. 
</p>
        <p>
The just-in-time planning part is more “acceptable” when you’re embracing the fact
that it’s <b>too damn expensive</b> trying to break all effort into small pieces.
You’re customers are “allowed” to change their mind, so – what’s the point of understanding
that something being requested for next year, will take 121 hours to develop? In 2
weeks, hell, in 2 days, this effort might cancelled. Breaking future effort to small
pieces is great, but <b>only</b> if it’s extremely cheap to achieve or extremely relevant
now. Until then, you might be okay with high level estimation.
</p>
        <h4>The perfect size: big enough, small enough
</h4>
        <p>
Sprint should be <b>big enough</b> to (1) achieve meaningful progress and (2) avoid
unacceptable overhead of planning + reflection. That means that if your smallest effort
is always at least 1.5 weeks, don’t use 1 week sprint. If you need a full day to plan
a sprint and another to reflect on how it went, don’t use 1 week sprint. Otherwise,
your people might feel “we’re doing nothing but planning and reflecting”.
</p>
        <p>
Sprint should also be <b>small enough</b> to allow to reflect and adjust often. Just
like “release often” attitude, adjust often will make the organization work better,
faster. Don’t dismiss it lightly.
</p>
        <h4>How many sprints should I plan in details?
</h4>
        <p>
Good question if I may compliment myself for asking so. I would aim for detailed plan
at least 1-1.5 months in advanced, unless you’re in a really volatile market and 1
month is “too far”. If your sprint size is 2 weeks, then I would say around 2-3 sprints.
By saying “in details” I mean very detailed understanding of effort, real breakdown
or very solid understanding, based on similar effort in the past or one-of-a-kind
magic ball. The idea is to have good image of near future; this will obviously be <strong>expensive</strong> to
create, but will give you <strong>confidence</strong> on how to achieve the most important
goals on your table. 
</p>
        <p>
I would try to understand what’s coming later on (3-6 months), but invest much less
time and stay with high level estimation. I don’t want to waste time on planning potentially
irrelevant effort.
</p>
        <h4>Natural dependencies planning
</h4>
        <p>
When sprint size picked wisely, there is much “smoother” feeling of dependencies planning.
There is no real need for Gantt or something of that sort, thank God. Everyone will
be aware of the effort being made in the sprint and will align dependencies accordingly.
The feeling will be more natural, more just-in-time rather the stating “we need infrastructure
team to finish in 6 months something so we could use it 9 months from now!”. It doesn’t
mean that dependencies planning is gone out the window, you’ll still need to do so
for big infrastructure effort, but you’ll see that it happens less than you were used
to. This is a good thing.
</p>
        <h4>Reflect and adjust
</h4>
        <p>
At the end of the sprint, it’s a great time to sit down and consider what went well,
what wasn’t (take Action Items) and what can be done to have better sprint next time.
You’ll adjust to external changes better when you’ll adjust to internal pains better.
</p>
        <h4>I thought that Agile == no planning
</h4>
        <p>
Now, that is just sick. Seriously, no one is expecting you to work badly. Great planning
is the only way to produce great products to your customers, deliver it on time and
with high quality. 
</p>
        <h4>Not all planning are born equal
</h4>
        <p>
Accept it, plan accordingly :)
</p>
        <img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=9a0a137a-2945-4e23-894a-b67bdfdae2fe" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/lnbogen/~4/ssUYL3wvjPk" height="1" width="1" /></body>
      <title>Sprint: plan just enough, do it, reflect</title>
      <guid isPermaLink="false">http://lnbogen.com/PermaLink,guid,9a0a137a-2945-4e23-894a-b67bdfdae2fe.aspx</guid>
      <link>http://feedproxy.google.com/~r/lnbogen/~3/ssUYL3wvjPk/SprintPlanJustEnoughDoItReflect.aspx</link>
      <pubDate>Thu, 08 Jul 2010 19:36:38 GMT</pubDate>
      <description>&lt;h4&gt;“Sprint” – what does it mean?
&lt;/h4&gt;
&lt;h5&gt;
&lt;/h5&gt;
&lt;table border="0" cellspacing="0" cellpadding="2"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="446"&gt;
Note: my definition of sprint is not by the &lt;a href="http://www.scrumalliance.org/articles/39-glossary-of-scrum-terms#1118"&gt;book&lt;/a&gt;.
It’s perfectly fine by me as I love adjusting theory to practice; I hope it is okay
with you as well. Basically, a sprint is just a time window that you plan to &lt;b&gt;achieve
something&lt;/b&gt; at. Just imagine a box with your interesting “todo” notes. For example,
in the next 2 weeks you may want to plan to perform some proof of concept for your
initiative; plan to create 3 landing pages to check which one covert users better
to registered users; plan to write a tutorial or even plan to upgrade your team’s
computers.&lt;/td&gt;
&lt;td style="text-align: right; align: right" valign="top" width="208"&gt;
&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" src="http://www.lnbogen.com/content/binary/box.png" width="150" height="150" /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4&gt;Why do I need to define a specific time window then?
&lt;/h4&gt;
&lt;p&gt;
The idea of a sprint, in essence, is simply to (1) ease psychological acceptance of
changes and (2) allow shorter, just-in-time planning. 
&lt;/p&gt;
&lt;p&gt;
Specific time window, made constant (sprint after sprint), allows you to understand
that things might change and you now made mental and physical “room” to adjust when
needed. It’s a bit of sugarcoating, of course, but it’s making the transition smoother. 
&lt;/p&gt;
&lt;p&gt;
The just-in-time planning part is more “acceptable” when you’re embracing the fact
that it’s &lt;b&gt;too damn expensive&lt;/b&gt; trying to break all effort into small pieces.
You’re customers are “allowed” to change their mind, so – what’s the point of understanding
that something being requested for next year, will take 121 hours to develop? In 2
weeks, hell, in 2 days, this effort might cancelled. Breaking future effort to small
pieces is great, but &lt;b&gt;only&lt;/b&gt; if it’s extremely cheap to achieve or extremely relevant
now. Until then, you might be okay with high level estimation.
&lt;/p&gt;
&lt;h4&gt;The perfect size: big enough, small enough
&lt;/h4&gt;
&lt;p&gt;
Sprint should be &lt;b&gt;big enough&lt;/b&gt; to (1) achieve meaningful progress and (2) avoid
unacceptable overhead of planning + reflection. That means that if your smallest effort
is always at least 1.5 weeks, don’t use 1 week sprint. If you need a full day to plan
a sprint and another to reflect on how it went, don’t use 1 week sprint. Otherwise,
your people might feel “we’re doing nothing but planning and reflecting”.
&lt;/p&gt;
&lt;p&gt;
Sprint should also be &lt;b&gt;small enough&lt;/b&gt; to allow to reflect and adjust often. Just
like “release often” attitude, adjust often will make the organization work better,
faster. Don’t dismiss it lightly.
&lt;/p&gt;
&lt;h4&gt;How many sprints should I plan in details?
&lt;/h4&gt;
&lt;p&gt;
Good question if I may compliment myself for asking so. I would aim for detailed plan
at least 1-1.5 months in advanced, unless you’re in a really volatile market and 1
month is “too far”. If your sprint size is 2 weeks, then I would say around 2-3 sprints.
By saying “in details” I mean very detailed understanding of effort, real breakdown
or very solid understanding, based on similar effort in the past or one-of-a-kind
magic ball. The idea is to have good image of near future; this will obviously be &lt;strong&gt;expensive&lt;/strong&gt; to
create, but will give you &lt;strong&gt;confidence&lt;/strong&gt; on how to achieve the most important
goals on your table. 
&lt;/p&gt;
&lt;p&gt;
I would try to understand what’s coming later on (3-6 months), but invest much less
time and stay with high level estimation. I don’t want to waste time on planning potentially
irrelevant effort.
&lt;/p&gt;
&lt;h4&gt;Natural dependencies planning
&lt;/h4&gt;
&lt;p&gt;
When sprint size picked wisely, there is much “smoother” feeling of dependencies planning.
There is no real need for Gantt or something of that sort, thank God. Everyone will
be aware of the effort being made in the sprint and will align dependencies accordingly.
The feeling will be more natural, more just-in-time rather the stating “we need infrastructure
team to finish in 6 months something so we could use it 9 months from now!”. It doesn’t
mean that dependencies planning is gone out the window, you’ll still need to do so
for big infrastructure effort, but you’ll see that it happens less than you were used
to. This is a good thing.
&lt;/p&gt;
&lt;h4&gt;Reflect and adjust
&lt;/h4&gt;
&lt;p&gt;
At the end of the sprint, it’s a great time to sit down and consider what went well,
what wasn’t (take Action Items) and what can be done to have better sprint next time.
You’ll adjust to external changes better when you’ll adjust to internal pains better.
&lt;/p&gt;
&lt;h4&gt;I thought that Agile == no planning
&lt;/h4&gt;
&lt;p&gt;
Now, that is just sick. Seriously, no one is expecting you to work badly. Great planning
is the only way to produce great products to your customers, deliver it on time and
with high quality. 
&lt;/p&gt;
&lt;h4&gt;Not all planning are born equal
&lt;/h4&gt;
&lt;p&gt;
Accept it, plan accordingly :)
&lt;/p&gt;
&lt;img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=9a0a137a-2945-4e23-894a-b67bdfdae2fe" /&gt;</description>
      <comments>http://lnbogen.com/CommentView,guid,9a0a137a-2945-4e23-894a-b67bdfdae2fe.aspx</comments>
      <category>Agile</category>
      <category>Management</category>
      <category>Scrum</category>
    <feedburner:origLink>http://lnbogen.com/2010/07/08/SprintPlanJustEnoughDoItReflect.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://lnbogen.com/Trackback.aspx?guid=9907c3ff-07e2-4749-b865-43f671c602a2</trackback:ping>
      <pingback:server>http://lnbogen.com/pingback.aspx</pingback:server>
      <pingback:target>http://lnbogen.com/PermaLink,guid,9907c3ff-07e2-4749-b865-43f671c602a2.aspx</pingback:target>
      <dc:creator>Oren Ellenbogen</dc:creator>
      <wfw:comment>http://lnbogen.com/CommentView,guid,9907c3ff-07e2-4749-b865-43f671c602a2.aspx</wfw:comment>
      <wfw:commentRss>http://lnbogen.com/SyndicationService.asmx/GetEntryCommentsRss?guid=9907c3ff-07e2-4749-b865-43f671c602a2</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Delver is all about letting you to explore, research and (eventually) purchase products
in a different way. Pushed and driven by what your network has to say, it will be
easy for you to see what books your friends recommending, what kind of movies are
hot or which camera you should buy next. You could publish polls, to get help from
your friends on what to purchase, you can rate products and write reviews, you can
create a catalog of items (“My ski trip to Italy”), create a gift catalog and share
it with your other friends, recommend products to your friends and plenty more!
</p>
        <p>
You’re <strong>more than welcome</strong> to check it out at <a href="http://delver.com/">http://delver.com/</a></p>
        <p>
We are still in “closed beta”, which means you need an *invite* to get in. Once you’re
in, you can send invites to your friends and enjoy their feedback on items you’re
interested at. If you want an invite, drop me a line with your email (or email me
directly).
</p>
        <img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=9907c3ff-07e2-4749-b865-43f671c602a2" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/lnbogen/~4/jAyHmMEyPfM" height="1" width="1" /></body>
      <title>Delver beta is alive!</title>
      <guid isPermaLink="false">http://lnbogen.com/PermaLink,guid,9907c3ff-07e2-4749-b865-43f671c602a2.aspx</guid>
      <link>http://feedproxy.google.com/~r/lnbogen/~3/jAyHmMEyPfM/DelverBetaIsAlive.aspx</link>
      <pubDate>Thu, 13 May 2010 10:53:37 GMT</pubDate>
      <description>&lt;p&gt;
Delver is all about letting you to explore, research and (eventually) purchase products
in a different way. Pushed and driven by what your network has to say, it will be
easy for you to see what books your friends recommending, what kind of movies are
hot or which camera you should buy next. You could publish polls, to get help from
your friends on what to purchase, you can rate products and write reviews, you can
create a catalog of items (“My ski trip to Italy”), create a gift catalog and share
it with your other friends, recommend products to your friends and plenty more!
&lt;/p&gt;
&lt;p&gt;
You’re &lt;strong&gt;more than welcome&lt;/strong&gt; to check it out at &lt;a href="http://delver.com/"&gt;http://delver.com/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
We are still in “closed beta”, which means you need an *invite* to get in. Once you’re
in, you can send invites to your friends and enjoy their feedback on items you’re
interested at. If you want an invite, drop me a line with your email (or email me
directly).
&lt;/p&gt;
&lt;img width="0" height="0" src="http://lnbogen.com/aggbug.ashx?id=9907c3ff-07e2-4749-b865-43f671c602a2" /&gt;</description>
      <comments>http://lnbogen.com/CommentView,guid,9907c3ff-07e2-4749-b865-43f671c602a2.aspx</comments>
    <feedburner:origLink>http://lnbogen.com/2010/05/13/DelverBetaIsAlive.aspx</feedburner:origLink></item>
  </channel>
</rss>

