<?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; Leadership</title>
	<atom:link href="http://www.softwarerockstar.com/category/management/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>Tue, 13 Sep 2011 17:18:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<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>How And When To Use Different Management Styles To Get The Most Out of Your Team</title>
		<link>http://www.softwarerockstar.com/2009/06/how-and-when-to-use-different-management-styles-to-get-the-most-out-of-your-team/</link>
		<comments>http://www.softwarerockstar.com/2009/06/how-and-when-to-use-different-management-styles-to-get-the-most-out-of-your-team/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 19:35:25 +0000</pubDate>
		<dc:creator>SoftwareRockstar</dc:creator>
				<category><![CDATA[Leadership]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[Inspiration]]></category>
		<category><![CDATA[Management Styles]]></category>
		<category><![CDATA[People Management]]></category>
		<category><![CDATA[Personal Development]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Self Help]]></category>
		<category><![CDATA[Self Improvement]]></category>
		<category><![CDATA[Team Management]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.softwarerockstar.com/?p=406</guid>
		<description><![CDATA[Management style is the general way a manager uses to manage his teams.  Some managers use a particular management style because that&#8217;s the only style that they are aware of.  More mature managers know different styles and can quickly adapt to any style to their advantage depending upon the situation, the capabilities of their teams, [...]]]></description>
			<content:encoded><![CDATA[<div class="imageleft"><img class="alignnone size-full wp-image-412" src="http://softwarerockstar.com/wp-content/uploads/2009/06/menwithoutfaces2.jpg" alt="Men Without Faces" width="300" height="207" /></div>
<p>Management style is the general way a manager uses to manage his teams.  Some managers use a particular management style because that&#8217;s the only style that they are aware of.  More mature managers know different styles and can quickly adapt to any style to their advantage depending upon the situation, the capabilities of their teams, and the nature of tasks that need to be performed.</p>
<p>In this article I will go over the 4 general management styles, and explain how IT managers can best use each to their advantage.<span id="more-406"></span></p>
<h3>1. Directive Democrat</h3>
<p>The manager involves employees in the decision making process, but closely monitors them in the implementation of each decision. </p>
<p>This management styles works best when your employees are capable of performing the job, but usually require a high amount of support from you.  It also works well as you are starting to get to know your employees and giving them a chance to prove themselves. </p>
<p>This style of management usually fits most situations, especially in IT, as long as your monitoring practice does not interfere with the work your employees are performing.  There are ways to closely monitor without alienating your employees, some of which I discuss in another article, <a href="http://www.softwarerockstar.com/2009/06/5-steps-to-stellar-team-management/">5 Steps to Stellar Team Management</a>. </p>
<h3>2. Directive Autocrat</h3>
<p>The manager makes decisions unilaterally and closely monitors employees in the implementation of each decision. </p>
<p>This management style works best when employees are neither willing nor capable of performing the job and require high amounts of support as well as guidance. </p>
<p>This style of management is also notoriously known as micro-management.  Generally in IT if you come across situations when employees are neither willing nor capable of performing the job, then you have a bigger problem to solve.  Either your employees are incompetent and must be replaced, or there is something that they are trying to tell you but you are not paying attention.</p>
<h3>3. Permissive Democrat</h3>
<p>The manager involves employees in the decision making process and also gives employees latitude in the implementation of those decisions.  </p>
<p>This management style generally works best when you have mostly senior level employees who are willing and capable of doing the job, and require minimal support as well as guidance. </p>
<p>As great as this style of management sounds, it can be risky if you do not know your employees well, or lack a long-term working relation with them.  A permissive democrat employee is sometimes viewed by his employees as a slacker, or the one who lacks interest.  Generally in IT this kind of a manager is one who finds himself in a management role but has no or very IT background to be able to guide or support his subordinates.</p>
<h3>4. Permissive Autocrat</h3>
<p>The manager makes decisions unilaterally but allows latitude in the implementation of those decisions.  </p>
<p>This management style generally works best when your employees require a high level of guidance, but a low level of support.  In other words, they are not sure about what needs to be done, but they are well capable of carrying out any assignments that they are tasked with. </p>
<p>In IT this style of management is practiced by managers who find themselves in extremely fast paced environments where they can&#8217;t afford the time to make collaborative decisions, or when the manager views himself as an IT guru and does not trust his subordinates with influencing decisions.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarerockstar.com/2009/06/how-and-when-to-use-different-management-styles-to-get-the-most-out-of-your-team/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>5 Steps to Stellar Team Management</title>
		<link>http://www.softwarerockstar.com/2009/06/5-steps-to-stellar-team-management/</link>
		<comments>http://www.softwarerockstar.com/2009/06/5-steps-to-stellar-team-management/#comments</comments>
		<pubDate>Wed, 17 Jun 2009 22:25:52 +0000</pubDate>
		<dc:creator>SoftwareRockstar</dc:creator>
				<category><![CDATA[Leadership]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[Inspiration]]></category>
		<category><![CDATA[Personal Development]]></category>
		<category><![CDATA[Self Help]]></category>
		<category><![CDATA[Self Improvement]]></category>
		<category><![CDATA[Team Management]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.softwarerockstar.com/?p=223</guid>
		<description><![CDATA[Over the years I have come across a slew of management styles, some formal, some informal, some great, while others&#8230; well you get the idea.  During my own management career I drew upon best practices from my former bosses as well as management gurus in order to come up with something that was effective and [...]]]></description>
			<content:encoded><![CDATA[<div class="imageleft"><img class="alignnone size-full wp-image-393" src="http://softwarerockstar.com/wp-content/uploads/2009/06/team-blocks.png" alt="Team Blocks" width="300" height="163" /></div>
<p>Over the years I have come across a slew of management styles, some formal, some informal, some great, while others&#8230; well you get the idea.  During my own management career I drew upon best practices from my former bosses as well as management gurus in order to come up with something that was effective and yet easy to implement.  Here I&#8217;ll share with you a summary of my management style, which is based upon my general philosophy about employees that:<span id="more-223"></span></p>
<ol type="1">
<li>They come to work hoping to make positive contributions</li>
<li>They work hard if they clearly know what they are supposed to do</li>
<li>They are motivated when they feel being part of something bigger than their job</li>
<li>They put in their best effort when they feel empowered, are guided, and are provided with the right tools for the job</li>
<li>They improve when they are given sincere, honest, and timely feedback </li>
</ol>
<p>The following 5 steps I present to you are indented to be a general guideline and not hard-and-fast rules.  Since each team and each environment is unique, you will most definitely have to tweak these steps to best suit your personality, your team, your environment, and the task at hand.  See <a href="http://www.softwarerockstar.com/2009/06/how-and-when-to-use-different-management-styles-to-get-the-most-out-of-your-team/">my article on different management styles</a> for more information.</p>
<h3>1. Define Clear Goals</h3>
<p>The reason most teams fail in achieving their goals is because they do not have any goals to begin with.  As leaders or managers we must take the time to define and clearly communicate reasonable goals for our teams at regular intervals and track the progress of such goals throughout those intervals. </p>
<p>One key success factor in achieving goals is to ensure that we pick the right goals.  Goals we choose must be meaningful, move us closer to our departmental or company vision, and should be relatively unlikely to change during the time interval we choose them for.  It does not mean that they cannot be changed at any cost, but if we keep changing goals midstream as a general practice rather than an exception than the whole exercise becomes counterproductive pretty quickly. </p>
<h3>2. Communicate Goals</h3>
<p>The way we communicate goals to our teams has a profound effect on the successful realization of such goals.  We must not only make sure that our teams completely understand the goals, but also that they are sincerely committed to achieving them. </p>
<p>The practice that works best for me is to set &#8220;Team Goals&#8221; each quarter.  Initially I do not assign any goals to particular individuals.  At the beginning of each quarter, I hold a team meeting to discuss what the goals are, why each one of them is important, gather feedback, answer any questions or concerns, revise some of the goals in the light of feedback received, and finally assign goals to individuals.  Even when I assign goals, I make sure that everybody understands that I am only assigning &#8220;ownership&#8221;, and that each goal still remains as a &#8220;team goal&#8221;.  This exercise takes several hours, but yields great results because a) each team member clearly understands our short-term vision; and b) each team member appreciates being part of something bigger than just a set of 5-10 items assigned to them. </p>
<h3>3. Track Progress</h3>
<p>Defining and properly communicating goals is only half the battle; realization of those goals is the other half that leads us to the final victory.  First and foremost, we as managers must genuinely believe in the goals we define and be sincerely committed to achieving them.  Then we must help individuals on our teams achieve their goals and promote an environment where team members help one another in the realization of their goals.</p>
<p>Everyday I casually discuss goals that are in-progress with my team members on an individual basis to stay in the loop.  I try to do this without alienating them or making them feel that they are being micro-managed.  I allow them plenty of liberty in how they approach specific problems, but just by holding intelligent conversations sometimes makes them see things that they would have ignored otherwise.  It also helps me to assess any risks as early as possible, and allows me to find opportunities where I can help. </p>
<p>Then I also discuss each goal and its progress each week with my entire team in our weekly meetings.  During this exercise I deliberately go over all the goals, even the ones that we all know have not been started yet.  This serves as a great reminder to all and keeps everyone on track.  Discussing goals in weekly meetings serves a couple of other essential purposes.  Firstly, it helps with knowledge sharing, which reduces the risk for me in case someone working on an important goal gets sick or gets hit by a truck.  Secondly, it helps the goal owner draw upon collective wisdom of the entire team, making him more confident in decisions that he makes.</p>
<p>The idea that a particular goal is owned by one individual but all team members are stakeholders is usually foreign to many people in the beginning.  However once they give it a shot, they are usually amazed by its power and how sometimes it can literally help achieve the unachievable. </p>
<h3>4. Reward and Celebrate</h3>
<p>Managing teams is in some ways like raising children.  You reward them for good behavior, and they will outperform their own selves the next time around; you ignore their positive contribution and they will quit trying out of disappointment.</p>
<p>While small financial rewards can usually go a long way, that&#8217;s not the <em>only</em> kind of reward I use to motivate my teams.  When an individual or a team performs great, I make sure that a) they know that they have done something great; and b) they get the due credit for their achievements.  First and foremost, I recognize good performance one-on-one through appreciative and congratulatory dialogue.  Then I proudly highlight any success in our team meetings.  Finally I also look for opportunities to highlight success with external entities, for example though department- or company-wide e-mails. </p>
<h3>5. Analyze Results and Provide Feedback</h3>
<p>Human brain is wired such that it learns best from experience.  No matter if the results come out to be phenomenal or pathetic, it&#8217;s important for us as managers to provide opportunities to analyze the outcome and learn from our own experience. </p>
<p>In a meeting at the end of each quarter I take some time to go over our past quarter&#8217;s performance and discuss how and why certain things turned out to be better than expected while others left much to be desired.  I conduct this exercise in an open forum where each team member has a chance to speak and enlighten the rest of the team with their viewpoint.  This is a time where great process improvement ideas also come about.  </p>
<p>It is important to highlight anything that positively effected our results, and see if it&#8217;s possible and feasible to somehow make it a permanent feature of our process.  More often than not it&#8217;s not something that we can formalize, but by discussing it for a few minutes gives everyone a subconscious sense for it which helps in other similar situations in the future. </p>
<p>One key thing while analyzing negative results is to stay positive, be forward-looking, and encourage our teams to do the same.  There is hardly anything we gain from finger pointing or criticizing external elements.  Where we <em>can</em> potentially gain is in coming up with objective ideas to minimize the occurrence of such negative instances so that future attempts can be much smoother. </p>
<p>So there you have my 5 steps to stellar team management.  If you implement these steps and gain positive results, I would absolutely love to hear your story. </p>
<p>Wish you the best and stay tuned for more!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarerockstar.com/2009/06/5-steps-to-stellar-team-management/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Top 5 Traits of a Great Manager</title>
		<link>http://www.softwarerockstar.com/2009/05/top-5-traits-of-a-great-manager/</link>
		<comments>http://www.softwarerockstar.com/2009/05/top-5-traits-of-a-great-manager/#comments</comments>
		<pubDate>Tue, 19 May 2009 06:41:31 +0000</pubDate>
		<dc:creator>SoftwareRockstar</dc:creator>
				<category><![CDATA[Leadership]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[Inspiration]]></category>
		<category><![CDATA[People Management]]></category>
		<category><![CDATA[Personal Development]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Self Help]]></category>
		<category><![CDATA[Self Improvement]]></category>
		<category><![CDATA[Software Management]]></category>
		<category><![CDATA[Team Management]]></category>
		<category><![CDATA[Technology Management]]></category>

		<guid isPermaLink="false">http://www.softwarerockstar.com/?p=237</guid>
		<description><![CDATA[A great manager is one who is well-respected and is liked by his team members, peers, customers, and higher-ups alike.  He is skilled, competent, and delivers results.  What traits set apart a great manager from the crowd?  In this article I will discuss 5 traits of a great manager with the right attitude to succeed.  [...]]]></description>
			<content:encoded><![CDATA[<div class="imageleft"><img class="alignnone size-full wp-image-439" src="http://softwarerockstar.com/wp-content/uploads/2009/05/steps-with-ball2.jpg" alt="Blue Steps With Gold Ball" width="205" height="230" /></div>
<p>A great manager is one who is well-respected and is liked by his team members, peers, customers, and higher-ups alike.  He is skilled, competent, and delivers results. </p>
<p>What traits set apart a great manager from the crowd?  In this article I will discuss 5 traits of a great manager with the right attitude to succeed.  <span id="more-237"></span>While the article is geared towards technology managers, the ideas discussed apply to other managers as well.</p>
<h3>Trait #1: Trust Is Sacred</h3>
<p>Trust is hard to build but easy to break.  A great manager takes every opportunity to build trust with his team and goes above and beyond in trying not to break it.  If there are times when he can&#8217;t keep his promise, for example, he takes time to genuinely explain why.</p>
<p>Similarly, a great manager trusts his team members and promotes an environment where they can trust him and openly share with him.  There are no secret agreements, no closed door meetings, no lying or hypocrisy, no back-stabbing, no credit stealing, and no unhealthy politics.  Decisions are made on the basis of merit, and are open to discussion if there are disagreements. </p>
<p>Managers that promote trust in their workplace unmistakeably always gain a loyal and motivated employee base, and come out light years ahead of their peers who for one reason or another prefer a more political environment.</p>
<h3>Trait #2: I Respect You, You Respect Me</h3>
<p>Respect a person, and he will do the more (James Howell).  If you respect your employees, they will not only genuinely respect you back, but do whatever it takes to not loose that respect from you.  Yes, that includes working extra hard to get the job done, just so that they can hold up their image in your eyes.</p>
<p>A great manager promotes a culture of mutual respect and takes every opportunity to enforce it.  He does not demand respect, he rather earns it.  He also takes a leading role in showing his team how a culture of mutual respect promotes a fun working environment where people can open up to each other and bounce around ideas without the fear of offending someone.</p>
<h3>Trait #3: No Idea Is Too Dumb and Conflict Is Healthy</h3>
<p>A great manager never shuts down any idea because his mind is already made up.  Instead he believes in the power of collective wisdom, and gives all team members a fair chance to register their feedback.  Once all the feedback has been received and debated, a great manager tries to build consensus.  No team member is left feeling that their idea was disregarded because it was too dumb, or it wasn&#8217;t given a fair chance for any other reason.  Instead the manager makes sure that everyone understands the pros and cons of what is decided and why.  Rather than fearing conflict, he embraces healthy debates held in an environment of mutual respect.</p>
<p>This attitude goes a long way in gaining employee loyalty and ensures that everyone involved will put in their best effort in achieving success.  Moreover it promotes better decision-making where everyone understands that they have a fair chance to get their point heard and discussed, and that every decision is made in an unbiased way in the larger interest of the business.</p>
<h3>Trait #4:  We All Have A Life Outside of Work</h3>
<p>It&#8217;s really important for great managers to have a balance in their own lives, as well as to promote that balance within their teams.  With the right amount of planning and prioritization, there should be no reason for anyone to work long hours except occasionally.  Some project management and software development methodologies, for example, prohibit anyone from working more than 40 hours a week; exceptions are only allowed in the last week or so if required.</p>
<p>A manager who consistently puts in crazy amount of hours at work is usually viewed by his employees as incompetent.  If you work extended hours as a norm rather than an exception, you should try to bring a balance in your life.  If for some reason you must work crazy hours, make sure that you find a way to do it from home so that your employess do not know.</p>
<h3>Trait #5: Do You Have Everything You Need?</h3>
<p>Consider yourself being tasked with hanging a picture frame, but you are not provided with a hammer.  Now you might get creative and use some other tools to drive the nail into the wall, but it will most definitely take you longer and the results might be sub-par. </p>
<p>All jobs require proper tools to do it right, and it can&#8217;t be more true for any kind of technology projects.  A great manager uses his skills and experience in finding ways to minimize workload, actively looks for opportunities to help, and ensures that his team gets all the required tools and resources to complete their work.  The results are usually no less than phenomenal.  But if you cut corners, you usually end up paying for it in the quality of results and the time it takes to perform the required workarounds.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarerockstar.com/2009/05/top-5-traits-of-a-great-manager/feed/</wfw:commentRss>
		<slash:comments>0</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>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>1</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>

