<?xml version="1.0" encoding="iso-8859-1" ?>

<rss version="2.0">
<channel>
  
  
  <title>Tariq Ahmed</title> 
  <link>http://www.dopejam.com/channel.cfm?ChannelID=1</link> 
  <description></description> 
  <language>en-us</language>
  <pubDate>Tue, 03 May 2011 17:46:00 PST</pubDate>
  <lastBuildDate>Tue, 03 May 2011 17:46:00 PST</lastBuildDate>  
  <docs>http://www.dopejam.com/news.cfm?ChannelID=1</docs>
  <managingEditor>tariq@dopejam.com</managingEditor>
  <webMaster>tariq@dopejam.com</webMaster>
  

  <item>
  <title>Large decision making groups are ineffective - work around them</title>   
  
  <link>http://www.dopejam.com/shownewsitem.cfm?NewsID=590</link>
  <description>
  <![CDATA[
  At many companies decisions and prioritization tends to be done by committees, in fact Agile itself tends to be very committee driven (the team estimates together, the team determines how things will get done, etc...).
<P>
But the Product Owner (or Product Manager in traditional terms) is the key person who's accountable for the results. They prioritize the projects and features, define desired outcomes, ensure profitability, and accept/reject results.
<P>
In the real world many people may have a stake in projects as they are either sponsoring the project, supporting the project, or are affected by the project. So as a Product Owner you will have to interface with stakeholders and sponsors to get their feedback, issues, goals, etc...
<P>
Likewise, a Project Manager/ScrumMaster might encounter similar situations where they are trying to garner consensus and agreement. 
<P>
The problem however is that large committees rarely are capable of making decisions.
<P>
	<blockquote>
   Once you've got <b>7 people</b> in a decision-making group, each additional member reduces decision effectiveness 
   by <b>10%</b>, according to Marcia W. Blenko, Michael C. Mankins, and Paul Rogers, 
   authors of Decide & Deliver: 5 Steps to Breakthrough Performance in Your Organization. 
   Thus, a group of <b>17 or more</b> rarely makes any decisions.
  </blockquote>
<P>
<em>Tips:</em><br>
<ul>
  <li>	Hold a series of smaller sessions (e.g. instead of one 10 person meeting, have two separate 5 person meetings).
  <li>	Pre-meet in advance with individuals to gather their feedback, stance, concerns, requirements to that you can factor that in and further prepare for the main meeting.
  <li>	Instead of starting with a blank slate and trying to work with the committee to collaborative decide/plan/prioritize/etc... gather initial data and create a good starting point ? e.g. a draft plan, and then let people argue/discuss over it.
  <li>	Always make sure your management supports where you want to go so that they back you up behind the scenes.
</ul>
  
  ]]>
  </description> 
  <pubDate>Tue, 03 May 2011 17:46:00 PST</pubDate> 
  <guid>http://www.dopejam.com/shownewsitem.cfm?NewsID=590</guid> 
  <category>agile</category>
  </item>
 
  <item>
  <title>A managers take on the state of CF</title>   
  
  <link>http://www.dopejam.com/shownewsitem.cfm?NewsID=589</link>
  <description>
  <![CDATA[
  I recently wrote an article for RIARockStars regarding my <a href="http://riarockstars.com/2011/03/10/a-managers-take-on-the-state-of-cf-the-scarcity-talent/">take on the CF ecosystem</a> and my challenge as a manager to find talented CF developers - along with some our hiring strategies to work around that. I'll follow up soon with a follow up post more focused on putting together a hiring strategy for managers of Flex and ColdFusion developers.
<P>
<a href="http://riarockstars.com/2011/03/10/a-managers-take-on-the-state-of-cf-the-scarcity-talent/">...read the full article</a>
  ]]>
  </description> 
  <pubDate>Mon, 14 Mar 2011 23:13:00 PST</pubDate> 
  <guid>http://www.dopejam.com/shownewsitem.cfm?NewsID=589</guid> 
  <category>coldfusion</category>
  </item>
 
  <item>
  <title>B.I - Chasing significance and selective reporting</title>   
  
  <link>http://www.dopejam.com/shownewsitem.cfm?NewsID=587</link>
  <description>
  <![CDATA[
  The New Yorker recently published a <a href="http://www.newyorker.com/reporting/2010/12/13/101213fa_fact_lehrer?currentPage=all" target="_blank">lenghty editorial</a> on how 
natural human behavior affects the scientific community when it comes to studies, 
in that selective reporting and significance chasing leads to 'publishing bias'.

<P>

<em><i>
&quot;the act of measurement is going to be vulnerable to all sorts of perception biases. That's just the way human beings work.&quot
<P/>
&quotresearchers engage in what he calls &quotsignificance chasing,&quot or finding ways to interpret the data so that it passes the statistical 
test of significance - the ninety-five-per-cent boundary invented by Ronald Fisher. The scientists are so eager to pass this magical test 
that they start playing around with the numbers, trying to find anything that seems worthy,&quot
<P/>
&quot...the decline effect is largely a product of publication bias, or the tendency of scientists and scientific journals to prefer positive
 data over null results, which is what happens when no effect is found. The bias was first identified by the statistician Theodore Sterling,
  in 1959, after he noticed that ninety-seven per cent of all published psychological studies with statistically significant data found the effect they were looking for.&quot
<P/>
&quotThe decline effect is troubling because it reminds us how difficult it is to prove anything. We like to pretend that our experiments define the truth for us. 
But that's often not the case. Just because an idea is true doesn't mean it can be proved. And just because an idea can be proved doesn't mean it's true. 
When the experiments are done, we still have to choose what to believe...&quot
</i>
</em>

<P>

Although the context is regarding the scientific community, I was thinking how there are direct parallels to the business and B.I community as well.
perhaps we're too focused on the pursuit of truth, when the 'reality' is that there no truth, 
only perception &amp; interpretation. 
<P>
So instead of using data to prove things, we need to look at data to be more of a guide. For example monitoring trends, inflection points, velocity of change over 
specific numbers. Not that specific numbers are unimportant (e.g. shareholders will continued to demand exact profitability statements), but in terms of managing
a business not to exhaust enormous efforts on proving perceptions/suspicions/hypotheses but to define data driven decision supporting guides.

  ]]>
  </description> 
  <pubDate>Mon, 03 Jan 2011 12:31:00 PST</pubDate> 
  <guid>http://www.dopejam.com/shownewsitem.cfm?NewsID=587</guid> 
  <category>management</category>
  </item>
 
  <item>
  <title>Agile - estimating size not effort</title>   
  
  <link>http://www.dopejam.com/shownewsitem.cfm?NewsID=586</link>
  <description>
  <![CDATA[
  <div class="disclaimer"> 
	<div class="Highlight">Story Points</div><br>
	
	A simple numbering scheme used to weigh the relative size of one 
	feature vs. another, and not to be used as an estimate. 
	Story points are the metric you use for determining
	the teams capacity as the project proceeds.
	
</div> 

<div class="highlight">Being agile - estimating size, not effort</div><br/>

One of the problems with the traditional waterfall method is that it's predicated 
on the notion that it's possible with enough planning and requirements gathering to accurately estimate out the effort of a project.
<P>
If that were even possible, and your life depended on it, you wouldn't feel comfortable until the team has spent an enormous amount of time putting together analysis and various levels of technical design.
<P>
In order for that possibility to exist you would have to be aiming for a fixed target, whereas developing software is a moving target where scope can change at an time (agile embraces and expects change).
<P>
So after weeks or even months of analysis you drop the bomb on the stakeholders of the project that what was asked for won't fit the required timeline without a decrease in scope or change another project dimension (capacity, budget, resources, etc...).
<P>
Meanwhile, stakeholders want an estimation done immediately. There may be a constraint or deadline that needs to be hit, there may be a funding window to get approval, stakeholders might need time lining up shared resources and don't want to reserve people if they're going to end up vegging out on the bench waiting for the project to commence, etc... 
<P>
So what's the compromise? Story points!
<P>

<span class="highlight">Story points solve the problem</span><br>

The problem is we need a quick and easy way to schedule out work. In the waterfall approach the business views estimates as commitments, but estimates are estimates - they're not actuals. You'll only ever know the actual once the work is completed.

<P>

In waterfall land your plan relies on as accurate as possible estimates because you build out your timeline based on that. With agile, your work is based off of fixed-length time boxes - so you know how long each iteration is going to be, the only question is what you fit inside each of those fixed sized buckets of time.

<P>
<img src="http://www.dopejam.com/newsimages/agile/boxes.png">
<P>

So imagine you're filling up boxes with various household items, do you really need to know down to millimeter accuracy how big each object is in order to have a sense of how much you can fit in a box? More importantly would it be worth it to spend 2 weeks cataloging all your household items into Excel using a measuring tape in order to make a plan that fills each box to it's maximum capacity - or is there more value in spending that time to just start filling the boxes by eyeballing roughly what will fit?

<P>
<img src="http://www.dopejam.com/newsimages/agile/household.gif">
<P>

I know that some things are twice as big as others, I may not know their exact dimensions but I can guestimate that I can probably fit:
<ul>
	<li> 10 small things
	<li> 5 small things, and 2 big things
	<li> 4 small things, 2 medium things, and 1 big thing
</ul>

<P>

In this case I'm working on filling a box, but on another project I could be working on buildings and I may not even need to change my point system much.
<P>
<img src="http://www.dopejam.com/newsimages/agile/buildings.png">
<P>
My buildings might fit into a 1 (small) to 5 (really big) range of categorization. The nice thing about using points is you get away from using time to estimate size. In theory you could use hours, such as 1hr for small things, 5hrs for medium, and 10hrs for large. But the problem is that when you start talking hours people start assuming you're talking about duration or effort, so it's best to use points or any term that signifies size.

<P>
<span class="highlight">Story points converted to time</span><br>

These numbers initially can't be converted into time, you have no data in order to base such a conversion on. But as you perform iterations over time you'll be able to track how many story points are completed with each iteration and thus know what your velocity is. Knowing that an iteration was 60 man hours, and it was 6 story points, you could formulate that a story point is about 10hrs of effort.
<P>
Knowing actual hours might be an interesting tidbit, but one could argue they're irrelevant. This is because when you're planning out your next iteration you're still using the story point technique to fill your boxes, but now you have historical data to improve your understanding of how many points fit into a box.

<P>
<span class="highlight">Recap</span><br>
<ul>
	<li> Estimates are estimates, not actuals.
	
	<li> Actuals are historical, you can never know them upfront.

	<li> No developer in their right mind would commit to an estimate without heavy duty specs.

  <li> Waterfall requires time consuming analysis in order to get specifications detailed enough for someone to commit effort and duration to. Knowing effort, waterfall then plans out the timeline.

	<li> Agile is fixed-length timelines. You already know when an iteration/phase/sprint ends. You just need to fill up those iterations with work.

	<li> Story points are a quick way to estimate out the <i>relative</i> size of one feature vs. another feature. Size is the keyword (vs. effort or duration).
	
	<li> Using relative sizes, you'll have a rough idea of how many points can be completed within an iteration.
	
	<li> As iterations end, you'll have a stronger understanding of how many points an iteration can fit.

</ul>

<P>


<div class="disclaimer"> 
  Most of the insight comes
  from <a href="http://amzn.to/b4etDT" target="_blank">Becoming Agile</a>.
</div> 
  ]]>
  </description> 
  <pubDate>Thu, 18 Nov 2010 21:10:00 PST</pubDate> 
  <guid>http://www.dopejam.com/shownewsitem.cfm?NewsID=586</guid> 
  <category>agile</category>
  </item>
 
  <item>
  <title>Learn about Flex 4 Events in FFDMag</title>   
  
  <link>http://www.dopejam.com/shownewsitem.cfm?NewsID=585</link>
  <description>
  <![CDATA[
  Want to learn about Flex's events? All that stuff about bubbling, event propagation, etc... Well head on over to the latest edition of the <a href="http://ffdmag.com/magazine/1550-iptv-and-flash-lite-3-1" target="_blank">Flash and Flex Developer's Magazine</a> where you'll find <a href="http://www.amazon.com/gp/product/1935182420?ie=UTF8&tag=c050d-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=1935182420">Flex 4 In Action's</a> chapter on Events published as one of the articles.
<P>
The magazine is free and can be downloaded <a href="http://ffdmag.com/system/articles/attachment1s/12981/original/IPTV_and_Flash_Lite_FFD_09_2010.pdf?1288656110" target="_blank">here</a>.
<P>
<a href="http://ffdmag.com/system/articles/attachment1s/12981/original/IPTV_and_Flash_Lite_FFD_09_2010.pdf?1288656110" target="_blank"><img src="http://www.dopejam.com/newsimages/ffd_sep2010.jpg" border=0></a>
  ]]>
  </description> 
  <pubDate>Wed, 03 Nov 2010 22:47:00 PST</pubDate> 
  <guid>http://www.dopejam.com/shownewsitem.cfm?NewsID=585</guid> 
  <category>flex</category>
  </item>
 
  <item>
  <title>Using Unfuddle to be Agile</title>   
  
  <link>http://www.dopejam.com/shownewsitem.cfm?NewsID=584</link>
  <description>
  <![CDATA[
  <a href="http://www.unfuddle.com" target="_blank">Unfuddle</a> is an affordable hosted service providing source code repository hosting (Subversion and Git) with basic project management (tickets, users, milestones, etc...). They have free plans, to $9/mo plans for super small teams, and their most expensive plan is only $99/mo.
<P>
We use this for hosting some of our smaller initiatives, so I was playing around with their ticketing feature to see if we could use it in an Agile manner.
<P>
Although they provide custom fields, I found it works well if you use their milestones as sprints. To support a backlog you'd create a milestone called backlog and then just dump all your backlog items in there.
<P>
After that, it allows you to track the basics:

<ul>
 <li> Treat tickets like stories
 <li> Assign story points to each item using a custom field
 <li> An upgrade allows you to track effort if you want
 <li> Assign a priority to each ticket
 <li> In planning a sprint/iteration - you'd pull in the combo of highest priority items and
      size of stories (e.g. if you know you can do roughly 20 story points in a sprint, you wouldn't
      pull in 50 story points of work).
 <li> Unfuddle's versions map directly to a release (a collection of sprints).
</ul>

Though since it's not geared to specifically support Agile development, there are no burndown or velocity charts. But if you're a small team, need low cost hosted project mgmt &amp; source code management, and want to inject some basic Agile into your application life cycle - Unfuddle is a good option.
<P>
Here's an example of what I was fooling around with:
<P>
<img src="http://www.dopejam.com/newsimages/unfuddleagile.png">
  ]]>
  </description> 
  <pubDate>Mon, 11 Oct 2010 16:23:00 PST</pubDate> 
  <guid>http://www.dopejam.com/shownewsitem.cfm?NewsID=584</guid> 
  <category>agile</category>
  </item>
 
  <item>
  <title>Useful resources for ramping up on CF9 ORM/Hibernate</title>   
  
  <link>http://www.dopejam.com/shownewsitem.cfm?NewsID=583</link>
  <description>
  <![CDATA[
  Ya I know, I'm late to the party! I've been working on this 
<a href="http://www.coldboxframework.org" target="_blank">ColdBox</a> based feature for one of Amcom's sites, however the rest of the site itself isn't
framework driven, so I decided to move the entire site into one common ColdBox application.
<P>
Since I'm in rewriting mode, might as well take advantage of ColdFusion 9's ORM/Hibernate feature. This technology is quite mindblasting, and I have to give
major kudos to the ColdFusion team for making it work with CF so seamlessly. It is so seamless it's like a native feature of CF. Nice (especially considering you have <a href="http://www.manning.com/bauer/" target="_new">400 page books</a> on the topic)! If it's one thing ColdFusion does well it's integrating technologies.
<P>
Anyways, below is list of resources I found to be very useful in quickly ramping up with CF9 ORM.
<ul>
 <li> <a href="http://slidesix.com/view/GettingStartedAcrobat4-uHtyn">Getting Started with CF9 Hiberate (ORM) Integration slides by Bob Silverberg</a>
 
 <li> <a href="http://www.manjukiran.net/2009/07/14/101/">Getting Started with ColdFusion-ORM by Manju Kiran</a>
 <li> <a href="http://www.manjukiran.net/2009/07/14/coldfusion-orm-using-crud-functions/">Using CRUD Functions by Manju Kiran</a> 
 <li> <a href="http://www.manjukiran.net/2009/07/15/coldfusion-orm-define-one-to-many-and-many-to-one-relationships/">Define One-To-Many and Many-to-one relationships by Manju Kiran</a>  

 <li> <a href="http://www.danvega.org/blog/index.cfm/2009/12/18/ColdFusion-ORM--Questions-on-how-to-handle-this-relationship">How to handle this relationship by Dan Vega</a>   
 <li> <a href="http://www.danvega.org/blog/index.cfm/2009/8/25/ColdFusion-9-debugging-hibernate-schema-exports">Debugging hibernate schema exports by Dan Vega</a> <li> <a href="http://www.silverwareconsulting.com/index.cfm/2009/9/15/CF9-ORM--Experimenting-with-type-vs-ormtype">Experimenting with type vs. ormtype by Bob Silverberg</a>     
<li> <a href="http://stackoverflow.com/questions/2480377/things-to-watch-out-for-in-coldfusion-9-with-cf-orm">Things to watch out for by Henry Ho</a>       
</ul>
<P>
Reference wise:<br>
<ul>
<li> <a href="http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSA59BCAA1-7773-49a9-977C-F8755BC2E0B8.html">Introducing ColdFusion ORM </a>
<li> <a href="http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WS32C28934-CDCE-497f-8212-6342141C5846.html">EntityLoad</a>
<li> <a href="http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSB7BEC0B4-8096-498d-8F9B-77C88878AC6C.html">Mapping properties</a>
</ul>
  ]]>
  </description> 
  <pubDate>Thu, 16 Sep 2010 09:50:00 PST</pubDate> 
  <guid>http://www.dopejam.com/shownewsitem.cfm?NewsID=583</guid> 
  <category>coldfusion</category>
  </item>
 
  <item>
  <title>Question - What Agile PM tools do you use?</title>   
  
  <link>http://www.dopejam.com/shownewsitem.cfm?NewsID=582</link>
  <description>
  <![CDATA[
  I create a quick survey to see what tools companies are using these days to manage Agile projects. <a href="http://www.surveymonkey.com/s/9P2FFCQ">Spread the word!</A>, and pass the link to all your developer buddies. Thanks.
  ]]>
  </description> 
  <pubDate>Thu, 09 Sep 2010 22:58:00 PST</pubDate> 
  <guid>http://www.dopejam.com/shownewsitem.cfm?NewsID=582</guid> 
  <category>agile</category>
  </item>
 
  <item>
  <title>Other technologies on your mind - results</title>   
  
  <link>http://www.dopejam.com/shownewsitem.cfm?NewsID=581</link>
  <description>
  <![CDATA[
  I did a quick survey the other day to see what other technologies are on the mind of developers who use ColdFusion. There were only 79 responses, so I wouldn't put much scientific weight on it - but interesting none the less. JavaScript frameworks/toolkits and HTML 5 being an obvious focal point as you can enhance your existing ColdFusion applications and the user experience even further, and similar to that using Flex to create rich internet applications that are powered by ColdFusion on the backend.
<P>
Mobile another key interest, and I imagine CFers are looking to backend the mobile experiences with ColdFusion.
<P>
After that a variety of other server side technologies across the board with C#, Java, Ruby, Python, Groovy, Scala, etc...
<P>
<img src="http://www.dopejam.com/newsimages/surveyofothertech.png">
  ]]>
  </description> 
  <pubDate>Tue, 07 Sep 2010 20:55:00 PST</pubDate> 
  <guid>http://www.dopejam.com/shownewsitem.cfm?NewsID=581</guid> 
  <category>coldfusion</category>
  </item>
 
  <item>
  <title>What Languages/Tech are you using to stay current?</title>   
  
  <link>http://www.dopejam.com/shownewsitem.cfm?NewsID=579</link>
  <description>
  <![CDATA[
  Your technical skills can never stay level, this is because whatever you know is always becoming obsolete as older technology becomes obsolete.<P>
Within the CF realm, you want to be leveraging the new features of CF9, learning the available frameworks, etc...<P>
But in this day and age, where technical skill is rapidly becoming a commodity, it's wise to have more than skill in your tool chest. <P>
Lately I've been researching what the current trends are, and am curious to see what other technologies fellow ColdFusion developers have been scoping out ? even out of curiosity.
<P>
So I whipped up a quick 30 second survey ? let me know your thoughts, and spread the link.
<a href=http://www.surveymonkey.com/s/XR57T97>Take me to the survey</a>.
<P>
I'll post the results in a few days.
<P>
Thanks!

  ]]>
  </description> 
  <pubDate>Thu, 02 Sep 2010 17:41:00 PST</pubDate> 
  <guid>http://www.dopejam.com/shownewsitem.cfm?NewsID=579</guid> 
  <category>coldfusion</category>
  </item>
 
</channel> 
</rss>


	





