<?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>AndyBranch.com</title>
	<atom:link href="http://andybranch.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://andybranch.com</link>
	<description>Better web via better project management</description>
	<lastBuildDate>Fri, 07 May 2010 14:45:12 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Project Managers on the Production Team</title>
		<link>http://andybranch.com/2010/05/project-managers-on-the-production-team/</link>
		<comments>http://andybranch.com/2010/05/project-managers-on-the-production-team/#comments</comments>
		<pubDate>Fri, 07 May 2010 14:44:11 +0000</pubDate>
		<dc:creator>Andy Branch</dc:creator>
				<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Resource Management]]></category>
		<category><![CDATA[project manager / developer]]></category>

		<guid isPermaLink="false">http://andybranch.com/?p=85</guid>
		<description><![CDATA[During production I&#8217;ve seen a lot of value in both acting as manager and developer. In fact, that&#8217;s almost always the way I&#8217;d prefer it with the projects I manage at Rain. After my first year of being both a frontend web developer and PM on multiple projects a coworker questioned this method. He was [...]]]></description>
			<content:encoded><![CDATA[<p>During production I&#8217;ve seen a lot of value in both acting as manager and developer. In fact, that&#8217;s almost always the way I&#8217;d prefer it with the projects I manage at Rain. After my first year of being both a frontend web developer and PM on multiple projects a coworker questioned this method. He was of the opinion that producers or PMs should never be involved in the actual production work. I&#8217;ve thought of this often since, but am still perplexed at how this could ever be a bad thing. Having a hand in the actual development provides a lot of added benefits to management. Most importantly are these three:</p>
<ol>
<li><strong>Knowing the codebase -</strong> Since my hands are in the code and I am seeing/understanding its progression, I know exactly the state of the project at all times. I know where we need to allocate more resources to fast-track a task. I know where the critical paths are and how we&#8217;re handling them day-to-day. I can give an update on where things are at at any moment. I can answer client&#8217;s technical questions or get ours answered without wasting my key developer&#8217;s time.</li>
<li><strong>Peer respect -</strong> Since I am not supervising from some &#8220;lofty, exalted, I&#8217;m-the-dude-in-charge&#8221; sort of way, but am actually helping the effort, I gain more respect from the team as only a peer can. One of the greatest compliments I&#8217;ve ever received was the anonymous employee/peer review feedback which stated &#8220;I wish we had two of Andy: one to do frontend development full time and one to manage full time.&#8221;</li>
<li><strong>Staying frosty -</strong> By continuing to develop and staying current on new technology I am better equipped to come up with technology solutions for clients. Managers who are more distant from technology are, I think, severely limited in their ability to find creative and innovative solutions since their perspective of what is possible comes through the lens of a laymen.</li>
</ol>
<p>There is also one other added benefit that has more to do with personal risk management. My uncle (a long-time government worker/programmer) said one of the greatest dangers for developers going into management is for them losing their coding skills. Since in technology company managers tend to be &#8220;home-grown&#8221; or raised up from the existing body of employees rather than brought-in, when companies go under managers who got their start in development are often forced to go back to coding when seeking new employment. Keeping our development skills sharp so that we will always be competitive in the most currently sought-after positions means we&#8217;ll always have employment options. This peace-of-mind alone is worth the 5-10 hours a week I spend in actual development.
<div class="tweetmeme_button" style="">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fandybranch.com%2F2010%2F05%2Fproject-managers-on-the-production-team%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fandybranch.com%2F2010%2F05%2Fproject-managers-on-the-production-team%2F&amp;source=andybranch&amp;style=compact&amp;service=is.gd" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://andybranch.com/2010/05/project-managers-on-the-production-team/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Task Estimate Questions</title>
		<link>http://andybranch.com/2010/03/task-estimate-questions/</link>
		<comments>http://andybranch.com/2010/03/task-estimate-questions/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 05:26:08 +0000</pubDate>
		<dc:creator>Andy Branch</dc:creator>
				<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://andybranch.com/?p=103</guid>
		<description><![CDATA[Brady, one of my co-workers, will soon be interviewing a long-time project manager at BYU. The following are the questions he will be asking that he was kind enough to share with me. I thought it would be fun to address these with my own philosophy.
Before diving in I do think one point is worth [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.bradywhite.net/">Brady</a>, one of my co-workers, will soon be interviewing a long-time project manager at BYU. The following are the questions he will be asking that he was kind enough to share with me. I thought it would be fun to address these with my own philosophy.</p>
<p>Before diving in I do think one point is worth making as a disclaimer. There are some important differences between PMing at an agency doing client work and PMing internal products/projects. Namely, when you&#8217;re a PM over internal projects sometimes business requs are vauge, but the budget and timelines are fixed. That&#8217;s a challenge I don&#8217;t envy and which, fortunately, we rarely deal with.</p>
<h2>What are the specific steps you take for resources estimates on tasks?</h2>
<ol>
<li>Ensure we have enough information from the project sponsor. Ask the questions they haven&#8217;t thought of. Conduct initial risk analysis and run it by the sponsor.</li>
<li>Run all assumptions I make as PM past the project sponsor prior to estimating.</li>
<li>Create a task list.</li>
<li>Do my best to have the resources doing the work doing the estimations.</li>
<li>Ensure the project requirements are understood by resource.</li>
<li>Request resource to account for any tasks I may have missed and add them to task list.</li>
<li>Compile all resource estimates and &#8220;high-level&#8221; it (check it against other projects of similar scope and size and make sure nothing seems &#8220;off&#8221;).</li>
<li>Conduct formal and informal reviews with resources during and after the project for critique of estimations.</li>
</ol>
<h2>Do you have standard methodology for document estimate, actual variance?</h2>
<p>I do use a common document we&#8217;ve created at Rain which lists tasks common to most projects which serves as a start to task lists. This document also contains a worksheet for estimating resources and skillsets required for a project necessary for resource allocation and planning.</p>
<h2>How do you estimate resources required for tasks that you don&#8217;t have experience with?</h2>
<p>If neither I nor personnel on staff have any experience with a needed task we do as much due-diligence as is feasible without budget (usually a few hours to a day or so depending on the project size). With our research we make an informed estimate and then simply double it.</p>
<h2>Do you classify previous tasks and use them as references for estimating new tasks?</h2>
<p>Absolutely. It would be sheer idiocy to do otherwise. Whether a project is hourly or not, resources are required to track their hours to the nearest half hour to specific tasks in our project management system. When we bid on projects which are similar in scope and business requirements we use these archives to inform our bid.</p>
<h2>How do you account for padding? Managerial or individual? Do you oppose padding?</h2>
<p>I would oppose padding more if we were having difficulty winning bids. Honestly whether or not I pad depends on how badly we need work at the time. When we have as many projects as we can handle padding on fixed-bid proposals allows us to mitigate our risk.</p>
<p>In general I will always pad if I or resources helping me with estimations have either never done work similar or seem unsure about their estimates. I like to be there with the resources when they are making bids and watch their body language. If they struggle or hesitate with an estimate I want to manage our risk by providing some padding above and beyond what they have provided. When resources are sketchy on estimates they almost always under-bid. On the other hand, when resources are confident with an estimate I trust them.</p>
<p>Another important thing which many consider &#8220;padding&#8221; but which I do not is accounting for discovery, account management, and quality assurance tasks. I subscribe to the rule of thirds when it comes to software development (with some varience depending on the type of project). 1/3d goes to discovery, design, and prototyping. 1/3d goes to development. 1/3d goes to iteration and QA.</p>
<h2>How do you manage resource estimates when you believe they are padding their numbers?</h2>
<p>I am very honest with resources and work closely with them in creating project bids. I ask them not to pad but to trust their instincts. I try to have them go with how long a task &#8220;feels&#8221;. Again, by watching them react to the listed and described task as they think it through I can gauge whether I need to pad their estimate or trust their confidence level. This depends, certainly, on knowing the employee well and having mutual trust which is important for project management anyway.</p>
<h2>How do you account for a learning curve? for new technology? for new employees?</h2>
<p>I think I covered learning curve and new technology above. Our newer employees often do not have experience providing detailed estimates and being accountable for those estimates throughout a project. I try to get them engaged in the estimation process as soon as possible so they can become skilled at it. An important part of this is helping them to go back and review days, weeks, and even month&#8217;s worth of effort from their reports so they can learn how long they take on specific tasks.</p>
<p>But I do not rely on new employees for actual bids if I can avoid it. I will still have them bid, but also with a more experienced employee bidding as well. Of course, it&#8217;s important to take into consideration difference in speed and skillset with newer resources vs older, more experienced resources. I will then have them compare bids and talk about and justify their estimates. I find this exercise very helpful.</p>
<h2>How do you account for differences in employee productivity?</h2>
<p>Differences in employee productivity is less important than work accomplished vs work estimated. Since the goal is to have the resource who will be doing the work being the one who does the estimations, the point is often moot. Gauging and learning from differences between estimates and performance is huge. But managing productivity is another blog post entirely.</p>
<h2>How do you handle vague requirements?</h2>
<p>If requirements must be vauge (as they often are) I do one of three things, depending on the preference of the project sponsor:</p>
<ol>
<li>Pad the hell out of it so the risk on my end is managed. I want me and the team to feel confident that our numbers are so high that it will never come back to bite us.</li>
<li>Take our best and most realistic guess of what the effort will be and procure budget for 1/4th of it. That 4th will pay for the discovery and prototyping. When discovery and prototyping are complete and the sponsor and stakeholders are all happy and have signed-off, we then provide an accurate fixed bid for the remainder of the project.</li>
<li>Do the whole thing hourly. There are many tasks I refuse to take-on at a fixed bid. One of these is system-to-system integration when working with a 3rd party that has no well-documented API. We do these tasks hourly every time.</li>
</ol>
<h2>Have you had success with task estimation?</h2>
<p>Absolutely. Since adopting this &#8220;philosophy&#8221; (which is a dynamic and not a static thing) my projects have rarely been over-budget or timeline unless there has been significant changes. Even in those cases, between either our prototyping process (my second approach to vague requirements above) and change orders, we don&#8217;t get burned by scope creep much anymore.</p>
<h2>Do you make specific estimates or range estimates?</h2>
<p>A client or sponsor will always hear the lowest number. I don&#8217;t provide ranges. If I have to I provide &#8220;~&#8221; in front of <em>one </em>number when providing a gut &#8220;range&#8221; or &#8220;scare-away&#8221; price. I want to emphasize the importance of this &#8220;scare-away&#8221; price in agency work. Often too much time is wasted with potential clients in due-diligence when what you thought was a project in the hundreds of thousands and they thought was in the thousands. A lot of time can be saved by throwing out a &#8220;gut&#8221; number first. But yeah, I hate ranges.</p>
<h2>How often throughout the project do you review/update estimates?</h2>
<p>Depending on which way we are doing a project (fixed, hourly, prototyped) the answer is different. If we are doing hourly (usually with a retainer agreement) client&#8217;s demand rigorous attention to reporting and so it a monthly task of reviewing and updating estimates. With prototyping there is a formal review/update at the conclusion of the discovery phase. With fixed-bids reviews are less formal. Usually they come up when a change-order is required (which is fairly common).
<div class="tweetmeme_button" style="">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fandybranch.com%2F2010%2F03%2Ftask-estimate-questions%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fandybranch.com%2F2010%2F03%2Ftask-estimate-questions%2F&amp;source=andybranch&amp;style=compact&amp;service=is.gd" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://andybranch.com/2010/03/task-estimate-questions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why Tweeting != Narcissism</title>
		<link>http://andybranch.com/2010/03/why-tweeting-narcissism/</link>
		<comments>http://andybranch.com/2010/03/why-tweeting-narcissism/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 08:36:12 +0000</pubDate>
		<dc:creator>Andy Branch</dc:creator>
				<category><![CDATA[Soapbox]]></category>
		<category><![CDATA[Social Media]]></category>
		<category><![CDATA[narcissism]]></category>
		<category><![CDATA[tweet]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://andybranch.com/?p=97</guid>
		<description><![CDATA[&#8220;Why would anyone care about what I&#8217;m doing every minute of every day?&#8221; is the beloved question from the haters. Another common, clever argument from the holier-than-thou crowd is the argument that Twitter users are narcissistic. What these folks are missing is an assumption that most Twitter users have arrived at, if only subconsciously: Twitter [...]]]></description>
			<content:encoded><![CDATA[<p>&#8220;Why would anyone care about what I&#8217;m doing every minute of every day?&#8221; is the beloved question from the haters. Another common, clever argument from the holier-than-thou crowd is the argument that Twitter users are narcissistic. What these folks are missing is an assumption that most Twitter users have arrived at, if only subconsciously: Twitter is the medium for answering the question &#8220;What&#8217;s going on?&#8221; which becomes an open invitation from close friends, family, and colleagues who honestly appreciate the answer.</p>
<p>In other words, when I tweeted tonight &#8220;Trying to fall asleep with a little help from Tchaikovsky&#8221; it wasn&#8217;t because I honestly thought the whole world needed to know or cared about my sleeping habits. It was because I know that there are some people who love and appreciate me who are going to be interested in knowing that I have been having a resurgence of insomnia lately and that I love Tchaikovsky. This equates to idol conversation. There is both an un-spoken question and an (often) unheard response. But it <em>is </em>a conversation. And common, idol conversation is the glue that binds relationships that have any value. This is why I wish more of the people I cared about used Twitter and why I think the afore-mentioned arguments miss the point entirely.</p>
<p>&lt;soapbox /&gt;
<div class="tweetmeme_button" style="">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fandybranch.com%2F2010%2F03%2Fwhy-tweeting-narcissism%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fandybranch.com%2F2010%2F03%2Fwhy-tweeting-narcissism%2F&amp;source=andybranch&amp;style=compact&amp;service=is.gd" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://andybranch.com/2010/03/why-tweeting-narcissism/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Prototyping for a Better Rich Internet Experience</title>
		<link>http://andybranch.com/2010/02/prototyping-process-creating-rich-internet-experience/</link>
		<comments>http://andybranch.com/2010/02/prototyping-process-creating-rich-internet-experience/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 18:43:45 +0000</pubDate>
		<dc:creator>Andy Branch</dc:creator>
				<category><![CDATA[Processes]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Software Development Cycle]]></category>
		<category><![CDATA[change management]]></category>
		<category><![CDATA[code refactor]]></category>
		<category><![CDATA[development cycle]]></category>
		<category><![CDATA[discovery]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[protoyping]]></category>
		<category><![CDATA[ria]]></category>
		<category><![CDATA[scope creep]]></category>

		<guid isPermaLink="false">http://andybranch.com/?p=77</guid>
		<description><![CDATA[I was asked today to send some explanation to a potential client about our unique processes at Rain (where I work as a producer). Since it&#8217;s something we&#8217;ve spent a great deal of time perfecting and something I personally feel very strongly about, my response ended up being rather verbose. But I feel that it&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>I was asked today to send some explanation to a potential client about our unique processes at Rain (where I work as a producer). Since it&#8217;s something we&#8217;ve spent a great deal of time perfecting and something I personally feel very strongly about, my response ended up being rather verbose. But I feel that it&#8217;s a model more agencies should adopt and I feel the explanation is good enough that it warranted posting here, with some modification.</p>
<p>I think our discovery/prototyping process is something that sets us apart from not only other digital agencies, but also traditional software development agencies. Over the last ten years we&#8217;ve spent a lot of time perfecting our process with the single most important goal of making superior interactive experiences that we and our clients are proud and that users love.</p>
<p>The process, as we have it now, helps us dial in client and user needs prior to wasted development efforts. We&#8217;ve learned that clients and users never truly know what they want/need in a vacuum. It&#8217;s easy to make lists and requirements but, unequivocally, they will change during development and user feedback. If those changes come after scope has been locked down or formal development has begun it leads to three problems:</p>
<ul>
<li><strong>Change management</strong> can easily put the agency and the client at odds, which is the worst thing for developing a superior user experience. As a producer, I want more than anything to worry about how to make the app the best it can possibly be for the client and user. I can&#8217;t do that as effectively if I need to constantly balance change-management against a fixed bid (scope creep). We need the flexibility during discovery to question everyone&#8217;s assumptions before we arrive at the best solution.</li>
<li><strong>The codebase infrastructure can be severely weakened</strong> if important features or user experience changes are introduced late or even early in the development and architecture process.  This makes the cost/time of maintenance and debugging go up by by multipliers since extensive refactors were never in the original roadmap and architecture.</li>
<li><strong>With traditional methods the client does not get to see the finished product</strong> until it&#8217;s just about done. They may have seen some wireframes or comps, but final functionally is often what the developer has done is what they get. And while this will usually meet all of the scope requirements, requirements and implementation are completely different matters and the client is often very dissatisfied with the final outcome.</li>
</ul>
<p>To avoid these issues we put a high priority thorough prototyping. Here is our process:</p>
<ul>
<li>Proposal: Business requirements / experience objective</li>
<li>Prototyping phase</li>
<li>Usability and prototype iteration</li>
<li>Project requirements document and adjusted statement of work</li>
<li>Development</li>
<li>QA</li>
<li>Deployment</li>
</ul>
<h4>Proposal: Business requirements / experience objective</h4>
<p>These phases should be fairly self-explanitory, but the one I want to emphasize and discuss the first three. We first spend a lot of time getting to know the client&#8217;s desires and business model for the experience. We also spend a lot of time trying to understand the demographic and users&#8217; needs. With the client we will then develop a proposal including our current understanding of objectives and business requirements. This will only serve as a guide as well as what we will use to come up with an estimate.</p>
<h4>Prototyping phase</h4>
<p>Once we have the estimate we charge the client a fourth of it to begin the prototyping phase. This phase starts with further definitions of business requirements, user persona development, and other preliminary documents that will guide the whole process. As soon as possible we&#8217;ll start throwing features down in wireframes and developing use-cases. At the same time we have creatives working toward branding objectives that will be merged with the wireframes once they both near finalization and approval.</p>
<h4>Usability and prototype iteration</h4>
<p>The end result of the prototyping phase (most of the time) is a functional, smoke-and-mirrors, prototype that give provides a real experience with as many as the main use-case flows as possible. We can use this with the client to make sure it meets their objectives and is exactly what they want. We also use it with users in formal usability studies. At this point it&#8217;s easy and cheap to question assumptions by adding or changing features and we welcome this. This is imperative to make sure the experience is the best possible before we&#8217;re locked into development.</p>
<h4>Project requirements document and adjusted statement of work</h4>
<p>When we have sign-off from stakeholders on the prototyping and accompanying documentation we feel good about beginning development. We also are then able to dial-in the cost of development accurately whether up or down based on inevitable changes.</p>
<h4>Development, QA, Deployment</h4>
<p>The point of the above verbiage is to show the imortance of solid prototyping. Once that is done effectively, the development, QA, and deployment process can follow any number of agile methodologies with similar or varying effectiveness and outcome. But delving into these is not in the scope of this discussion.
<div class="tweetmeme_button" style="">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fandybranch.com%2F2010%2F02%2Fprototyping-process-creating-rich-internet-experience%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fandybranch.com%2F2010%2F02%2Fprototyping-process-creating-rich-internet-experience%2F&amp;source=andybranch&amp;style=compact&amp;service=is.gd" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://andybranch.com/2010/02/prototyping-process-creating-rich-internet-experience/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Praise vs Raise</title>
		<link>http://andybranch.com/2010/01/praise-vs-raise/</link>
		<comments>http://andybranch.com/2010/01/praise-vs-raise/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 18:27:53 +0000</pubDate>
		<dc:creator>Andy Branch</dc:creator>
				<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Consultants]]></category>
		<category><![CDATA[Human Capital Management]]></category>
		<category><![CDATA[Human Resources]]></category>
		<category><![CDATA[Labor Relations]]></category>
		<category><![CDATA[Managing a Team]]></category>
		<category><![CDATA[Motivation]]></category>
		<category><![CDATA[Praise]]></category>
		<category><![CDATA[Praise Consultants]]></category>
		<category><![CDATA[Workforce Management...]]></category>

		<guid isPermaLink="false">http://andybranch.com/?p=62</guid>
		<description><![CDATA[BNET recently published a great article about how important praise is for employee job satisfaction and how it can do much to manage moral when increased compensation or bonuses are not an option. I think we can all identify times of great accomplishment during our careers when the reward was not in the form of [...]]]></description>
			<content:encoded><![CDATA[<p>BNET recently published <a href="http://www.bnet.com/2403-13059_23-385221.html">a great article</a> about how important praise is for employee job satisfaction and how it can do much to manage moral when increased compensation or bonuses are not an option. I think we can all identify times of great accomplishment during our careers when the reward was not in the form of payment, but in the form of special recognition.</p>
<p>While working as a frontend web developer managing FranklinCovey&#8217;s Symposium website I was amazed at the sheer amount of copy edits I was asked to make and which were often as simple as &#8220;can you change the n-dash in the third paragraph to an m-dash&#8221;. Even though the tasks were small and with many of them I was tempted to stick it on my todo and deal with it when I was done with &#8220;more important tasks&#8221;, I made it a point to make each change when I first read the email requesting the change. The client was so impressed with this they emailed the president of my company requesting I be sainted. I remember how much this meant to me at the time. Certainly verbal rewards, when they are heartfelt and warranted, can do much to create an effective and loyal employee.</p>
<p>But one thing managers must be careful of, that wasn&#8217;t explicitly mentioned in the BNET article, is to avoid condescension. This is <em>particularly </em>true when leading teams of programmers. If there&#8217;s anything I&#8217;ve learned about the programmer&#8217;s mind, it cares little for elegant decorations and hype designed to change the appeal of something. Managers who use carefully developed &#8220;motivational&#8221; techniques on software developers, designed to increase performance or augment loyalty, will often find it backfiring. Developers have the excellent ability to see right through pretty speeches and get to the heart of an idea. In other words, praises, motivational speeches, complements etc, if they are not heartfelt and presented with logical evidence of their merit, will likely produce the opposite of the desired result.</p>
<p>I want to particularly emphasize the logical evidence of merit. I think at the heart of condescending praise is the insufficient merits regarding the action. This might work with a child or for someone with low IQ and desperate for attention (&#8220;Look how much your handwriting has improved!&#8221;) but most people, and especially an analytic mind, will recognize the degree to which the compliment was been warranted.
<div class="tweetmeme_button" style="">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fandybranch.com%2F2010%2F01%2Fpraise-vs-raise%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fandybranch.com%2F2010%2F01%2Fpraise-vs-raise%2F&amp;source=andybranch&amp;style=compact&amp;service=is.gd" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://andybranch.com/2010/01/praise-vs-raise/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Email Search Optimization for Better Email Etiquette</title>
		<link>http://andybranch.com/2010/01/email-search-optimization-for-better-email-etiquette/</link>
		<comments>http://andybranch.com/2010/01/email-search-optimization-for-better-email-etiquette/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 22:36:06 +0000</pubDate>
		<dc:creator>Andy Branch</dc:creator>
				<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://andybranch.com/?p=49</guid>
		<description><![CDATA[Recent research  indicates that people typically waste 15-30 minutes daily searching for information. Much of this information obscurity is due to obscurely written and organized emails. In this post I&#8217;d like to explore an important contributor to this problem.
It’s happened to all of us at some point. We’ve received an email like this:

Now emails [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.pmforum.org//library/tips/2010/PDFs/jan/advisory-MCGRAW-SocialNetworking.pdf">Recent research</a>  indicates that people typically waste 15-30 minutes daily searching for information. Much of this information obscurity is due to obscurely written and organized emails. In this post I&#8217;d like to explore an important contributor to this problem.</p>
<p>It’s happened to all of us at some point. We’ve received an email like this:</p>
<p><img title="Bad Email Example 1" src="http://blog.mediarain.com/wp-content/uploads/2010/01/Screen-shot-2010-01-14-at-3.21.54-PM.png" alt="Bad Email Example 1" width="389" height="286" /></p>
<p>Now emails like this can be timely and helpful. Sometimes we just need important info fast and we don&#8217;t care the form it comes. But then the wheels of time turn&#8230;</p>
<p>Soon the email becomes an obscure blip amongst the thousands and is no longer viewable among the most recent ten. We find ourselves needing to refer back to it, but it&#8217;s too buried to browse for. So instead we do a search. Since the sender didn’t mention the nature of the information, just  something lame like: “Ok here it is! LOLZ!” we don&#8217;t find it by subject. Next we search by client. Since the original sender didn’t mention who they represent, we also find nothing. So we search by sender but again, since the email was forwarded from someone else on our team&#8230; nothing. Now, the point of this article may have become apparent to you, but before show my hand entirely, I want to bring in an important lesson from SEO.</p>
<h3>Keyword/Keyphrase Optimization in SEO</h3>
<p>Anyone who knows something about SEO will tell you that one of the most important things you can do to get content in front of eyes is to figure out who you want viewing it, figure out what phrases they might use in a search engine to discover it, and then make sure those phrases appear in your content. This most basic SEO principle will increase the likelihood that users you want seeing your page will see it. This technique is called keyword or keyphrase optimization and those who ignore it do so either because they are ignorant of its advantages or, due to virility or fame (like if Sarah Palin started an NRA watchdog blog) they just don’t need to.</p>
<h3>ESO</h3>
<p>I’d like to borrow this principle and submit that everyone, regardless of our line of work, regardless of how often and in what manner we email, should make use of it. And I’d like to title this principle, email search optimization or ESO*.</p>
<p><small>* An Andy-licious acronym which is sure to become widely adopted <img src='http://andybranch.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </small></p>
<p>ESO is all about manners. It’s about respect and having good email etiquette. It’s about making establishing habits of communication that are going to help our loved ones, coworkers, clients, and congressmen have better access to information. After all, a huge part of success in our day is all about having the right kind of access to the right kind of information at the right time.</p>
<p>ESO is pretty simple. It includes the following principles:</p>
<h3>Informative Subject Lines</h3>
<p>Instead of “Ok, here it is! LOLZ!” we might write “Information about x for client y” so that a search about the information’s topic or the client’s name will yield results.</p>
<h3>Descriptive Message Body</h3>
<p>Don’t use generalities in the message body. Instead of “that thing I told you I’d get to you” you might write “This is x document that addresses problem y”. Again, this helps give context to emails that will no doubt later be quickly glanced over to find specific information.</p>
<h3>Don’t Email Thread Hijack</h3>
<p>A personal pet peeve of mine and among the top ten all time most annoying email practices ever invented&#8230; Well&#8230; Here’s the example:</p>
<p><img title="Bad Email Example 2" src="http://blog.mediarain.com/wp-content/uploads/2010/01/Screen-shot-2010-01-08-at-2.09.32-PM.png" alt="Bad Email Example 2" width="371" height="419" /></p>
<p>You get the idea. When starting a completely new email thread regarding an independent topic, it’s best for the sanity of those who live and die by email to start a new topic. I have been absolutely amazed at the number of professionals in the business world who feel that their time is so valuable that it’s best if they find an email by the person they need to email and simply reply to it, giving little or no regard to the subject of that email. This can be even worse than the first example for finding information since information is then deceivingly buried in a misleading email thread topic and initial discussion chain. This is, effectively, the witness protection program for information. And when it happens to me I end it fast by “replying” to the email with a new subject line. Which actually should be another principle&#8230;</p>
<h3>End Email Thread Hijacking by Replying With an Appropriate Subject Lines</h3>
<p>See above.</p>
<h3>Conclusion</h3>
<p>Whether or not the world accepts ESO as a new web meme, lets all do our part to make the land of email a better and safer place for us&#8230; nay! For the children!
<div class="tweetmeme_button" style="">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fandybranch.com%2F2010%2F01%2Femail-search-optimization-for-better-email-etiquette%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fandybranch.com%2F2010%2F01%2Femail-search-optimization-for-better-email-etiquette%2F&amp;source=andybranch&amp;style=compact&amp;service=is.gd" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://andybranch.com/2010/01/email-search-optimization-for-better-email-etiquette/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PM &amp; The Sagacity of a Developer&#8217;s Time</title>
		<link>http://andybranch.com/2010/01/project-manager-and-the-sagacity-of-a-developers-time/</link>
		<comments>http://andybranch.com/2010/01/project-manager-and-the-sagacity-of-a-developers-time/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 21:55:59 +0000</pubDate>
		<dc:creator>Andy Branch</dc:creator>
				<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Resource Management]]></category>
		<category><![CDATA[Software Development Cycle]]></category>
		<category><![CDATA[crunch time]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[timelines]]></category>

		<guid isPermaLink="false">http://andybranch.com/?p=39</guid>
		<description><![CDATA[I was reminded today of one of the most important ways a project manager can help ensure a project&#8217;s success. In software development often the most important aspect of a project&#8217;s success is if it can be deploy on a specific deadline. A good project manager understands (in these sorts of projects especially) that one [...]]]></description>
			<content:encoded><![CDATA[<p>I was reminded today of one of the most important ways a project manager can help ensure a project&#8217;s success. In software development often the most important aspect of a project&#8217;s success is if it can be deploy on a specific deadline. A good project manager understands (in these sorts of projects especially) that one of the best ways to boost productivity is to make sure that developers have everything they need <em>before</em> they need it. One of the questions I like to ask during iteration meetings (in addition to the &#8220;whatchu doing?&#8221; and &#8220;when&#8217;s it gonna be done&#8221;) is &#8220;do you have everything you need to accomplish it?&#8221;.</p>
<p>Some managers think the answer to everything is to squeeze as much effort as possible out of developers. Asking them to pull crazy hours only gets you so far and quite often is only a temporary solution. As an alternative, all of the following can be used as a first step in attempting to meet crazy deadlines:</p>
<ul>
<li> Ensuring business requirements are crystal clear</li>
<li>Providing the right tools (software/hardware/code libraries)</li>
<li>Access to development libraries and code bases <em>before</em> they need to ask for them</li>
<li>Immediate answers to questions they may ask and getting these answers before they have to ask wherever possible</li>
<li>Making lunch runs</li>
<li>Keeping meetings short and relevant</li>
<li>Keeping developers a step or two removed from politics or drama that may come up with managing the client</li>
<li>In general making sure developers are enjoying what they are doing to the greatest extent possible</li>
</ul>
<p>One of the hardest aspects of this is knowing what everyone is working on and knowing exactly what is next for each person. Nothing kills efficiency like resources sitting on their hands waiting for answers, designs, or for a project manager to get organized.</p>
<p>When timelines get tough is when the project manager needs to be their smartest. It&#8217;s easy to cop out and demand overtime. That should be the last resort. The first response should be to get ducks in a row.
<div class="tweetmeme_button" style="">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fandybranch.com%2F2010%2F01%2Fproject-manager-and-the-sagacity-of-a-developers-time%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fandybranch.com%2F2010%2F01%2Fproject-manager-and-the-sagacity-of-a-developers-time%2F&amp;source=andybranch&amp;style=compact&amp;service=is.gd" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://andybranch.com/2010/01/project-manager-and-the-sagacity-of-a-developers-time/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Waterfall vs Agile For Interactive Projects</title>
		<link>http://andybranch.com/2009/12/waterfall-vs-agile-for-interactive-projects/</link>
		<comments>http://andybranch.com/2009/12/waterfall-vs-agile-for-interactive-projects/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 06:50:57 +0000</pubDate>
		<dc:creator>Andy Branch</dc:creator>
				<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://andybranch.com/?p=25</guid>
		<description><![CDATA[What&#8217;s the different between the waterfall and the agile approach to software or interactive development cycles?
Waterfall

Define project scope and timeline.
Allocate budget, resources, and milestones.
Do your best to keep the project on track in spite of numerous important additions to deliverables and business requirements that could never that could never have been predicted and accounted for [...]]]></description>
			<content:encoded><![CDATA[<p>What&#8217;s the different between the waterfall and the agile approach to software or interactive development cycles?</p>
<h4>Waterfall</h4>
<ol>
<li>Define project scope and timeline.</li>
<li>Allocate budget, resources, and milestones.</li>
<li>Do your best to keep the project on track in spite of numerous important additions to deliverables and business requirements that could never that could never have been predicted and accounted for in a vacuum (during due-diligence).</li>
<li>If you’re lucky, have amazing resources who don’t mind working gobs of overtime, and are able to keep change orders to a minimum, you may deliver the product on time, but often to the dissatisfaction of the sponsor and/or user who had to wait until the end of the project to discover that their vision for the project wasn’t quite what yours was.</li>
<li>Oh yeah, and you couldn’t QA because that was the first thing to go when the project started to get behind. You end up calling it “beta” and fix things in production.</li>
</ol>
<h4>Agile</h4>
<ol>
<li>Define business requirements.</li>
<li>Divide business requirements into categories of “vital”, “important”, and “would-be-nice-to-haves”.</li>
<li>Estimate resource and budget requirement for a first iteration that includes vital features.</li>
<li>Allocate a portion of those resources and budget to the creation of a functional prototype (or wireframe walkthrough depending on the project’s complexity).</li>
<li>Iterate upon the prototype and project requirements document (including use-cases) until project sponsor and users (usability studies) sign-off and the resulting feature-set falls within acceptable timeline and budgetary parameters.</li>
<li>Develop test plans that follow use-cases defined in discovery phase.</li>
<li>Development cycle begins with iterative sprints toward important project milestones.</li>
<li>Each sprint includes QA and unit testing.</li>
<li>Usability studies are conducted at appropriately defined milestones.</li>
<li>Version 1 is put into production and step 3 &#8211; 9 are repeated for the secondary or “important” features.</li>
</ol>
<div class="tweetmeme_button" style="">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fandybranch.com%2F2009%2F12%2Fwaterfall-vs-agile-for-interactive-projects%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fandybranch.com%2F2009%2F12%2Fwaterfall-vs-agile-for-interactive-projects%2F&amp;source=andybranch&amp;style=compact&amp;service=is.gd" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://andybranch.com/2009/12/waterfall-vs-agile-for-interactive-projects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Selling the Digital/Interactive Experiences</title>
		<link>http://andybranch.com/2009/11/what-you-gotta-know-to-managesell-digital-interactive-experiences/</link>
		<comments>http://andybranch.com/2009/11/what-you-gotta-know-to-managesell-digital-interactive-experiences/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 06:32:06 +0000</pubDate>
		<dc:creator>Andy Branch</dc:creator>
				<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://andybranch.com/?p=12</guid>
		<description><![CDATA[One of our newer team members hired to help our local business development efforts came to a very important conclusion the other day. It occurred to him that he had been attempting to sell our services to a potentially less-responsive crowd.
To understand how he arrived at this conclusion it is important to understand the agency [...]]]></description>
			<content:encoded><![CDATA[<p>One of our newer team members hired to help our local business development efforts came to a very important conclusion the other day. It occurred to him that he had been attempting to sell our services to a potentially less-responsive crowd.</p>
<p>To understand how he arrived at this conclusion it is important to understand the agency he is representing. Rain is a digital agency specializing in rich internet applications. If we are able to sell our services it&#8217;s because we are able to somehow able to convince a potential client that we can increase their revenue in one of three ways:</p>
<ol>
<li>Create a rich, interactive, marketing experience that generates leads/sales.</li>
<li>Create a rich internet application which allows them to sell a particular product, service, or some sort of digital content.</li>
<li>Create a rich application which has the potential of improving internal efficiency, thereby decreasing operation costs.</li>
</ol>
<p>Knowing well that his purpose was to help identify ways in which we can step in and find solutions uaing any of the above approaches, he realized that most of his leads and sales efforts had been directed at non-technical marketing folks who rely primarily on traditional methods of marketing and who possessed a weak knowledge of the potential of interactive approaches. This lead him to two conclusions: First, if he was going to be successful at finding ways to sell our services to these folks he was going to have to do a better job at being a tech evangalist (he needed to do some education before he could ever land a deal). Second, he needed to expand his efforts to include CTOs or CIOs or other decision makers acquainted with technology and who are more apt to accept the possibilities of our unique experience and solutions.</p>
<p>But there was also another thing that presented a challenge. While this new employee is excellent at networking and sales, his ability to both teach non-technical folks or to communicate with tech-savvy decision-makers was limitted. He realized that he was going to have to sharpen his knowledge of the potential of the web technologies we specialize in.</p>
<p>In an effort to point him in the right direction, I sat down and gave him a quick list of some things he would need to be familiar with (at least on a high level) if he was going to be able communicate in a language that would make sense to tech-savvy decision makers or to educate and sell to the rest. I thought it was a list worth sharing to others who may find themselves in a similar position. This list could also serve as a point of departure for producers, project managers, presidents etc who want to expand their leadership potential into the digital/interactive arena.</p>
<p>There&#8217;s a lot to learn and this is by no means an exhaustive checklist. But having a basic understanding of the following will get you a long way:</p>
<h4>Programming Principles</h4>
<ul>
<li>Procedural programming</li>
<li>Object oriented programming</li>
<li>Scripting</li>
<li>Database management and normalization</li>
<li>Languages vs frameworks</li>
<li>Scalability</li>
<li>Memory management</li>
<li>Cloud computing</li>
<li>Web hosting/management</li>
<li>Desktop, web, and mobile development techniques and technologies</li>
</ul>
<h4>Development Cycle (in no particular order)</h4>
<ul>
<li>Agile vs waterfall</li>
<li>Business requirements</li>
<li>Iterations/sprints</li>
<li>Milestones</li>
<li>Code complete</li>
<li>Quality Assurance</li>
<li>Usability testing</li>
<li>Unit testing</li>
<li>Wireframe</li>
<li>Prototype</li>
<li>UX</li>
<li>Information architecture</li>
</ul>
<h4>Potential Team Roles (likely overlaps)</h4>
<ul>
<li>Backend/server-side development</li>
<li>Frontend development</li>
<li>Database management</li>
<li>Design team</li>
<li>UX</li>
<li>Information architect</li>
<li>Content writer</li>
<li>QA</li>
<li>Sponsors</li>
<li>Stakeholders</li>
<li>PM/Producer</li>
</ul>
<h4>Important Languages and How They Are Best Used</h4>
<ul>
<li>HTML/CSS</li>
<li>JavaScript</li>
<li>Flash/Flex/Air</li>
<li>Silverlight</li>
<li>Java</li>
<li>Objective C</li>
<li>C#</li>
<li>ASP.NET</li>
<li>PHP</li>
<li>Ruby</li>
<li>Python</li>
</ul>
<h4>Major Server Environments and When They Are Best Used</h4>
<ul>
<li>IIS</li>
<li>Apache</li>
<li>Tomcat</li>
</ul>
<h4>Major Database Technologies and When They Are Best Used</h4>
<ul>
<li>MySQL</li>
<li>Sequel</li>
<li>Oracle</li>
</ul>
<div class="tweetmeme_button" style="">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fandybranch.com%2F2009%2F11%2Fwhat-you-gotta-know-to-managesell-digital-interactive-experiences%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fandybranch.com%2F2009%2F11%2Fwhat-you-gotta-know-to-managesell-digital-interactive-experiences%2F&amp;source=andybranch&amp;style=compact&amp;service=is.gd" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://andybranch.com/2009/11/what-you-gotta-know-to-managesell-digital-interactive-experiences/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
