<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Effective Development &#187; experiences</title>
	<atom:link href="http://www.effectivedevelopment.net/category/experiences/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.effectivedevelopment.net</link>
	<description>Thoughts from the World Of Practical Web Development</description>
	<lastBuildDate>Thu, 06 May 2010 15:36:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
<cloud domain='www.effectivedevelopment.net' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
		<item>
		<title>web 2.0 expo @ the javitts center</title>
		<link>http://www.effectivedevelopment.net/2009/11/web-2-0-expo-the-javitts-center/</link>
		<comments>http://www.effectivedevelopment.net/2009/11/web-2-0-expo-the-javitts-center/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 13:53:42 +0000</pubDate>
		<dc:creator>bill breen</dc:creator>
				<category><![CDATA[experiences]]></category>
		<category><![CDATA[web 2.0 expo]]></category>

		<guid isPermaLink="false">http://www.effectivedevelopment.net/?p=510</guid>
		<description><![CDATA[i will be at the web 2.0 expo in nyc this week. I hope to write a few posts about the sessions, and the experience. this is my second time attending this conference, so i&#8217;m excited to see what they have in store for us this year. first thoughts, it seems to be smaller than [...]


Related posts:<ol><li><a href='http://www.effectivedevelopment.net/2009/04/april-fools-and-technology/' rel='bookmark' title='Permanent Link: april fools and technology'>april fools and technology</a> <small>What is it about April Fools Day and the tech...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/06/using-the-basecamp-api-to-create-project-reports/' rel='bookmark' title='Permanent Link: Using the Basecamp API to Create Project Reports'>Using the Basecamp API to Create Project Reports</a> <small>A few months ago I wrote a post describing the...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/02/share-information/' rel='bookmark' title='Permanent Link: good development teams share information'>good development teams share information</a> <small>Sometimes its hard to effectively share everything among all members...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<!-- sphereit start --><p>i will be at the web 2.0 expo in nyc this week. I hope to write a few posts about the sessions, and the experience. this is my second time attending this conference, so i&#8217;m excited to see what they have in store for us this year. first thoughts, it seems to be smaller than last year, unless everyone decided to show up late. Also no breakfast. just tea and coffee. the theme of the expo is &#8220;more with less&#8221; so i guess they started off by providing less food. </p>
<p>today i have 5 sessions, and the keynotes. jeff jarvis will be speaking as well as kevin rose. i have high hopes for today, lets see what i learn.<br />
first stop, &#8220;darwinism on the web: surviving and thriving in a web 2.0 world.&#8221; </p>
<p>right now i regret not bringing a bagel. </p>
<div class="linkwithin_hook" id="http://www.effectivedevelopment.net/2009/11/web-2-0-expo-the-javitts-center/"></div><!-- sphereit end --><span style="margin-bottom:40px; border-bottom:none;"><a class="iconsphere" title="Sphere: Related Content" onclick="return Sphere.Widget.search('http://www.effectivedevelopment.net/2009/11/web-2-0-expo-the-javitts-center/')" href="http://www.sphere.com/search?q=sphereit:http://www.effectivedevelopment.net/2009/11/web-2-0-expo-the-javitts-center/">Sphere: Related Content</a></span><br/><br/>

<p>Related posts:<ol><li><a href='http://www.effectivedevelopment.net/2009/04/april-fools-and-technology/' rel='bookmark' title='Permanent Link: april fools and technology'>april fools and technology</a> <small>What is it about April Fools Day and the tech...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/06/using-the-basecamp-api-to-create-project-reports/' rel='bookmark' title='Permanent Link: Using the Basecamp API to Create Project Reports'>Using the Basecamp API to Create Project Reports</a> <small>A few months ago I wrote a post describing the...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/02/share-information/' rel='bookmark' title='Permanent Link: good development teams share information'>good development teams share information</a> <small>Sometimes its hard to effectively share everything among all members...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.effectivedevelopment.net/2009/11/web-2-0-expo-the-javitts-center/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Link: The Duct Tape Programmer</title>
		<link>http://www.effectivedevelopment.net/2009/09/link-the-duct-tape-programmer/</link>
		<comments>http://www.effectivedevelopment.net/2009/09/link-the-duct-tape-programmer/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 17:59:16 +0000</pubDate>
		<dc:creator>bill breen</dc:creator>
				<category><![CDATA[dev team]]></category>
		<category><![CDATA[experiences]]></category>

		<guid isPermaLink="false">http://www.effectivedevelopment.net/?p=507</guid>
		<description><![CDATA[This is a great Article I found on Joel On Software. In this article Joel writes about the concept of the Duct Tape Programmer. This is the programmer who gets things done and doesn&#8217;t feel the need to show off their software architect skills by over-engineering software. The Duct Tape Programmer is similar to the [...]


Related posts:<ol><li><a href='http://www.effectivedevelopment.net/2009/04/find-right-blend-ideal-practical-web-development/' rel='bookmark' title='Permanent Link: Find the Right Blend of Ideal and Practical Web Development'>Find the Right Blend of Ideal and Practical Web Development</a> <small>A few weeks ago I wrote that good design is...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/03/iterative-development-effective/' rel='bookmark' title='Permanent Link: Iterative Development is Effective'>Iterative Development is Effective</a> <small>Here at SmartMoney, we have been using iterative development techniques...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/11/web-2-0-expo-the-javitts-center/' rel='bookmark' title='Permanent Link: web 2.0 expo @ the javitts center'>web 2.0 expo @ the javitts center</a> <small>i will be at the web 2.0 expo in nyc...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<!-- sphereit start --><p>This is a great Article I found on Joel On Software. In this article Joel writes about the concept of the <a href="http://www.joelonsoftware.com/items/2009/09/23.html">Duct Tape Programmer</a>.  This is the programmer who gets things done and doesn&#8217;t feel the need to show off their software architect skills by over-engineering software. The Duct Tape Programmer is similar to the fictional developer I called &#8220;Jim&#8221; in my post <a href="http://www.effectivedevelopment.net/2009/05/a-tale-of-2-developers/">A Tale of 2 Developers</a>. </p>
<p>Joel&#8217;s rant is truly entertaining and accurate as well. Here&#8217;s an example:<br />
&#8220;You see, everybody else is too afraid of looking stupid because they just can’t keep enough facts in their head at once to make multiple inheritance, or templates, or COM, or multithreading, or any of that stuff work. So they sheepishly go along with whatever faddish programming craziness has come down from the architecture astronauts who speak at conferences and write books and articles and are so much smarter than us that they don’t realize that the stuff that they’re promoting is too hard for us.&#8221;</p>
<p>I highly value the concept of the practical programmer who writes solid code, regardless of the newest programming fad.  Give both articles a read, then come back and tell me your thoughts on the matter.</p>
<div class="linkwithin_hook" id="http://www.effectivedevelopment.net/2009/09/link-the-duct-tape-programmer/"></div><!-- sphereit end --><span style="margin-bottom:40px; border-bottom:none;"><a class="iconsphere" title="Sphere: Related Content" onclick="return Sphere.Widget.search('http://www.effectivedevelopment.net/2009/09/link-the-duct-tape-programmer/')" href="http://www.sphere.com/search?q=sphereit:http://www.effectivedevelopment.net/2009/09/link-the-duct-tape-programmer/">Sphere: Related Content</a></span><br/><br/>

<p>Related posts:<ol><li><a href='http://www.effectivedevelopment.net/2009/04/find-right-blend-ideal-practical-web-development/' rel='bookmark' title='Permanent Link: Find the Right Blend of Ideal and Practical Web Development'>Find the Right Blend of Ideal and Practical Web Development</a> <small>A few weeks ago I wrote that good design is...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/03/iterative-development-effective/' rel='bookmark' title='Permanent Link: Iterative Development is Effective'>Iterative Development is Effective</a> <small>Here at SmartMoney, we have been using iterative development techniques...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/11/web-2-0-expo-the-javitts-center/' rel='bookmark' title='Permanent Link: web 2.0 expo @ the javitts center'>web 2.0 expo @ the javitts center</a> <small>i will be at the web 2.0 expo in nyc...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.effectivedevelopment.net/2009/09/link-the-duct-tape-programmer/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Software: 6 Questions to Ask Yourself When Deciding to Build or Buy</title>
		<link>http://www.effectivedevelopment.net/2009/07/software-6-questions-to-ask-yourself-when-deciding-to-build-or-buy/</link>
		<comments>http://www.effectivedevelopment.net/2009/07/software-6-questions-to-ask-yourself-when-deciding-to-build-or-buy/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 12:30:56 +0000</pubDate>
		<dc:creator>bill breen</dc:creator>
				<category><![CDATA[dev team]]></category>
		<category><![CDATA[experiences]]></category>
		<category><![CDATA[philosophy]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.effectivedevelopment.net/?p=480</guid>
		<description><![CDATA[A common dilemma of many tech managers and businesses in general is when presented with a business problem, do you build your own software or do you buy? For some companies, this is an easy answer. Some development teams are not equipped with the skills to build a particular tool or product. Other companies just [...]


Related posts:<ol><li><a href='http://www.effectivedevelopment.net/2009/02/keep-teams-lean/' rel='bookmark' title='Permanent Link: Keep Teams Lean'>Keep Teams Lean</a> <small>Developing effectively starts with the team. Of course projects requirements,...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/06/web-development-creative-career/' rel='bookmark' title='Permanent Link: Web Development is a Creative Career'>Web Development is a Creative Career</a> <small>Web developers are different breed of technologists. We are increasingly...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/02/transparent-background/' rel='bookmark' title='Permanent Link: transparent background'>transparent background</a> <small>Let me give you a little information about where I...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<!-- sphereit start --><p>A common dilemma of many tech managers and businesses in general is when presented with a business problem, do you build your own software or do you buy? For some companies, this is an easy answer. Some development teams are not equipped with the skills to build a particular tool or product. Other companies just do not have any budget available for the product needed, but do have ample resources to work on development. But for the teams and situations that fall in that middle or gray area, what do you do? <img src="http://www.effectivedevelopment.net/wp-content/uploads/2009/07/buildbuy.jpg" alt="buildbuy Software: 6 Questions to Ask Yourself When Deciding to Build or Buy" title="buildbuy" width="240" height="136" class="alignright size-full wp-image-486" /></p>
<p>So, how do you decide to build or buy? Through my experiences I have compiled a short list of questions you need to ask yourself as a technology manager. </p>
<ol>
<li><strong>Do I have a budget to buy this product?</strong> &#8211; If not, the answer has been made for you. You will need to build a product that does the task, or at least can hold you off until there are available funds for purchase. Beware of the trap of building a &#8216;good enough&#8217; product that then stays long past its shelf life.</li>
<li><strong>Can my team build this?</strong> &#8211; This question has a couple of things to consider. Does your team have the skillets to build the product. Development teams have roles, and sometimes its obvious. For example a web team that builds games is just not going to build a billing system for you. Second, do you have the available resources and time? You may have the talent, but will you be able to set aside the right talent for the time required? They may be needed elsewhere.</li>
<li><strong>Does developing in house cost me in other ways?</strong> &#8211; Once again this speaks to your talent base. Maybe you can put a developer on this application for the time required, but are you missing out on future development opportunities? Is this project so far from their original skills and desires that you will diminish team morale? Less tangible than cost, these are still important to consider.</li>
<li><strong>Will the commercial software suit my needs?</strong> &#8211; My experience has been that many products have a set fee, but then you need to factor in the additional cost of customizations or additions that will suit your business needs. Or you think you can get away with a basic implementation, but soon need to upgrade, incurring additional costs. Or if you are paying for a subscription model, there may come a time when this may not be cost effective anymore. </li>
<li><strong>What will the cost be to build?</strong> &#8211; Again there are a couple of things to look at here. First, how many development hours will a project take?  To get a good assessment, you need to be skilled at <a href="http://www.effectivedevelopment.net/2009/06/estimating-resource-time-web-development-projects/">creating project estimates</a>. If done incorrectly you can end up in a losing proposition.  Ask yourself, does your company have a history of feature creep? If so, this project will inevitably take much longer than originally thought. Finally, what is your possible productivity loss? Does putting 2 developers on a six month project keep you from developing a new tool that can be monetized?  As Opportunity costs are just as important as accounting cost.</li>
<li><strong>Could this be outsourced?</strong> &#8211; Sometimes the solution is not to build in house, or buy, but rather to have a custom application developed for you. It has been my direct experience that a lot of outsourced code, while possibly cheaper initially has cost more to grow over time.  Digging through lines of code to fix bugs or to add a feature ends up wasting a lot of time. If you expect the contracting company to support the product, make sure they have been around awhile, and that you feel confident they will be there in the future. Also make sure their business model allows for incremental updates and support. Many consulting teams work on building and deploying full tools, and are not interested incremental additions.
</ol>
<p>I have to admit with the increased amount of opensource code in the community and advanced APIs to work with, I tend to build. We can usually find a good opensource product, edit and grow it for our needs, and save a lot of time and headaches. Or we buy a small commercial component that takes care of some aspect of the tool that we could/should not build, then build around that component. </p>
<p>Do you have similar issues? How do you decide whether to build or buy? Maybe you made a decision and wish you had chosen the other? Did I miss a major point in my decision process? I&#8217;d love to hear from you. Join the discussion in the comments. We should all learn from each others experiences. </p>
<p><em>image by <a href="http://www.flickr.com/photos/smailtronic/2142437674/" target="_blank">msmail</a></em></p>
<div class="linkwithin_hook" id="http://www.effectivedevelopment.net/2009/07/software-6-questions-to-ask-yourself-when-deciding-to-build-or-buy/"></div><!-- sphereit end --><span style="margin-bottom:40px; border-bottom:none;"><a class="iconsphere" title="Sphere: Related Content" onclick="return Sphere.Widget.search('http://www.effectivedevelopment.net/2009/07/software-6-questions-to-ask-yourself-when-deciding-to-build-or-buy/')" href="http://www.sphere.com/search?q=sphereit:http://www.effectivedevelopment.net/2009/07/software-6-questions-to-ask-yourself-when-deciding-to-build-or-buy/">Sphere: Related Content</a></span><br/><br/>

<p>Related posts:<ol><li><a href='http://www.effectivedevelopment.net/2009/02/keep-teams-lean/' rel='bookmark' title='Permanent Link: Keep Teams Lean'>Keep Teams Lean</a> <small>Developing effectively starts with the team. Of course projects requirements,...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/06/web-development-creative-career/' rel='bookmark' title='Permanent Link: Web Development is a Creative Career'>Web Development is a Creative Career</a> <small>Web developers are different breed of technologists. We are increasingly...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/02/transparent-background/' rel='bookmark' title='Permanent Link: transparent background'>transparent background</a> <small>Let me give you a little information about where I...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.effectivedevelopment.net/2009/07/software-6-questions-to-ask-yourself-when-deciding-to-build-or-buy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using the Basecamp API to Create Project Reports</title>
		<link>http://www.effectivedevelopment.net/2009/06/using-the-basecamp-api-to-create-project-reports/</link>
		<comments>http://www.effectivedevelopment.net/2009/06/using-the-basecamp-api-to-create-project-reports/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 12:30:26 +0000</pubDate>
		<dc:creator>bill breen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[dev team]]></category>
		<category><![CDATA[experiences]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[basecamp]]></category>

		<guid isPermaLink="false">http://www.effectivedevelopment.net/?p=451</guid>
		<description><![CDATA[A few months ago I wrote a post describing the benefits of using project collaboration software. It helps team members communicate, it avoids information hording, and at any time management can check in and see a project&#8217;s progress. At my job we use BaseCamp. It is a paid product that is extremely powerful and truly [...]


Related posts:<ol><li><a href='http://www.effectivedevelopment.net/2009/03/use-project-collaboration-software/' rel='bookmark' title='Permanent Link: Use Project Collaboration Software'>Use Project Collaboration Software</a> <small>We use BaseCamp here for managing projects. It is extremely...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/02/share-information/' rel='bookmark' title='Permanent Link: good development teams share information'>good development teams share information</a> <small>Sometimes its hard to effectively share everything among all members...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/05/use-the-development-community/' rel='bookmark' title='Permanent Link: How to Effectively Use the Development Community'>How to Effectively Use the Development Community</a> <small>This may seem obvious to most, especially to regular blog...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<!-- sphereit start --><p>A few months ago I wrote a post describing the benefits of using <a href="http://www.effectivedevelopment.net/2009/03/use-project-collaboration-software/">project collaboration software</a>. It helps team members communicate, it avoids information hording, and at any time management can check in and see a project&#8217;s progress. <img src="http://www.effectivedevelopment.net/wp-content/uploads/2009/06/tpsReport2-220x300.jpg" alt="tpsReport2 220x300 Using the Basecamp API to Create Project Reports" title="tpsReport" width="220" height="300" class="alignright size-medium wp-image-459" /></p>
<p>At my job we use <a href="http://www.basecamphq.com/" target="_blank">BaseCamp</a>.  It is a paid product that is extremely powerful and truly helpful.  BaseCamp allows you to get projects done, and in my experience does not seem to add a layer of distracting work or complexity. Its features include a wiki, messaging system, a place to store files, and even chat. There is a tool for almost every group&#8217;s style. But for my purposes it was lacking some much needed reporting features. This is by design. The creators of BaseCamp felt that instead of developing tons of reports that never to EXACTLY what everyone needs, they would build an API.  With the API, you could then in theory build reports that suit your specific needs. </p>
<p>We have a weekly managers meeting where we briefly run down all our open projects and their status. The responsible party can then update and if necessary elaborate briefly on specific items within their project. It is a great meeting to have because it gets all parties from various groups in one room where we quickly keep everyone abreast of the projects being worked on. People in theory can get all the same information from BaseCamp themselves, but reality is this is not always the case. Having the meeting lets us discuss small items with other groups and departments without having to have a longer time consuming meeting. </p>
<p>To create a report for this meeting, I decided to try the BaseCamp API.  I figured a quick report that can generate a concise PDF to print out and bring to the meeting will work best.  I sat down and used my regular <a href="http://www.effectivedevelopment.net/2009/05/use-the-development-community/">tech community channels</a> to see if anyone has created a BaseCamp API module for ColdFusion.  Sure enough, I found baseCamp.cfc from <a href="http://basecampcfc.riaforge.org/" target="_blank">Terrence Ryan</a>.  It was exactly what I was looking for. It was written for the older BaseCamp API, so I had to plug in some new methods, but it was a real time saver because it handled all the requests, and parsing of the responses. </p>
<p>I created a report that gathers the list of open projects and their details. First you login with your BaseCamp credentials.  Hers is something to take note of. The API code is now logged in as you. If you are creating a report of all the projects to share, then you MUST login as a user who has access to all the projects. It needs to be your account creator, or very high level user. Alternatively, you can simply create a user called reports, and have them automatically added to ALL projects. Then hardcode your API tool to login as this user, and you will have the highest level access to print accurate reports. </p>
<p>Once logged in I grab all the active projects. Then I loop through the project list and make additional API calls to collect the open to-dos and incomplete milestones for each project. Then when I have all my data, I loop through all this information, and format the projects with all their remaining work and due dates.<br />
I also created a longer report that retrieves closed items as well, and adds some more verbose details. </p>
<p>I also had a second need for a report.  I have a group of developers that report to me.  Each week we go over their assigned tasks and discuss progress. It also gives us a good chance to discuss common problems others may have come across, and <a href="http://www.effectivedevelopment.net/2009/02/share-information/">share information</a>. The first few weeks after implementing BaseCamp, I was forced to click on every project and then see what was assigned to who, or click on every person and grab their assigned to-do list.  The second option was better than the first, but both were little wasteful and time consuming. </p>
<p>Instead, I created a report. First I retrieve all active users from BaseCamp. I display those names as a series of checkboxes. Now any user I csn scroll through the list, and grab the assignments for all the users they  checked off at one time. When I loop through the user list, I grab each to-do assigned to them. I can also collect the project information and group the report together by project. So now we can simply review the list of projects and the assignments as a team. It helped keep my meeting organized and productive. </p>
<p>Once I retrieve all the BaseCamp info, parse it, and output it, I have an HTML and PDF view of the reports. Converting output to PDF is extremely simple in ColdFusion, and this gives me great flexibility. Now we can print out a stack of reports when needed, or in the case of my personal group&#8217;s meeting, I can simply view it on the computer. </p>
<p>BaseCamp and ColdFusion really paired nicely using the API. I have another report I plan to code soon, involving timesheets. I plan to be able to create timesheets based on project, person, and for various timeframes. I will keep you updated on how it goes. </p>
<p>Does anyone else use the BaseCamp API for their needs? Please share your ideas and experiences in the comments section. I&#8217;d love to get new ideas to make BaseCamp even more useful.</p>
<p><em>image by <a href="http://www.flickr.com/photos/nataliejohnson/2195090407/" target="_blank">nataliej</a></em></p>
<div class="linkwithin_hook" id="http://www.effectivedevelopment.net/2009/06/using-the-basecamp-api-to-create-project-reports/"></div><!-- sphereit end --><span style="margin-bottom:40px; border-bottom:none;"><a class="iconsphere" title="Sphere: Related Content" onclick="return Sphere.Widget.search('http://www.effectivedevelopment.net/2009/06/using-the-basecamp-api-to-create-project-reports/')" href="http://www.sphere.com/search?q=sphereit:http://www.effectivedevelopment.net/2009/06/using-the-basecamp-api-to-create-project-reports/">Sphere: Related Content</a></span><br/><br/>

<p>Related posts:<ol><li><a href='http://www.effectivedevelopment.net/2009/03/use-project-collaboration-software/' rel='bookmark' title='Permanent Link: Use Project Collaboration Software'>Use Project Collaboration Software</a> <small>We use BaseCamp here for managing projects. It is extremely...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/02/share-information/' rel='bookmark' title='Permanent Link: good development teams share information'>good development teams share information</a> <small>Sometimes its hard to effectively share everything among all members...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/05/use-the-development-community/' rel='bookmark' title='Permanent Link: How to Effectively Use the Development Community'>How to Effectively Use the Development Community</a> <small>This may seem obvious to most, especially to regular blog...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.effectivedevelopment.net/2009/06/using-the-basecamp-api-to-create-project-reports/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Web Development is a Creative Career</title>
		<link>http://www.effectivedevelopment.net/2009/06/web-development-creative-career/</link>
		<comments>http://www.effectivedevelopment.net/2009/06/web-development-creative-career/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 12:30:49 +0000</pubDate>
		<dc:creator>bill breen</dc:creator>
				<category><![CDATA[dev team]]></category>
		<category><![CDATA[experiences]]></category>
		<category><![CDATA[creative]]></category>
		<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://www.effectivedevelopment.net/?p=352</guid>
		<description><![CDATA[Web developers are different breed of technologists. We are increasingly creative. In my experience this comes from a few factors. On smaller agile teams, developers are asked to work on many roles of a project, and in some cases this includes design. Also unlike traditional software not all web developers are solely computer science majors. [...]


Related posts:<ol><li><a href='http://www.effectivedevelopment.net/2009/07/software-6-questions-to-ask-yourself-when-deciding-to-build-or-buy/' rel='bookmark' title='Permanent Link: Software: 6 Questions to Ask Yourself When Deciding to Build or Buy'>Software: 6 Questions to Ask Yourself When Deciding to Build or Buy</a> <small>A common dilemma of many tech managers and businesses in...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/04/find-right-blend-ideal-practical-web-development/' rel='bookmark' title='Permanent Link: Find the Right Blend of Ideal and Practical Web Development'>Find the Right Blend of Ideal and Practical Web Development</a> <small>A few weeks ago I wrote that good design is...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/06/good-developers-need-to-be-able-to-decompress/' rel='bookmark' title='Permanent Link: Good Developers Need to be Able to Decompress'>Good Developers Need to be Able to Decompress</a> <small>All good developers need time to decompress. This ability to...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<!-- sphereit start --><p>Web developers are different breed of technologists.  We are increasingly creative.  In my experience this comes from a few factors. On smaller agile teams, developers are asked to work on many roles of a project, and in some cases this includes design.  Also unlike traditional software not all web developers are solely computer science majors. They may be designers, or business students who have a passion for the web. <img src="http://www.effectivedevelopment.net/wp-content/uploads/2009/06/ascii_pi.jpg" alt="ascii pi Web Development is a Creative Career" title="ascii_pi" width="240" height="240" class="alignright size-full wp-image-423" /> </p>
<p>A good web developer is interested in design, performance, user experience &#8211; the full range of a tool.  They do not code assembly line style.  At most shops these days, the same development team that built a tool or product will then maintain it. We live and breath the website and the product. In many cases, the development team is be the group most in tune with the product. </p>
<p>Developers are not always given the credit they deserve from management for being creative.  I&#8217;ve even seen technical managers who have yet to recognize these facts. They come from an old school mentality, assigning bits and pieces of a web project to their team, having them work in a silo. Their teams are not aware of the bigger business decisions, and feedback is not valued. Their creativity is suppressed, forced to work on implementing mock ups and coding to spec.</p>
<p>Because the actual developer is the one who will work closely with the project, they need to know as much as possible about it, and have the ability to be creative with its individual elements. Like a designer, or writer, developing software is creative, and you need to be passionate about it.  It is the developer who should be able to spot the flaw in a design element, and be able to voice their opinion on a replacement. I realize projects have their client requirements, and business elements that are out of our hands. But the creativity of the developer will enable the business requirements to mesh with the real practical aspects of the tool. </p>
<p>Involving developers on a project from its early phases should result in a clean, effective tool that otherwise may not have been achieved by designers and management alone. They can bring a wealth of knowledge to a project both in capabilities and enhancements. </p>
<p><em>image by <a href="http://www.flickr.com/photos/jorel314/3352784321/" target="_blank">jorel314</a></em></p>
<div class="linkwithin_hook" id="http://www.effectivedevelopment.net/2009/06/web-development-creative-career/"></div><!-- sphereit end --><span style="margin-bottom:40px; border-bottom:none;"><a class="iconsphere" title="Sphere: Related Content" onclick="return Sphere.Widget.search('http://www.effectivedevelopment.net/2009/06/web-development-creative-career/')" href="http://www.sphere.com/search?q=sphereit:http://www.effectivedevelopment.net/2009/06/web-development-creative-career/">Sphere: Related Content</a></span><br/><br/>

<p>Related posts:<ol><li><a href='http://www.effectivedevelopment.net/2009/07/software-6-questions-to-ask-yourself-when-deciding-to-build-or-buy/' rel='bookmark' title='Permanent Link: Software: 6 Questions to Ask Yourself When Deciding to Build or Buy'>Software: 6 Questions to Ask Yourself When Deciding to Build or Buy</a> <small>A common dilemma of many tech managers and businesses in...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/04/find-right-blend-ideal-practical-web-development/' rel='bookmark' title='Permanent Link: Find the Right Blend of Ideal and Practical Web Development'>Find the Right Blend of Ideal and Practical Web Development</a> <small>A few weeks ago I wrote that good design is...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/06/good-developers-need-to-be-able-to-decompress/' rel='bookmark' title='Permanent Link: Good Developers Need to be Able to Decompress'>Good Developers Need to be Able to Decompress</a> <small>All good developers need time to decompress. This ability to...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.effectivedevelopment.net/2009/06/web-development-creative-career/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Good Developers Need to be Able to Decompress</title>
		<link>http://www.effectivedevelopment.net/2009/06/good-developers-need-to-be-able-to-decompress/</link>
		<comments>http://www.effectivedevelopment.net/2009/06/good-developers-need-to-be-able-to-decompress/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 12:30:45 +0000</pubDate>
		<dc:creator>bill breen</dc:creator>
				<category><![CDATA[dev team]]></category>
		<category><![CDATA[experiences]]></category>
		<category><![CDATA[philosophy]]></category>

		<guid isPermaLink="false">http://www.effectivedevelopment.net/?p=354</guid>
		<description><![CDATA[All good developers need time to decompress. This ability to decompress comes in 2 basic flavors. The first obvious method would be getting away from the mundane routine of coding. This form of decompression is common to most jobs. Developers like anyone else can benefit from some time away. This can come in small doses, [...]


Related posts:<ol><li><a href='http://www.effectivedevelopment.net/2009/06/web-development-creative-career/' rel='bookmark' title='Permanent Link: Web Development is a Creative Career'>Web Development is a Creative Career</a> <small>Web developers are different breed of technologists. We are increasingly...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/06/using-the-basecamp-api-to-create-project-reports/' rel='bookmark' title='Permanent Link: Using the Basecamp API to Create Project Reports'>Using the Basecamp API to Create Project Reports</a> <small>A few months ago I wrote a post describing the...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/04/find-right-blend-ideal-practical-web-development/' rel='bookmark' title='Permanent Link: Find the Right Blend of Ideal and Practical Web Development'>Find the Right Blend of Ideal and Practical Web Development</a> <small>A few weeks ago I wrote that good design is...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<!-- sphereit start --><p>All good developers need time to decompress. This ability to decompress comes in 2 basic flavors. <img src="http://www.effectivedevelopment.net/wp-content/uploads/2009/06/decompress-300x202.jpg" alt="decompress 300x202 Good Developers Need to be Able to Decompress" title="decompress" width="300" height="202" class="alignright size-medium wp-image-419" /></p>
<p>The first obvious method would be getting away from the mundane routine of coding.  This form of decompression is common to most jobs. Developers like anyone else can benefit from some time away. This can come in small doses, like 20 minutes of web browsing here and there, or in longer form, like a vacation.  A lot of developers are able to decompress by surfing the web. This is because the web is a passion for us. Even though we may be are on YouTube watching a video clip, we are also taking in subtle ideas about all the sites we are visiting. &#8220;Does this site implement comments in a unique way?&#8221; &#8220;Would it work for us?&#8221; We notice features, navigation choices, GUI elements and are constantly tucking them away into our mental toolbox. </p>
<p>When we find ourselves working on a project where we may be able to implement an earlier idea we saw, we try it. Developers enjoy being creative and applying new concepts and ideas to our work, no matter what the project.</p>
<p>The second way most web developers decompress will come as a bigger surprise to non-technical managers.  As I mentioned, web developers are passionate about their trade, and a good developer enjoys working on new ideas.  This may mean working on something we have not been assigned to, or re-tweaking code that was written a while ago.  Even writing code for personal sites.  Google embraces this notion and encourages their employees to use 20% of their workweek for side projects. And it has paid off for Google. Many features you use in Gmail, and Google Calendar each day came from developers own R&#038;D time, and not through committee or assignment. While this may seem like more work, or a distraction to others, this is a huge perk for developers, and results in increased productivity and creativity.  </p>
<p>Just like a writer, developers can get a creative block, and need time to step back and come at the problem with a different mindset.  Its that creativity that will help your site or application in the long term.  If you allow your developers to decompress and in turn build their knowledge base, they will have the clear mind, creativity and skills to tackle their regular projects more efficiently. </p>
<p><em>photo by <a href="http://www.flickr.com/photos/shazlypics/2950163066/" target="_blank">Subnet24</a></em></p>
<div class="linkwithin_hook" id="http://www.effectivedevelopment.net/2009/06/good-developers-need-to-be-able-to-decompress/"></div><!-- sphereit end --><span style="margin-bottom:40px; border-bottom:none;"><a class="iconsphere" title="Sphere: Related Content" onclick="return Sphere.Widget.search('http://www.effectivedevelopment.net/2009/06/good-developers-need-to-be-able-to-decompress/')" href="http://www.sphere.com/search?q=sphereit:http://www.effectivedevelopment.net/2009/06/good-developers-need-to-be-able-to-decompress/">Sphere: Related Content</a></span><br/><br/>

<p>Related posts:<ol><li><a href='http://www.effectivedevelopment.net/2009/06/web-development-creative-career/' rel='bookmark' title='Permanent Link: Web Development is a Creative Career'>Web Development is a Creative Career</a> <small>Web developers are different breed of technologists. We are increasingly...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/06/using-the-basecamp-api-to-create-project-reports/' rel='bookmark' title='Permanent Link: Using the Basecamp API to Create Project Reports'>Using the Basecamp API to Create Project Reports</a> <small>A few months ago I wrote a post describing the...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/04/find-right-blend-ideal-practical-web-development/' rel='bookmark' title='Permanent Link: Find the Right Blend of Ideal and Practical Web Development'>Find the Right Blend of Ideal and Practical Web Development</a> <small>A few weeks ago I wrote that good design is...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.effectivedevelopment.net/2009/06/good-developers-need-to-be-able-to-decompress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Estimating Resource Time for Web Development Projects</title>
		<link>http://www.effectivedevelopment.net/2009/06/estimating-resource-time-web-development-projects/</link>
		<comments>http://www.effectivedevelopment.net/2009/06/estimating-resource-time-web-development-projects/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 12:30:16 +0000</pubDate>
		<dc:creator>bill breen</dc:creator>
				<category><![CDATA[dev team]]></category>
		<category><![CDATA[experiences]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[estimates]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.effectivedevelopment.net/?p=42</guid>
		<description><![CDATA[Coming up with accurate time and resource estimate is one of the toughest skills of a good tech manager. It is an under appreciated skill, but vital to a project&#8217;s success. In the &#8216;real world&#8217; this one area requires many skills. It is necessary to have a deep knowledge of the project and technologies to [...]


Related posts:<ol><li><a href='http://www.effectivedevelopment.net/2009/02/share-information/' rel='bookmark' title='Permanent Link: good development teams share information'>good development teams share information</a> <small>Sometimes its hard to effectively share everything among all members...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/07/software-6-questions-to-ask-yourself-when-deciding-to-build-or-buy/' rel='bookmark' title='Permanent Link: Software: 6 Questions to Ask Yourself When Deciding to Build or Buy'>Software: 6 Questions to Ask Yourself When Deciding to Build or Buy</a> <small>A common dilemma of many tech managers and businesses in...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/03/iterative-development-effective/' rel='bookmark' title='Permanent Link: Iterative Development is Effective'>Iterative Development is Effective</a> <small>Here at SmartMoney, we have been using iterative development techniques...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<!-- sphereit start --><p>Coming up with accurate time and resource estimate is one of the toughest skills of a good tech manager.  It is an under appreciated skill, but vital to a project&#8217;s success.  In the &#8216;real world&#8217; this one area requires many skills.  It is necessary to have a deep knowledge of the project and technologies to be used, familiarity and confidence with your available resources as well as an intimate knowledge of the &#8216;outside&#8217; forces. Outside forces on a project include other projects, vacation and resource availability, and finally all the stake-holders in the project.  This could be your client, your boss, or perhaps another group in your company.  This piece of the puzzle is usually the largest wild card when making an estimate. <img src="http://www.effectivedevelopment.net/wp-content/uploads/2009/06/hourglass.jpg" alt="hourglass Estimating Resource Time for Web Development Projects" title="hourglass" width="209" height="240" class="alignright size-full wp-image-421" /></p>
<p>Hopefully, you are working on a small, manageable project or feature.  As I mentioned in a <a href="http://www.effectivedevelopment.net/2009/02/keep-teams-lean/">previous post</a>, no web project should take 9 months to a year of development.  Delays are one thing, but if the project plan calls for over 6 months of specs, development, and QA, the project should be broken down to more digestible pieces immediately.</p>
<p>I speak from experience here.  In 2008, we completely redesigned our website.  We looked to change both the front-end and back-end infrastructure and add every feature we could conjure up, but when the estimates rose into the 9-12 month range we scaled back the project. This reduced risk, and allowed us to provide an accurate estimate to the project&#8217;s stakeholders.</p>
<p>After 8+ years of creating estimates for both internal and client based projects, I have a basic formula.  This formula works for billable or developer hours. This is not a &#8216;Time to Completion&#8217; estimate.  Those estimates require knowledge of the company, other projects on the development queue, and resource availability.</p>
<p><strong>Here is the &#8216;secret sauce&#8217;:</strong><br />
When I have a project, I break it out into tangible subsections.  Design, HTML/CSS front-end work, back-end work, middle tier, and database interaction.   For each of these areas, there are questions that every manager must ask. These will be specific to your business and type of work.  An example could be &#8220;will this project require third party data, or a registered user database? Do we need to put this particular feature behind a login? Or what technologies are we using or need to interact with?&#8221;.  Knowing the right questions to ask comes with experience.</p>
<p>At this point I take the resulting pieces, and come up with hourly estimates.<br />
Any feature or additional piece of functionality adds complexity to the whole project. They do not stand on their own.  Let me explain.  Say a particular widget takes 2-4 hours to develop on its own.  And a poll or survey takes another 4 hours.  Imagine a project comes across your plate that needs a poll, and also links to this &#8216;widget&#8217;. Simple addition would say this is 4-6 hours, but you know linking these 2 technologies will take more development, and add more complexities to maintain.  Maybe it affects another poll or feature you deployed last week, and now that too has to be incorporated into this new poll+widget idea. So in reality, this new idea might take 8-10 hours to complete. </p>
<p>You can easily see how the owner of this idea will not understand the additional hours needed if they are not technical or involved in the big picture.  Selling these additional costs is another difficult part of the reality or practical development.  Its very hard to explain the nuances of the development processes to the non-technical parties involved.</p>
<p>Because of added and unforeseen complexities like these, I use the following hourly increments when creating estimates. </p>
<p>All items take the following time (measured in developer-hours).</p>
<ul>
<li>2, 4, 6, 8, 12, 16: These increments work for 80% of feature additions.</li>
<li>Anything over 16 hours proceeds in increments of 8 until 40 hours. (24, 32, 40)</li>
<li>After 40 hours (1 week of one developers time), start to increase by 12.</li>
<p>          (This is because anything over a week now has a higher probability of being affected by outside sources now. I can easily shield any developer on my team from outside distractions for 1 week, but its impossible to push off a person entirely after that. You may absolutely need them for something else with a higher priority or deadline.)</p>
<li>After crossing 60 hours, I increase by 16 hours at a time.</li>
<li>We usually stop at 120 hours.</li>
<p>           Very few projects get estimates past 80 hours anymore, but its not impossible.  After 120 hours, we break the project into smaller, more digestible pieces of 80 hrs and under. I recently estimated a very large project at 300 developer hours, but it was really 3-4 smaller projects of 60-100 hours each.  With practice you will find natural &#8216;breaks&#8217; in a project for estimates. Maybe its database, back-end, and front-end.  Etc&#8230;
</ul>
<p>I have spoken about realistically breaking down into 6 month turnarounds, which is usually a maximum of 120 hours of developer time.  You will definitely have to tweak this for the way things work at your company, but the hourly incremental formula has worked for me for years, and always provides accurate billable estimates.  Also don&#8217;t forget to add in a little padding for 3rd party projects, where you do not control all the project deliverables, and you shouldn&#8217;t get burned by a low ball estimate when it comes time to bill.</p>
<p>You may also need to estimate design and project management into your estimates depending on where you work.  This method concentrates on the area I have the most expertise in, Web Development. </p>
<p>None of this is a science, rather it is an art, and there are no guarantees projects will come in under budget using these methods. This is particularly hard for us to come to grip with in the technology field. We like accuracy and concrete formulas by nature. However, I find these guidelines have provided fairly accurate estimates for me for years. Remember to keep records and compare your actual time with your estimates, and you will be able to achieve more accuracy over time. </p>
<p>Does anyone else use a similar or perhaps a completely different process for estimating developer time? I&#8217;d love to hear about it and discuss.</p>
<p><em>image by <a href="http://www.flickr.com/photos/hikingartist/3000043099/" target="_blank">HikingArtist.com</a></em></p>
<div class="linkwithin_hook" id="http://www.effectivedevelopment.net/2009/06/estimating-resource-time-web-development-projects/"></div><!-- sphereit end --><span style="margin-bottom:40px; border-bottom:none;"><a class="iconsphere" title="Sphere: Related Content" onclick="return Sphere.Widget.search('http://www.effectivedevelopment.net/2009/06/estimating-resource-time-web-development-projects/')" href="http://www.sphere.com/search?q=sphereit:http://www.effectivedevelopment.net/2009/06/estimating-resource-time-web-development-projects/">Sphere: Related Content</a></span><br/><br/>

<p>Related posts:<ol><li><a href='http://www.effectivedevelopment.net/2009/02/share-information/' rel='bookmark' title='Permanent Link: good development teams share information'>good development teams share information</a> <small>Sometimes its hard to effectively share everything among all members...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/07/software-6-questions-to-ask-yourself-when-deciding-to-build-or-buy/' rel='bookmark' title='Permanent Link: Software: 6 Questions to Ask Yourself When Deciding to Build or Buy'>Software: 6 Questions to Ask Yourself When Deciding to Build or Buy</a> <small>A common dilemma of many tech managers and businesses in...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/03/iterative-development-effective/' rel='bookmark' title='Permanent Link: Iterative Development is Effective'>Iterative Development is Effective</a> <small>Here at SmartMoney, we have been using iterative development techniques...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.effectivedevelopment.net/2009/06/estimating-resource-time-web-development-projects/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Web Design: Finding the Next Oscillating Fan</title>
		<link>http://www.effectivedevelopment.net/2009/05/web-design-finding-the-next-oscillating-fan/</link>
		<comments>http://www.effectivedevelopment.net/2009/05/web-design-finding-the-next-oscillating-fan/#comments</comments>
		<pubDate>Wed, 27 May 2009 12:30:07 +0000</pubDate>
		<dc:creator>bill breen</dc:creator>
				<category><![CDATA[experiences]]></category>
		<category><![CDATA[last great web design idea]]></category>
		<category><![CDATA[Web design]]></category>
		<category><![CDATA[web interface]]></category>

		<guid isPermaLink="false">http://www.effectivedevelopment.net/?p=313</guid>
		<description><![CDATA[When I got my first job out of college, I bought a car. It was a new, 1997 Mazda 626. I was excited to finally have some of my own money, so I added all the features I could afford at the time. I added leather, a sun roof, and the &#8216;luxury package&#8217; which to [...]


Related posts:<ol><li><a href='http://www.effectivedevelopment.net/2009/04/good-software-design-important/' rel='bookmark' title='Permanent Link: Good Software Design Is Still An Important Art'>Good Software Design Is Still An Important Art</a> <small>Solid Architecture is a Dying Art When I was in...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/04/deploy-schedules-do-not-work/' rel='bookmark' title='Permanent Link: deployment schedules are not effective'>deployment schedules are not effective</a> <small>Simply put, deploying code on a set schedule is not...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/04/knowing-your-users-make-effective-decisions/' rel='bookmark' title='Permanent Link: Knowing your users will help make effective decisions'>Knowing your users will help make effective decisions</a> <small>If you are reading my blog, there is a very...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<!-- sphereit start --><p>When I got my first job out of college, I bought a car. It was a new, 1997 Mazda 626.  I was excited to finally have some of my own money, so I added all the features I could afford at the time. I added leather, a sun roof, and the &#8216;luxury package&#8217; which to this day I&#8217;m convinced consisted of nicer floor mats. But the coolest feature of all was a standard feature on Mazda&#8217;s at the time.  The center blower vents (for heating/Air conditioning) on the front dashboard were oscillating.</p>
<div id="attachment_320" class="wp-caption alignleft" style="width: 246px"><img src="http://www.effectivedevelopment.net/wp-content/uploads/2009/05/2841_8lo.jpg" alt="oscillating vent" title="2841_8lo" width="236" height="202" class="size-full wp-image-320" /><p class="wp-caption-text">oscillating vent</p></div>
<p>The oscillating fan is nothing new, but its not commonly found in cars.  Mazda engineers took note and added this to their cars. Why not? It was a simple motor, that with a push of a button allowed the vents to blow air back and forth, efficiently cooling the whole car. We see/use fans every day in our lives, but when passengers got in my car, it always drew comments.  That&#8217;s how unique it was. It was a minimalist way of providing climate control.  Other manufacturers were busy working on heated seats, dual zone cooling/heating, but Mazda took a step back and saw that adding this simple button and motor could provide a lot of benefit for a little investment.</p>
<p>As web designers and developers we need to find that next oscillating fan for the web. The lesson I learned from that fan&#8217;s design was that you do not always have to invent a new wheel. Sometimes the next great idea is just a re-using of a current idea. Simple using a common idea in a way that have never been used before can be very effective.</p>
<p>I think the last great web design idea like this may have been the tab.  Old methods of navigation were becoming more complicated when amazon pushed the tab navigation.  They took a familiar element we are comfortable with in our daily lives (tabs existed in books, file folders, etc&#8230;) and applied a graphical representation of it to the web.  Tabs existed before Amazon, but in 1998 Amazon really pushed the metaphor and transformed it into a common web interface. </p>
<p><img src="http://www.effectivedevelopment.net/wp-content/uploads/2009/05/amazon_tabs982.jpg" alt="amazon tabs982 Web Design: Finding the Next Oscillating Fan" title="amazon_tabs982" width="533" height="265" class="aligncenter size-full wp-image-327" /></p>
<p>Firefox became a major player in the browser wars partly becasue of their use of multiple tabs. Tabs are now slowly fading form some uses. Firefox says it is looking to <a href="http://www.readwriteweb.com/archives/the_future_of_firefox_no_tabs_built_in_ubiquity.php" target="_blank">abandon the</a> tab in favor of a traditional tree view. </p>
<p>What is the next oscillating fan or tab?  We need to constantly look for that complicated or cumbersome element, take a step back and find for the practical solution.  They may not all become standards, but sometimes the best ideas don&#8217;t always hit. That doesn&#8217;t mean we shouldn&#8217;t try.  After all, I&#8217;ve owned 5 cars since that Mazda, and driven countless others and I have never had an oscillating fan in any of them. However every time my car is hot, and i crank up the A/C I fondly remember that feature and wish I had it today.</p>
<div style="margin-top: 10px; height: 15px;" class="zemanta-pixie"><a class="zemanta-pixie-a" href="http://reblog.zemanta.com/zemified/3ce2b78b-9ee7-4882-b411-641112250b24/" title="Reblog this post [with Zemanta]"><img style="border: medium none ; float: right;" class="zemanta-pixie-img" src="http://img.zemanta.com/reblog_e.png?x-id=3ce2b78b-9ee7-4882-b411-641112250b24" alt="Reblog this post [with Zemanta]" title="Web Design: Finding the Next Oscillating Fan" /></a><span class="zem-script more-related pretty-attribution"><script type="text/javascript" src="http://static.zemanta.com/readside/loader.js" defer="defer"></script></span></div>
<div class="linkwithin_hook" id="http://www.effectivedevelopment.net/2009/05/web-design-finding-the-next-oscillating-fan/"></div><!-- sphereit end --><span style="margin-bottom:40px; border-bottom:none;"><a class="iconsphere" title="Sphere: Related Content" onclick="return Sphere.Widget.search('http://www.effectivedevelopment.net/2009/05/web-design-finding-the-next-oscillating-fan/')" href="http://www.sphere.com/search?q=sphereit:http://www.effectivedevelopment.net/2009/05/web-design-finding-the-next-oscillating-fan/">Sphere: Related Content</a></span><br/><br/>

<p>Related posts:<ol><li><a href='http://www.effectivedevelopment.net/2009/04/good-software-design-important/' rel='bookmark' title='Permanent Link: Good Software Design Is Still An Important Art'>Good Software Design Is Still An Important Art</a> <small>Solid Architecture is a Dying Art When I was in...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/04/deploy-schedules-do-not-work/' rel='bookmark' title='Permanent Link: deployment schedules are not effective'>deployment schedules are not effective</a> <small>Simply put, deploying code on a set schedule is not...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/04/knowing-your-users-make-effective-decisions/' rel='bookmark' title='Permanent Link: Knowing your users will help make effective decisions'>Knowing your users will help make effective decisions</a> <small>If you are reading my blog, there is a very...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.effectivedevelopment.net/2009/05/web-design-finding-the-next-oscillating-fan/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Guest Post @ The 2.0 Life</title>
		<link>http://www.effectivedevelopment.net/2009/05/guest-post-the-20-life/</link>
		<comments>http://www.effectivedevelopment.net/2009/05/guest-post-the-20-life/#comments</comments>
		<pubDate>Mon, 18 May 2009 12:30:14 +0000</pubDate>
		<dc:creator>bill breen</dc:creator>
				<category><![CDATA[experiences]]></category>
		<category><![CDATA[link]]></category>

		<guid isPermaLink="false">http://www.effectivedevelopment.net/?p=332</guid>
		<description><![CDATA[I&#8217;ve written a guest post on the blog &#8220;The 2.0 life: How to Thrive in a Digital World &#8221; entitled: 10 WordPress Plugins Every New Blogger Should Install. Please go check it out, and while you are there look over David&#8217;s site. It has a lot of great, practical advise for using web tools and [...]


Related posts:<ol><li><a href='http://www.effectivedevelopment.net/2009/06/new-guest-post-the-complete-google-guide-to-blogging-tools/' rel='bookmark' title='Permanent Link: New Guest Post: The Complete Google Guide to Blogging Tools'>New Guest Post: The Complete Google Guide to Blogging Tools</a> <small>David Pierce who runs the very useful tech blog &#8220;The...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/04/web-tools-tips-and-talk-0/' rel='bookmark' title='Permanent Link: Web Tools Tips and Talk #4'>Web Tools Tips and Talk #4</a> <small>As usual, a semi-weekly wrap up of links, tidbits, and...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/05/web-tools-tips-and-talk-7/' rel='bookmark' title='Permanent Link: Web Tools Tips and Talk: #7'>Web Tools Tips and Talk: #7</a> <small>It&#8217;s been another 2 weeks, so here is another wrap...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<!-- sphereit start --><p>I&#8217;ve written a guest post on the blog &#8220;The 2.0 life: How to Thrive in a Digital World &#8221; entitled: <a href="http://www.the20life.com/2009/05/17/10-wordpress-plugins-every-new-blogger-should-install/">10 WordPress Plugins Every New Blogger Should Install</a>.  Please go check it out, and while you are there look over David&#8217;s site. It has a lot of great, practical advise for using web tools and other online survival skills.</p>
<div class="linkwithin_hook" id="http://www.effectivedevelopment.net/2009/05/guest-post-the-20-life/"></div><!-- sphereit end --><span style="margin-bottom:40px; border-bottom:none;"><a class="iconsphere" title="Sphere: Related Content" onclick="return Sphere.Widget.search('http://www.effectivedevelopment.net/2009/05/guest-post-the-20-life/')" href="http://www.sphere.com/search?q=sphereit:http://www.effectivedevelopment.net/2009/05/guest-post-the-20-life/">Sphere: Related Content</a></span><br/><br/>

<p>Related posts:<ol><li><a href='http://www.effectivedevelopment.net/2009/06/new-guest-post-the-complete-google-guide-to-blogging-tools/' rel='bookmark' title='Permanent Link: New Guest Post: The Complete Google Guide to Blogging Tools'>New Guest Post: The Complete Google Guide to Blogging Tools</a> <small>David Pierce who runs the very useful tech blog &#8220;The...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/04/web-tools-tips-and-talk-0/' rel='bookmark' title='Permanent Link: Web Tools Tips and Talk #4'>Web Tools Tips and Talk #4</a> <small>As usual, a semi-weekly wrap up of links, tidbits, and...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/05/web-tools-tips-and-talk-7/' rel='bookmark' title='Permanent Link: Web Tools Tips and Talk: #7'>Web Tools Tips and Talk: #7</a> <small>It&#8217;s been another 2 weeks, so here is another wrap...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.effectivedevelopment.net/2009/05/guest-post-the-20-life/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to Effectively Use the Development Community</title>
		<link>http://www.effectivedevelopment.net/2009/05/use-the-development-community/</link>
		<comments>http://www.effectivedevelopment.net/2009/05/use-the-development-community/#comments</comments>
		<pubDate>Wed, 06 May 2009 12:30:42 +0000</pubDate>
		<dc:creator>bill breen</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[experiences]]></category>

		<guid isPermaLink="false">http://www.effectivedevelopment.net/?p=272</guid>
		<description><![CDATA[This may seem obvious to most, especially to regular blog readers but don&#8217;t forget the development community when working on projects. There is a large community of developers and many are willing to share ideas, code, and techniques. When I am stumped, or simply taxed with a problem that has a common element to it, [...]


Related posts:<ol><li><a href='http://www.effectivedevelopment.net/2009/06/using-the-basecamp-api-to-create-project-reports/' rel='bookmark' title='Permanent Link: Using the Basecamp API to Create Project Reports'>Using the Basecamp API to Create Project Reports</a> <small>A few months ago I wrote a post describing the...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/02/share-information/' rel='bookmark' title='Permanent Link: good development teams share information'>good development teams share information</a> <small>Sometimes its hard to effectively share everything among all members...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/07/software-6-questions-to-ask-yourself-when-deciding-to-build-or-buy/' rel='bookmark' title='Permanent Link: Software: 6 Questions to Ask Yourself When Deciding to Build or Buy'>Software: 6 Questions to Ask Yourself When Deciding to Build or Buy</a> <small>A common dilemma of many tech managers and businesses in...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<!-- sphereit start --><p>This may seem obvious to most, especially to regular blog readers but don&#8217;t forget the development community when working on projects. There is a large community of developers and many are willing to share ideas, code, and techniques.</p>
<p>When I am stumped, or simply taxed with a problem that has a common element to it, I have a pretty standard sequence of steps I take to see if I can get help or find a component that someone else created already.  Most projects break down into 2 items, common problems and issues specific to your company, environment, etc&#8230;</p>
<p>Recently while talking with our operations manager he mentioned he was having problems with an old isapi filter we use to receive and parse incoming customer service tickets.  The filter was written over 6 years ago, and the source code is gone.  We are lacking a good deploy plan for this filter and we needed to replace it soon. We came up with a very simple solution. Have our mail server dump the incoming .msg files to a secure directory, and write a simple parser to monitor, parse, and insert the tickets into our system.   </p>
<p>So I set to work.  We are primarily a ColdFusion shop here, however we do write in many other languages. This was a task that would be easily written in ColdFusion and would also run extremely fast.  It seemed like the right tool for the job.  ColdFusion also has an event monitor that will monitor a directory for new or changed files and trigger code. I have had mixed results with it in the past, but this seemed like a good place to try again. If not, I could simply schedule the script to run at set intervals. </p>
<p>First step, open a msg file and see what we got. Wow, that was going to be a mess to parse. But I had  a hunch someone wrote a basic email parser in ColdFusion. If I found one, that would let me spend the time coding the specific pieces of this project related to our environment.  So I immediately turned to the community. </p>
<p>Here is a general run down of the steps I take when looking for some code or tips.<br />
- I send an email to my development team.  If they already wrote or found similar code, then problem solved.</p>
<p>- Next, I Google my issue. In this case “coldfusion email parser” </p>
<p>- Check a few of the code community sites I have bookmarked in Delicious. In <a href="http://delicious.com/billy999">Delicious</a> I keep code and community sites tagged with the language they serve.  In this case, <a href="http://www.fusionauthority.com/">fusion authority</a>, <a href="http://www.adobe.com/devnet/">adobe</a>, <a href="http://www.coldfusionjedi.com/">ray camdem&#8217;s blog</a>, etc&#8230;  Whenever I come across a code repository, or good language specific blog, I tag it in delicious.   You never know when you&#8217;ll need it.</p>
<p>- Twitter: I don&#8217;t send a tweet often to ask for help rather, I run a search similar to Google in <a href="http://www.tweetdeck.com/beta/">TweetDeck</a>. I may create one or two searches and let them run.  This usually leads me to people who are having similar issues, or possibly written about something I need.  </p>
<p>- Finally, if I have time to wait for a response, I go back to some of the code specifics resources I mentioned earlier, and post a question.  </p>
<p>One of these usually leads me to the path I need. I have had great success with these methods.  Sometimes the module I find is slightly out of date or missing a few key elements I have to add. This is fine, it at least give you a starting point.  For example I found a BaseCamp component that worked with their old API.  I found it quite easy to add the new API methods and bring it up to date.  It provided a nice clean framework to work with.  I recommend if you do make changes that the community might find beneficial, please give it back to the community.  As soon as I clean up the BaseCamp component, I plan to submit it back to the repository I found it.  </p>
<p>This same process can be applied to whole open source apps, you are not limited to simple components when looking for a building block for your project. That&#8217;s what makes the development community on the web so useful.  </p>
<p>Do you have other techniques, or processes to find help and code you need?  Let us know in the comments.</p>
<p><em>Update 5/7/2009 by Bill: I did eventually find a ColdFusion component that parses emails via my google search. It was on <a href="http://mollerus.net/tom/projects/emailParseCFC/">Tom Mollerus&#8217; WebLog</a>. It worked great, and saved me a lot of time. I was able to get this running in a few hours, instead of days. </em>  </p>
<div class="linkwithin_hook" id="http://www.effectivedevelopment.net/2009/05/use-the-development-community/"></div><!-- sphereit end --><span style="margin-bottom:40px; border-bottom:none;"><a class="iconsphere" title="Sphere: Related Content" onclick="return Sphere.Widget.search('http://www.effectivedevelopment.net/2009/05/use-the-development-community/')" href="http://www.sphere.com/search?q=sphereit:http://www.effectivedevelopment.net/2009/05/use-the-development-community/">Sphere: Related Content</a></span><br/><br/>

<p>Related posts:<ol><li><a href='http://www.effectivedevelopment.net/2009/06/using-the-basecamp-api-to-create-project-reports/' rel='bookmark' title='Permanent Link: Using the Basecamp API to Create Project Reports'>Using the Basecamp API to Create Project Reports</a> <small>A few months ago I wrote a post describing the...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/02/share-information/' rel='bookmark' title='Permanent Link: good development teams share information'>good development teams share information</a> <small>Sometimes its hard to effectively share everything among all members...</small></li>
<li><a href='http://www.effectivedevelopment.net/2009/07/software-6-questions-to-ask-yourself-when-deciding-to-build-or-buy/' rel='bookmark' title='Permanent Link: Software: 6 Questions to Ask Yourself When Deciding to Build or Buy'>Software: 6 Questions to Ask Yourself When Deciding to Build or Buy</a> <small>A common dilemma of many tech managers and businesses in...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.effectivedevelopment.net/2009/05/use-the-development-community/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
