<?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>Software Rockstar &#187; Process &amp; Management</title>
	<atom:link href="http://www.softwarerockstar.com/category/process/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.softwarerockstar.com</link>
	<description>Coaching and mentoring on a journey from a Developer to an IT Leader</description>
	<lastBuildDate>Thu, 12 Nov 2009 18:12:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Why Should Business Care About Software Quality?</title>
		<link>http://www.softwarerockstar.com/2009/06/why-should-a-business-user-care-about-software-quality/</link>
		<comments>http://www.softwarerockstar.com/2009/06/why-should-a-business-user-care-about-software-quality/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 18:26:18 +0000</pubDate>
		<dc:creator>SoftwareRockstar</dc:creator>
				<category><![CDATA[Process & Management]]></category>
		<category><![CDATA[Process Improvement]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[QA Agile]]></category>
		<category><![CDATA[Software Quality]]></category>

		<guid isPermaLink="false">http://www.softwarerockstar.com/?p=459</guid>
		<description><![CDATA[Building software is like building a house in many ways.  When building a house, we have to have a good foundation, strong pillars, proper plumbing and wiring, and so on and so forth.  When building software, we need to have a good design, clear and concise code, proper wiring of components, etc. There is one [...]]]></description>
			<content:encoded><![CDATA[<div class="imageleft"><img class="alignnone size-medium wp-image-463" src="http://softwarerockstar.com/wp-content/uploads/2009/06/best-quality-300x299.jpg" alt="Best Quality" width="250" /></div>
<p>Building software is like building a house in many ways.  When building a house, we have to have a good foundation, strong pillars, proper plumbing and wiring, and so on and so forth.  When building software, we need to have a good design, clear and concise code, proper wiring of components, etc.</p>
<p>There is one subtle difference between building software and building a house though.  Usually when we build a house, we rarely make large renovations such as adding a story, moving around walls and windows, putting in a new electrical system, or modifying the foundation.  Software, on the other hand, needs to be modified and updated quite often due to changes in business caused by<span id="more-459"></span> new opportunities, changes triggered by the economy, mergers and acquisitions, and so on.  Life expectancy of a software product is generally between 3 to 5 years before major updates are required.  A great number of software products require such updates much earlier in their lifecycle.</p>
<p>In the world of software something that works is not necessarily something that can be easily modified, extended, or maintained.  General observation is that the chunk of cost of software is not what&#8217;s spent on building it in the first place, but what it takes to maintain and extend it over the years.</p>
<p>There are several attributes of quality software.  I will list the most important ones from business standpoint below:</p>
<h3>Reliability</h3>
<p>Software functions each and every time in a predictable manner.  You can&#8217;t afford to have your &#8220;Save&#8221; button save your documents sometimes but not others.</p>
<h3>Maintainability</h3>
<p>It&#8217;s easy to maintain software.  Fixing a bug, for example, does not spawn another bug.  Or moving your database to another server does not require code changes.</p>
<h3>Scalability</h3>
<p>Software can easily keep up with business growth and does not require code modifications as the user base or usage grows.  This also goes hands in hands with efficiency, which is another attribute of quality software.</p>
<h3>Extendibility</h3>
<p>It is relatively painless to add new features.  Also the addition of new features does not break old features.</p>
<h3>Reusability</h3>
<p>The entire software itself or certain parts of it can be reused to create new software to address other business uses.</p>
<p>There are many other attributes of quality software, for example, usability, security, fault tolerance, etc., hence a lot of thought goes into building a quality product.</p>
<h3>The Challenge</h3>
<p>When building software, quality is something that is baked in from the beginning, and can&#8217;t be sprinkled on top after the fact.  Also creating quality software requires additional time, effort, and possibly investment into proper tools.  This creates an interesting problem for business users and the technical leadership alike: how to balance quality of software with investment that may or may not bring any positive ROI.</p>
<p>There are software development methodologies such as Agile that promise quality software with minimum time-to-market.  The problem with such methodologies is that if not understood correctly and followed properly, they do not yield promised results.  I have come across many companies claiming to use to use Agile, for example, that are only disguising their chaotic software development under Agile&#8217;s name.</p>
<p>I evaluate each situation and devise a plan accordingly.  Quality of software is definitely important to me, but having an entrepreneurial mindset, I understand and appreciate business challenges as well.  For experienced technical teams creating quality software even with time and budget constraints is relatively easy.  For teams that are not as experienced, this remains to be a challenge, that often times result in major disasters.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarerockstar.com/2009/06/why-should-a-business-user-care-about-software-quality/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reasons For IT Project Failures</title>
		<link>http://www.softwarerockstar.com/2009/06/reasons-for-it-project-failures/</link>
		<comments>http://www.softwarerockstar.com/2009/06/reasons-for-it-project-failures/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 19:14:09 +0000</pubDate>
		<dc:creator>SoftwareRockstar</dc:creator>
				<category><![CDATA[Leadership]]></category>
		<category><![CDATA[Process & Management]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[IT Projects]]></category>
		<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://www.softwarerockstar.com/?p=448</guid>
		<description><![CDATA[According to the 2009 CHAOS report published by the market research firm, the Standish Group, IT Project failure rate increased in the last 2 years of recession.  No surprise. According to the report the rate of successful projects that were delivered on-time, within budget, and with the required features, dropped from 35% in 2006 to 32% in the last two [...]]]></description>
			<content:encoded><![CDATA[<div class="imageleft"><img src="http://softwarerockstar.com/wp-content/uploads/2009/06/failure-287x300.jpg" alt="Failure" width="250" class="alignnone size-medium wp-image-467" /></div>
<p>According to the <a href="http://www1.standishgroup.com/newsroom/chaos_2009.php" target="_blank">2009 CHAOS report</a> published by the market research firm, the <a href="http://www.standishgroup.com/" target="_blank">Standish Group</a>, IT Project failure rate increased in the last 2 years of recession.  No surprise.</p>
<p>According to the report the rate of successful projects that were delivered on-time, within budget, and with the required features, dropped from 35% in 2006 to 32% in the last two years.  Also the rate of failed projects increased from 19% in 2006 to 24% recently, which included projects that were deemed complete failure and either never delivered, or delivered but never used.  The rest of the projects were considered challenged, those that were delivered late, with incomplete features, or went significantly over-budget.<img title="More..." src="http://softwarerockstar.com/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" border="0" alt="" width="1" height="1" /><span id="more-448"></span></p>
<p>As IT leaders do we see something wrong with this picture?  Keep in mind that out of projects that are usually successfully delivered, some are trivial to begin with, while some others start out with a bigger-than-required budget due to over-estimation.  This consideration drives the rate of success as reported by Standish even further down.</p>
<p>There have been numerous people who have written about how the lack of user involvement, unrealistic expectations, poor requirements, poor design, scope creep, etc. play a role in the failure of IT projects.  I do not disagree, but I think the problem is much more deep-rooted than what is generally pointed out.</p>
<p>I view these high failure rates as a direct result of:</p>
<ul type="disc">
<li>Incapable      IT Leadership; and</li>
<li>Incapable      Technical Leadership</li>
</ul>
<p>Keep in mind that IT leadership is not necessarily the same as the Technical Leadership.  I consider IT Leadership as high-level IT executives that are aligned with the business, for example, CIO&#8217;s, CTO&#8217;s. etc.  Technical Leadership, on the other hand, consists of Technical Architects, Solution Architects, and the like.</p>
<p>Lack of user involvement or unrealistic expectations, for example, point straight at the failure of the IT leadership.  IT leaders must make sure that they have proper processes as well as resources in place to involve and educate the users.  They are also responsible for convincing the business one way or the other, and analyzing and mitigating any risks before they become cause for failures.</p>
<p>Similarly it&#8217;s the responsibility of the technical leadership to ensure that proper requirements are in place before they embark on their journey of design and implementation, and that their designs actually do address all the business and other requirements.</p>
<p>Whatever the reasons, failure should not be an option.  If a project fails, I believe it&#8217;s because the leadership failed to do their job.</p>
<p>With budget cuts that come with the recession that&#8217;s still holding strong, as well as the ever increasing complexity of IT projects, I see the rate of success driving even further down the next time the Standish Group publishes it&#8217;s CHAOS report.  I really hope that I am wrong, but without a major paradigm shift in the IT and the technical leadership, I really do not see how that would be possible.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarerockstar.com/2009/06/reasons-for-it-project-failures/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Total Quality Management (TQM)</title>
		<link>http://www.softwarerockstar.com/2007/09/total-quality-management-tqm/</link>
		<comments>http://www.softwarerockstar.com/2007/09/total-quality-management-tqm/#comments</comments>
		<pubDate>Sun, 02 Sep 2007 17:04:00 +0000</pubDate>
		<dc:creator>SoftwareRockstar</dc:creator>
				<category><![CDATA[Leadership]]></category>
		<category><![CDATA[Process & Management]]></category>
		<category><![CDATA[Other]]></category>
		<category><![CDATA[Process Improvement]]></category>
		<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://mharoon.wordpress.com/2007/09/02/total-quality-management-tqm/</guid>
		<description><![CDATA[Traditionally, quality assurance ensures the quality of a product once it&#8217;s built in order to shield customers from receiving defective product. TQM suggests that rather than putting quality assurance at the end of the product cycle, feedback loops be placed at every step of the product building process so that the actual causes of defects [...]]]></description>
			<content:encoded><![CDATA[<p>Traditionally, quality assurance ensures the quality of a product once it&#8217;s built in order to shield customers from receiving defective product.  <a href="http://en.wikipedia.org/wiki/TQM">TQM</a> suggests that rather than putting quality assurance at the end of the product cycle, feedback loops be placed at every step of the product building process so that the actual causes of defects can be identified and fixed.  Fixing causes of defects can continually increase customer satisfaction at continually lowers costs.</p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarerockstar.com/2007/09/total-quality-management-tqm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microsoft Build Engine (MSBuild)</title>
		<link>http://www.softwarerockstar.com/2006/10/microsoft-build-engine-msbuild/</link>
		<comments>http://www.softwarerockstar.com/2006/10/microsoft-build-engine-msbuild/#comments</comments>
		<pubDate>Sat, 21 Oct 2006 14:39:00 +0000</pubDate>
		<dc:creator>SoftwareRockstar</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Other]]></category>
		<category><![CDATA[Process & Management]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Cool Tools]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://mharoon.wordpress.com/2006/10/21/microsoft-build-engine-msbuild/</guid>
		<description><![CDATA[Up until Visual Studio 2005 and .NET Framework 2.0, the actual build process of solution or project files was pretty much a black-box phenomenon for developers. With .NET Framework 2.0 and Visual Studio 2005, Microsoft unveiled its new build platform called MSBuild. MSBuild essentially provides a transparent build process through Visual Studio IDE, as well [...]]]></description>
			<content:encoded><![CDATA[<p>Up until <a href="http://msdn.microsoft.com/vstudio/">Visual Studio 2005</a> and <a href="http://msdn.microsoft.com/netframework/">.NET Framework 2.0</a>, the actual build process of solution or project files was pretty much a black-box phenomenon for developers. With <a href="http://msdn.microsoft.com/netframework/">.NET Framework 2.0</a> and <a href="http://msdn.microsoft.com/vstudio/">Visual Studio 2005</a>, Microsoft unveiled its new build platform called <a href="http://msdn2.microsoft.com/en-us/library/wea2sca5.aspx">MSBuild</a>. <a href="http://msdn2.microsoft.com/en-us/library/wea2sca5.aspx">MSBuild</a> essentially provides a transparent build process through <a href="http://msdn.microsoft.com/vstudio/">Visual Studio</a> IDE, as well as allows developers to build projects and solutions from the command line. This allows us to fully customize our builds and create builds on machines where Visual Studio is not even installed.</p>
<p>On a recent team project I was using continuous integration or <a href="http://www.martinfowler.com/articles/continuousIntegration.html">CI</a> (an Agile practice) via <a href="http://ccnet.thoughtworks.com/">CruiseControl.NET</a>. It was a breeze to automatically build projects and solutions using <a href="http://msdn2.microsoft.com/en-us/library/wea2sca5.aspx">MSBuild</a> on our build server (a run-of-the-mill Dell workstation running Windows XP without <a href="http://msdn.microsoft.com/vstudio/">Visual Studio 2005</a> installed) whenever someone checked-in any files to source control. This allowed us to be confident at all times that various pieces our distributed project integrate well. Moreover, since <a href="http://msdn2.microsoft.com/en-us/library/wea2sca5.aspx">MSBuild</a> can build projects and solutions from command line, I had some batch files setup that would build release versions of our projects, create setup files (using <a href="http://nsis.sourceforge.net/">NSIS</a>), archive older versions of setup files, and move new setup files to a network share where MIS / Operations folks could install the new version on the production server from.</p>
<p>In <a href="http://msdn.microsoft.com/vstudio/">Visual Studio 2005</a>, project and solution files are nothing more than <a href="http://msdn2.microsoft.com/en-us/library/wea2sca5.aspx">MSBuild</a> XML build scripts. This allows us full control over the build process. For example, in a web project, <a href="http://msdn.microsoft.com/vstudio/">Visual Studio 2005</a> does not provide any user interface to modify pre and post build actions. However, since solution file is simply an <a href="http://msdn2.microsoft.com/en-us/library/wea2sca5.aspx">MSBuild</a> script, we can modify such actions manually by opening up the solution file in any text/XML editor.</p>
<p><a href="http://msdn2.microsoft.com/en-us/library/wea2sca5.aspx">MSBuild</a> can perform several key tasks out of the box. Each task is essentially a unit of work (UOW) that contributes to the entire build process, e.g. copy files and folders, compile files, etc. If we ever require tasks that do not ship with <a href="http://msdn2.microsoft.com/en-us/library/wea2sca5.aspx">MSBuild</a>, we can always create custom tasks in any .NET language by simply implementing the <a href="http://msdn2.microsoft.com/en-us/library/microsoft.build.framework.itask.aspx">ITask</a> interface or deriving from the <a href="http://msdn2.microsoft.com/en-us/library/microsoft.build.utilities.task.aspx">Task</a> class.</p>
<p>In conclusion, <a href="http://msdn2.microsoft.com/en-us/library/wea2sca5.aspx">MSBuild</a> allows developers full control of the build process so that builds can be fully customized. This may not be so crucial in smaller projects, but for enterprise solutions that typically comprise of several projects and many dependencies, <a href="http://msdn2.microsoft.com/en-us/library/wea2sca5.aspx">MSBuild</a> is definitely a God-send!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarerockstar.com/2006/10/microsoft-build-engine-msbuild/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MSF Agile v4.0 Team Model</title>
		<link>http://www.softwarerockstar.com/2006/08/msf-agile-v4-0-team-model/</link>
		<comments>http://www.softwarerockstar.com/2006/08/msf-agile-v4-0-team-model/#comments</comments>
		<pubDate>Sun, 27 Aug 2006 23:01:00 +0000</pubDate>
		<dc:creator>SoftwareRockstar</dc:creator>
				<category><![CDATA[Leadership]]></category>
		<category><![CDATA[Process & Management]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Process Improvement]]></category>
		<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://mharoon.wordpress.com/2006/08/27/msf-agile-v4-0-team-model/</guid>
		<description><![CDATA[Out of all the Agile methodologies I have studied so far (XP, Scrum, AUP, and MSF), I really like the fact that MSF provides a Team Model that goes into details about how project teams should be structured. While it may be obvious to some, I know from experience that properly structuring teams is not [...]]]></description>
			<content:encoded><![CDATA[<p>Out of all the Agile methodologies I have studied so far (<a href="http://en.wikipedia.org/wiki/Extreme_Programming">XP</a>, <a href="http://en.wikipedia.org/wiki/Scrum_%28development%29">Scrum</a>, <a href="http://en.wikipedia.org/wiki/Agile_Unified_Process">AUP</a>, and <a href="http://en.wikipedia.org/wiki/Microsoft_Solutions_Framework">MSF</a>), I really like the fact that MSF provides a Team Model that goes into details about how <a href="http://en.wikipedia.org/wiki/Project_team">project teams</a> should be structured. While it may be obvious to some, I know from experience that properly structuring teams is not something that that comes naturally to many organizations. In fact some organizations have less success with agile only because of their ineffective team structures.<br />
MSF Team Model is based on the following basic principles:</p>
<ul>
<li>A team of peers with clear accountability, shared responsibility and open communications. Each role is accountable for a specific share of the quality of the overall solution.</li>
<li>Advocacy for all key constituencies that must be represented on a successful software project. Every perspective is represented to provide the checks and balances that prevent errors of omission and lopsided decisions.</li>
<li>Stretch to fit to the scale necessary for the specific project. Constituencies may be combined in small teams or further refined as teams scale for larger projects.</li>
</ul>
<p>There are 7 advocacies that are represented in the MSF Agile Team Model. In my opinion it&#8217;s imperitive that these advocacies have proper representation in order to ensure success of a given project. Since MSF offers a stretch-to-fit approach, it&#8217;s possible to map these 7 advocacies into fewer role clusters as determined by the phyical size of the team.</p>
<p>Following are the advocacies and their respective focus as presented by the MSF Team Model:</p>
<p align="center">
<img src="http://lh4.google.com/mharoon/Rtct8efH3nI/AAAAAAAACAs/HsGnTgxrNUI/s800/msf-team-model.gif" />
</p>
<p>
<h3>Product Management</h3>
<h4>Goals</h4>
<ul>
<li>Understand, communicate, and ensure success from the standpoint of the economic customer requesting the solution. </li>
</ul>
<h4>Functional Areas</h4>
<ul>
<li>Marketing </li>
<li>Business Value </li>
<li>Customer Advocacy </li>
<li>Product Planning</li>
</ul>
<h4>Responsibilities</h4>
<ul>
<li>Acts as customer advocate </li>
<li>Drives shared project vision/scope </li>
<li>Manages customer requirements definition </li>
<li>Develops and maintains business case </li>
<li>Manages customer expectations </li>
<li>Drives features vs. schedule vs. resources tradeoff decisions </li>
<li>Manages marketing, evangelizing and public relations </li>
<li>Develops, maintains, and executes the communications plan
</li>
</ul>
<h3>Program Management</h3>
<h4>Goals</h4>
<ul>
<li>Right solution is delivered at the right time and all expectations are understood, managed and met. </li>
<li>Deployed solution will meet qualities of service &amp; business objectives, and be viable in the long term. </li>
</ul>
<h4>Functional Areas</h4>
<ul>
<li>Project Management </li>
<li>Solution Architecture </li>
<li>Process Assurance </li>
<li>Administrative Services </li>
</ul>
<h4>Responsibilities</h4>
<ul>
<li>Drives development process to ship product on time </li>
<li>Manages product design and specifications </li>
<li>Facilitates communication and negotiation within the team </li>
<li>Implements and ensures standards </li>
<li>Maintains the project schedule and reports project status </li>
<li>Drives implementation of critical trade-off decisions </li>
<li>Develops, maintains, and executes the project master plan and schedule </li>
<li>Drives and manages risk assessment and risk management </li>
</ul>
<h3>Development</h3>
<h4>Goals</h4>
<ul>
<li>Implementation, estimates, high quality maintainable code and unit tests. </li>
</ul>
<h4>Functional Areas</h4>
<ul>
<li>Technology Consulting </li>
<li>Implementation of Architecture and Design </li>
<li>Application Development </li>
</ul>
<h4>Responsibilities</h4>
<ul>
<li>Specifies the features of physical design </li>
<li>Estimates time and effort to complete each feature </li>
<li>Builds and/or supervises building of features </li>
<li>Prepares product for deployment </li>
<li>Provides technology subject matter expertise to the team </li>
</ul>
<h3>Quality Assurance</h3>
<h4>Goals</h4>
<ul>
<li>Ensure solution quality. </li>
</ul>
<h4>Functional Areas</h4>
<ul>
<li>Test Planning </li>
<li>Test Engineering </li>
<li>Test Reporting
</li>
</ul>
<p><b></b></p>
<h4>Responsibilities<br />
</h4>
<ul>
<li>Ensures all issues are known </li>
<li>Develops testing strategy and plans </li>
<li>Conducts testing </li>
<li>Reports test results </li>
</ul>
<h3>Release/Operations<br />
</h3>
<h4>Goals</h4>
<ul>
<li>Timely readiness and compatibility of infrastructure.</li>
</ul>
<h4>Functional Areas</h4>
<ul>
<li>Infrastructure </li>
<li>Support </li>
<li>Operations </li>
<li>Commercial Release Management </li>
</ul>
<h4>Responsibilities</h4>
<ul>
<li>Act as advocate for operations, support and delivery channels </li>
<li>Manage procurement </li>
<li>Manage product deployment </li>
<li>Drive manageability and supportability trade-off decisions </li>
<li>Manage operations, support, and delivery channel relationships </li>
<li>Provide logistical support to the project team </li>
</ul>
<h3>User Experience</h3>
<h4>Goals</h4>
<ul>
<li>Provide user documentation and training </li>
<li>Understand and communicate users’ context, and ensure usability from user perspective </li>
</ul>
<h4>Functional Areas</h4>
<ul>
<li>Technical Communications </li>
<li>Training </li>
<li>Usability </li>
<li>Graphic Design </li>
<li>Internationalization </li>
<li>Accessibility </li>
</ul>
<h4>Responsibilities</h4>
<ul>
<li>Acts as user advocate on team </li>
<li>Manages user requirements definition </li>
<li>Designs and develops performance support systems </li>
<li>Drives usability and user performance enhancement trade-off decisions </li>
<li>Provides specifications for help features and files </li>
<li>Develops and provides user training </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarerockstar.com/2006/08/msf-agile-v4-0-team-model/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Agile Resource Allocation</title>
		<link>http://www.softwarerockstar.com/2006/08/agile-resource-allocation/</link>
		<comments>http://www.softwarerockstar.com/2006/08/agile-resource-allocation/#comments</comments>
		<pubDate>Wed, 23 Aug 2006 00:03:00 +0000</pubDate>
		<dc:creator>SoftwareRockstar</dc:creator>
				<category><![CDATA[Leadership]]></category>
		<category><![CDATA[Process & Management]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Process Improvement]]></category>
		<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://mharoon.wordpress.com/2006/08/22/agile-resource-allocation/</guid>
		<description><![CDATA[For Agile methodologies to really work with the promised increase in efficiency, it&#8217;s important that all participating team members be generalists rather than specialists. For some companies migrating to Agile from other traditional methodologies, this may not be the case. I have worked with companies that have well-defined and assigned roles for Business Analysts, Database [...]]]></description>
			<content:encoded><![CDATA[<p>For <a href="http://en.wikipedia.org/wiki/Agile_software_development">Agile methodologies</a> to really work with the promised increase in efficiency, it&#8217;s important that all participating team members be <em>generalists</em> rather than <em>specialists</em>.</p>
<p>For some companies migrating to Agile from other traditional methodologies, this may not be the case. I have worked with companies that have well-defined and assigned roles for Business Analysts, Database Administrators, Front-end Developers, Back-end Developers, etc. When such companies move towards Agile, they face a problem of optimal resource allocation and utilization.</p>
<p>As an example, a developer may not be productive while a DBA is creating new tables in the database and writing stored procedures. Once the DBA is done with his tasks, he may not have enough to do until the start of the next iteration. Since Agile is iterative, and iterations can&#8217;t overlap, this may result in poor resource utilization and may adversely effect the overall efficiency.</p>
<p>Before starting to implement an Agile methodology within your organization, it is important to make sure that your IT human-resource infrastructure actually supports it. While Agile <em>may</em> work in companies with specialized IT roles, it is definitely not designed and optimized for those scenarios.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarerockstar.com/2006/08/agile-resource-allocation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Is Agile For Everyone?</title>
		<link>http://www.softwarerockstar.com/2006/08/is-agile-for-everyone/</link>
		<comments>http://www.softwarerockstar.com/2006/08/is-agile-for-everyone/#comments</comments>
		<pubDate>Fri, 18 Aug 2006 20:38:00 +0000</pubDate>
		<dc:creator>SoftwareRockstar</dc:creator>
				<category><![CDATA[Leadership]]></category>
		<category><![CDATA[Other]]></category>
		<category><![CDATA[Process & Management]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Process Improvement]]></category>
		<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://mharoon.wordpress.com/2006/08/18/is-agile-for-everyone/</guid>
		<description><![CDATA[Currently I am working at a company with a fast-paced environment, very aggressive deadlines, and historically a high rate of failure in the form of poor product quality and missed deadlines. Back when I started at the company, I introduced them to Agile methodologies and how they could benefit the organization in higher employee and [...]]]></description>
			<content:encoded><![CDATA[<p>Currently I am working at a company with a fast-paced environment, very aggressive deadlines, and historically a high rate of failure in the form of poor product quality and missed deadlines. Back when I started at the company, I introduced them to <a href="http://en.wikipedia.org/wiki/Agile_software_development">Agile methodologies </a>and how they could benefit the organization in higher employee and stake-holder satisfaction, fewer or no missed deadlines, and better product quality. After some initial mixed reactions I was able to get them on board with the idea &#8212; or so I thought! </p>
<p>While I have been successful in implementing many of the Agile practices such as earlier stakeholder involvement, EDUF, <a href="http://en.wikipedia.org/wiki/Iterative_development">iterative development</a>, code <span class="blsp-spelling-error">refactoring</span>, <a href="http://en.wikipedia.org/wiki/Unit_testing">unit testing</a>, <a href="http://en.wikipedia.org/wiki/Continuous_integration">continuous integration</a>, etc. in a relatively short amount of time, I still have to deal with the fact on a daily basis that they have to have very good estimates too far in the future. They must have this information from a budgetary standpoint and in order to be able to make executive decisions in advance about whether or not to proceed with a given project. </p>
<p>I have tried my best to explain how the Agile estimation works, and how trying to estimate too far in the future could be a wasted effort, but after all the time and energy spent, I am beginning to think that perhaps the Agile philosophy is not for all mindsets after all!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarerockstar.com/2006/08/is-agile-for-everyone/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->