<?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/"
	xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	xmlns:media="http://search.yahoo.com/mrss/"
>

<channel>
	<title>producteering.org &#187; Agile</title>
	<atom:link href="http://producteering.org/tag/agile/feed/" rel="self" type="application/rss+xml" />
	<link>http://producteering.org</link>
	<description>Software &#38; technology trends</description>
	<lastBuildDate>Thu, 22 Apr 2010 06:34:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<!-- podcast_generator="podPress/8.8" -->
		<copyright>&#xA9; </copyright>
		<managingEditor>selina.dsouza@aspiresys.com ()</managingEditor>
		<webMaster>selina.dsouza@aspiresys.com()</webMaster>
		<category></category>
		<itunes:keywords></itunes:keywords>
		<itunes:subtitle></itunes:subtitle>
		<itunes:summary>Just another Localhost.localdomain weblog</itunes:summary>
		<itunes:author></itunes:author>
		<itunes:category text="Society &amp; Culture"/>
		<itunes:owner>
			<itunes:name></itunes:name>
			<itunes:email>selina.dsouza@aspiresys.com</itunes:email>
		</itunes:owner>
		<itunes:block>No</itunes:block>
		<itunes:explicit>no</itunes:explicit>
		<itunes:image href="http://producteering.org/wp-content/plugins/podpress/images/powered_by_podpress_large.jpg" />
		<image>
			<url>http://producteering.org/wp-content/plugins/podpress/images/powered_by_podpress.jpg</url>
			<title>producteering.org</title>
			<link>http://producteering.org</link>
			<width>144</width>
			<height>144</height>
		</image>
		<item>
		<title>Interview on Agile best practices &#8211; Continued</title>
		<link>http://producteering.org/2009/08/21/interview-on-agile-best-practices-continued/</link>
		<comments>http://producteering.org/2009/08/21/interview-on-agile-best-practices-continued/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 16:16:02 +0000</pubDate>
		<dc:creator>Selina</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Producteering Interviews]]></category>
		<category><![CDATA[agile design]]></category>
		<category><![CDATA[BUFD]]></category>
		<category><![CDATA[design in agile projects]]></category>
		<category><![CDATA[distributed agile]]></category>
		<category><![CDATA[frequent releases]]></category>
		<category><![CDATA[iterations]]></category>
		<category><![CDATA[jeff sutherland]]></category>
		<category><![CDATA[sprints]]></category>

		<guid isPermaLink="false">http://producteering.org/?p=193</guid>
		<description><![CDATA[Here is the next part of my interview with Siddharta Govindaraj on Agile best practices, tools and myths:
Initially, agile techniques were targeted only at small, co-located teams usually, but now larger teams that are geographically distributed have adopted agile. How has that change come about and does distributed agile really work?
Siddharta: Right, so agile always [...]]]></description>
			<content:encoded><![CDATA[<p>Here is the next part of my interview with Siddharta Govindaraj on Agile best practices, tools and myths:</p>
<p><strong>Initially, agile techniques were targeted only at small, co-located teams usually, but now larger teams that are geographically distributed have adopted agile. How has that change come about and does distributed agile really work?</strong></p>
<p><strong>Siddharta:</strong> Right, so agile always talks about co-located teams and even now most people agree that co-located teams are always going to be more productive than distributed teams. But there are a whole lot of other things which can decide to make you go in for a distributed team &#8211; for example availability of skill sets or strategic decisions by the company. There are many things which tell you, you need to go in for a distributed agile project. We&rsquo;ve seen over time, distributed agile has been becoming bigger and bigger. In fact, there are a lot of things being distributed.</p>
<p><a href="http://www.scrumalliance.org/profiles/70-jeff-sutherland-phd">Jeff Sutherland</a>, one of the scrum founders, talked about teams in the US and Russia doing distributed agile and how productive they are. So there are a lot of people who are really succeeding in doing distributing agile. But the thing is to succeed in distributed agile &ndash; you need to make a few changes. Obviously, communication is not going to be as good as if everyone is co-located; similar bunch of practices which ensures that you try to maximize the amount of communication available, it might be a shorter iteration so that you can get further feedback.</p>
<p>You try to split groups not amongst teams &ndash; so you don&rsquo;t want to have developers in one location and testers in another. But along functions or bits of functionality. So you might have developers and testers working on one part of the system in one location, and developers and testers working on another part of the system in another location. And you want to maximize the amount of communication bandwidth that you&rsquo;re going to build through chat, voice messaging or through cameras and things like that. If you make these kinds of changes you can succeed. I know a number of companies, not just out of India, who are doing distributed agile and are successful.</p>
<p><strong>Selina:</strong> <strong>Ok. So if you look at it, the nay-sayers of agile say that agile practices don&rsquo;t give too much important to design, or the design aspects. But design is vital to a product&rsquo;s long-term success. What do you have to say on this?</strong></p>
<p><strong>Siddharta:</strong> This is something that you hear very often &#8211; that agile teams don&rsquo;t do design, there&rsquo;s a similar thing that agile teams don&rsquo;t do documentation. But these are kind of misconceptions. A lot of people understand agile to be coding without design, without documentation and equate it to adhoc development. And nothing could be further from the truth.</p>
<p>We need to make a slight distinction between not doing design and not doing Upfront design. So the term used in agile circles is Big Up-Front Design (BUFD). What agile does not do is to get all the details upfront and do a BUFD. So we don&#8217;t have a design phase like your typical but agile teams do do design.</p>
<p>As and when they keep incrementing features they revisit the design. And design is something that you look at throughout the project, it&rsquo;s not technically something at the beginning alone. At the end of every iteration, it is re-evaluated; re-factoring is done constantly to improve the design. This is something which happens continuously. So agile does continuous design and evolving design, but they don&#8217;t do BUFD.</p>
<p>So it&#8217;s not to say that agile doesn&#8217;t do design, in fact it does it right through out the project development. Constant evaluation and redesign.</p>
<p><strong>Selina: So how is design planned? In every sprint or whenever it&rsquo;s required, you take a look at it?</strong></p>
<p><strong>Siddharta:</strong> Whenever someone is recommending a feature, they think about whether it fits in the existing design or not.  If it doesn&#8217;t fit in, then assuming you are all co-located, you can take a few people and decide these are the kind of changes you need to make and then go ahead and implement them. So it happens on a day-to-day basis, week-to-week, sprint-to-sprint basis.</p>
<p><strong>Read the rest of the interview </strong><a href="http://producteering.org/?page_id=191"><strong>here</strong></a><strong> or listen to the audio </strong><a href="http://producteering.org/resources/Interview_with_Silverstripe.MP3"><strong>here</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://producteering.org/2009/08/21/interview-on-agile-best-practices-continued/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://producteering.org/resources/Interview_with_Silverstripe.MP3" length="12312240" type="audio/mpeg" />
		</item>
		<item>
		<title>Interview with Siddharta Govindaraj on Agile tools, myths &amp; best practices</title>
		<link>http://producteering.org/2009/08/14/interview-with-siddharth-govindaraj-on-agile-tools-myths-and-best-practices-%e2%80%93-contd/</link>
		<comments>http://producteering.org/2009/08/14/interview-with-siddharth-govindaraj-on-agile-tools-myths-and-best-practices-%e2%80%93-contd/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 12:46:33 +0000</pubDate>
		<dc:creator>Selina</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Producteering Interviews]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[agile and Web 2.0]]></category>
		<category><![CDATA[Best practices]]></category>
		<category><![CDATA[challenges in agile]]></category>
		<category><![CDATA[CMM vs Agile]]></category>

		<guid isPermaLink="false">http://producteering.org/?p=190</guid>
		<description><![CDATA[Here is the continuation of my interview with Siddharta Govindaraj:
Agile has its own advantages and people who vouch for it. So does a completely different way of doing things &#8211; the CMM (Capability Maturity Model). What are the compelling reasons for a person who is practicing CMM processes to move to agile? 
Siddharta: I&#8217;d say [...]]]></description>
			<content:encoded><![CDATA[<p>Here is the continuation of my interview with Siddharta Govindaraj:</p>
<p><strong>Agile has its own advantages and people who vouch for it. So does a completely different way of doing things &#8211; the CMM (Capability Maturity Model). What are the compelling reasons for a person who is practicing CMM processes to move to agile? </strong></p>
<p>Siddharta: I&rsquo;d say there&rsquo;s only one compelling reason &ndash; and that is, if what you are doing currently is not working for you. If you&rsquo;re following CMMI and it is working for you, that&#8217;s great, then there is really no need to change. You don&#8217;t have to change because it&rsquo;s the in-thing. That&rsquo;s something which I&rsquo;m quite against.</p>
<p>But a lot of people do have problems when it comes to CMMI when requirements are unstable, because of the way it is structured, and with testing and user acceptance right at the end, which creates a lot of issues with respect to changing requirements. Or cases where you&rsquo;ve not got the requirements exactly or there&rsquo;s also the case where the customer sees a product and then gets lots of ideas on how it can be done. So when you have a market like this, then you find that CMMI tends to cause issues because you get bugs right in the end, you get change requests right in the end. It can be difficult to cope with it.</p>
<p>Whereas agile is perfectly suited for those kinds of project. You make frequent releases, there is a lot of feedback is involved, there is a lot of collaboration involved. So in these cases, agile is well suited for these kinds of projects. If you&rsquo;re doing what you&rsquo;re doing, and its working then fine, I&rsquo;d say continue with it. But if it&rsquo;s not working, then agile could be an alternative.<br />
<strong><br />
Right, but is it true that agile is more applicable for consumer kind of applications and products compared to enterprise-class systems?</strong></p>
<p>Siddharta: No, I wouldn&#8217;t say it&#8217;s true. In fact it&rsquo;s kind of interesting because where agile originated from &#8211; if you look at it &#8211; a lot of it is from enterprise applications. If you look at extreme programming, it developed out of a project at Chrysler. If you look at feature-driven development, it came out of a project in Singapore and so all these projects are enterprise projects. The history of agile is actually quite the opposite &#8211; it&rsquo;s come out of an enterprise background, where if you look at it, in an enterprise setting &#8211; requirements can change often and things like that.</p>
<p>Now of course, if you really think about agile, it started a lot before Web 2.0 came into the scene. So that&rsquo;s the background from which it has come and it just so happens, now that we talk about web 2.0, it turns out that agile its perfect for those kind of applications as well because you have releases going out very quickly. But I wouldn&#8217;t say that that&rsquo;s the only type of project that it is suitable for because the history of agile is really coming out from the enterprise group. Even today if you look at it, most agile projects are Java oriented enterprise projects.<br />
<strong><br />
That&rsquo;s a very interesting take. Can you outline some of the biggest challenges you see when people try to make the transition to Agile?</strong></p>
<p>Siddharta: Yeah, there are so many. The number one is getting into a mindset and cultural change. You know, agile is not really about processes if you think about it. What agile promotes is a set of values and process is something which just comes out of a value and that&rsquo;s why we have so many different processes that can all call themselves agile.</p>
<p>The values we are talking about is like, for example, collaboration between customer and developers and management and testers and so on, we are talking about self-management, about being adaptable. These kinds of values are quite the opposite of what traditional project managers have been used to. They are used to plan-driven projects, they are used to command &amp; control hierarchies, they are used to contract negotiations with the customer. So coming out of this mindset and coming into the culture of agile &#8211; that&#8217;s the biggest stumbling block.</p>
<p>We see a lot of people who try to adopt agile without changing the values and it runs into some dysfunction or the other. For example, instead of having a self-organizing team, they do iterations but the manager tells everybody what to do. So they think they are doing agile but actually speaking I wouldn&rsquo;t really call it agile. So you come across these kind of dysfunctions because the cultures as a mind-set change has not been done and that&rsquo;s really the number one issue. Once you do the mind-set change then you can pick on any number of practices to do what ever you need to do but if you do practices without doing the mind-set change, you could be in some trouble.</p>
]]></content:encoded>
			<wfw:commentRss>http://producteering.org/2009/08/14/interview-with-siddharth-govindaraj-on-agile-tools-myths-and-best-practices-%e2%80%93-contd/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Product Roadmap in Agile Development</title>
		<link>http://producteering.org/2009/02/04/product-roadmap-in-agile-development/</link>
		<comments>http://producteering.org/2009/02/04/product-roadmap-in-agile-development/#comments</comments>
		<pubDate>Wed, 04 Feb 2009 08:51:08 +0000</pubDate>
		<dc:creator>Producteering Digest</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Weekly digest]]></category>
		<category><![CDATA[Agile development]]></category>
		<category><![CDATA[Product Roadmaps]]></category>

		<guid isPermaLink="false">http://producteering.org/?p=144</guid>
		<description><![CDATA[A key question that often arises when discussing agile is how to  			develop and maintain a product roadmap in an Agile environment,  			since both do not seem to co-exist very well together. The constant  			focus of Agile methodologies on shorter development cycles and  			repeated prioritization of functionality in the product backlog [...]]]></description>
			<content:encoded><![CDATA[<p>A key question that often arises when discussing agile is how to  			develop and maintain a product roadmap in an Agile environment,  			since both do not seem to co-exist very well together. The constant  			focus of Agile methodologies on shorter development cycles and  			repeated prioritization of functionality in the product backlog  			clashes with a long term product map. Though Agile does not dwell on  			the Waterfall approach of defining system requirements for months  			and years to have the development started, it is always mandatory to  			be well planned and have a clear path ahead for any development  			effort to succeed.</p>
<p>Hence having a product roadmap even when following an Agile approach  			is a must. A<br />
product roadmap is a planned approach that helps with strategic  			project planning and communication of that plan with respect to  			product releases, functionality listing etc. But it should be  			formulated by first understanding the target users, the market, and  			the underlying technologies. Product roadmap forms an integral part  			of any product strategy and provide the framework for plan changes  			and the impact they would have on the product. It&rsquo;s not just about  			the specific features or functionality of the product, but the long  			term product vision/goal of how far one would go with it.</p>
<p>The general perception today is that in Agile, unlike the waterfall  			model, it is difficult to chart out and manage an effective long  			&ndash;term product roadmap. However, Agile reflects the reality better  			because the planning is done only for the current items and the  			immediate iterations that may follow. And this necessarily avoids  			one from making a long-term product goal (say 6-10 months ahead),  			which may fail because priorities/requirements of the products often  			change. Moreover, making a long range roadmap has always been a real  			challenge in general.</p>
<p>In Agile, the roadmap and approximate dates are calculated based on  			the product backlog and the knowledge of the team velocity. Many a  			time over-commitment to the customers has been a major issue here.  			But product managers can certainly employ a centralized system that  			would ascertain development team velocity, all previously committed  			requests, and based on that, calculates the next available commit  			date for a task of importance. This always keeps one in check. A  			good agile product roadmap should invariably help one deliver the  			right products with the right features at the right time to the  			right customers.</p>
<p><a href="http://producteering.org/weeklydigest/weeklydigest-04-02-2009.htm" target="_blank">Read the entire digest contents</a></p>
]]></content:encoded>
			<wfw:commentRss>http://producteering.org/2009/02/04/product-roadmap-in-agile-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Implementing Agile with Distributed Teams</title>
		<link>http://producteering.org/2009/01/27/implementing-agile-with-distributed-teams/</link>
		<comments>http://producteering.org/2009/01/27/implementing-agile-with-distributed-teams/#comments</comments>
		<pubDate>Wed, 28 Jan 2009 04:54:44 +0000</pubDate>
		<dc:creator>Srivandya</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Weekly digest]]></category>
		<category><![CDATA[Agile development]]></category>
		<category><![CDATA[Distributed Agile Model]]></category>
		<category><![CDATA[Offshore software development]]></category>

		<guid isPermaLink="false">http://producteering.org/?p=142</guid>
		<description><![CDATA[This week&#8217;s digest attempts to answer an important question &#8211; can Agile techniques be adopted by large teams that are geographically distributed and possibly working in different time zones?
Many in the enterprise software community assume that Agile techniques are targeted only at small, co-located teams of about ten people. This assumption makes sense to a [...]]]></description>
			<content:encoded><![CDATA[<p>This week&rsquo;s digest attempts to answer an important question &#8211; can Agile techniques be adopted by large teams that are geographically distributed and possibly working in different time zones?</p>
<p>Many in the enterprise software community assume that Agile techniques are targeted only at small, co-located teams of about ten people. This assumption makes sense to a certain extent as time zone differences, language barriers, cultural differences, and lack of synchronization of development processes make implementation of Agile techniques in offshore teams a great challenge. However, these challenges can be overcome by reinforcing the following practices:</p>
<p><strong>Rapid and Frequent Communication</strong> : One of the most important principles of Agile is active and regular communication between all teams involved in getting the software to market. So, if there is one or more offshore teams involved, a daily status update informing the other teams of the day&rsquo;s progress (what they did that day, what they are the planning to do the next day and the problems faced) can be done by making some adjustments for the time zone difference. Instead of the entire team attending the stand-up meetings, every team can have a local stand-up meeting and the team lead alone can convey it to the other team(s). Weekly status meeting with the entire team and face-to-face meetings whenever possible (so you need to budget for that) should also be given priority. All this will ensure that team members are on the same plane and project is progressing as desired. Besides teleconferencing, other collaborative communication methods should also be considered and made use of as appropriate, including video conferencing, wikis, instant messaging, VoIP solutions etc.</p>
<p><strong>Automated Builds and Continuous Integration:</strong> The practice of automating builds at regular intervals is advised as several teams develop simultaneously and since the team members are geographically distributed, it becomes a massive task to ensure that each change is integrated into the build. So, if there is continuous integration, any integration issues can be sorted out immediately rather than solving huge issues at the end. An effective integration should include practices like compiling, database integration, unit testing, deployment, functional testing, notifications, and reporting.</p>
<p><strong>Short Iterations</strong>: Product requirements keep changing due to a better understanding of what the market really needs. Hence, short iterations that last from one week to four weeks, with working software at the end of each iteration, is advisable. In the case of distributed teams working on different functional areas, having a demo at the end of the iteration will help clarify whether offshore teams have really understood the requirements communicated to them, instead of waiting for months to see the end results.<br />
<strong><br />
Efficient Team Organization:</strong> Getting the entire team together at the beginning of the project results in everyone getting to interact with the other team members and can result in better camaraderie and collaboration. Project managers should involve distributed team members to discuss release dates, associated costs, and risks involved in the project. Team members at different locations sharing the responsibility of different functional areas (instead of owning different phases of the project) and modules, and collective code ownership can foster a strong sense of pride and ownership among the whole team. Cross functional teams and Scrum masters present at all major team locations also helps to a great extent.</p>
<p><a href="http://producteering.org/weeklydigest/weeklydigest-27-01-2009.htm" target="_blank">Read the entire digest contents</a></p>
]]></content:encoded>
			<wfw:commentRss>http://producteering.org/2009/01/27/implementing-agile-with-distributed-teams/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Making the most of new Agile tools</title>
		<link>http://producteering.org/2009/01/20/making-the-most-of-new-agile-tools/</link>
		<comments>http://producteering.org/2009/01/20/making-the-most-of-new-agile-tools/#comments</comments>
		<pubDate>Tue, 20 Jan 2009 12:33:48 +0000</pubDate>
		<dc:creator>Producteering Digest</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Weekly digest]]></category>
		<category><![CDATA[Agile development]]></category>
		<category><![CDATA[Agile Manifesto]]></category>
		<category><![CDATA[Agile Methods]]></category>
		<category><![CDATA[Agile Project management]]></category>
		<category><![CDATA[Agile tools]]></category>
		<category><![CDATA[Better Software]]></category>
		<category><![CDATA[RallyDev]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[TargetProcess]]></category>
		<category><![CDATA[VersionOne]]></category>
		<category><![CDATA[X-planner]]></category>
		<category><![CDATA[XP]]></category>
		<category><![CDATA[Yoxel and Mingle]]></category>

		<guid isPermaLink="false">http://producteering.org/?p=141</guid>
		<description><![CDATA[Those who adopt Agile practices sometimes tend to interpret the  			&#8220;Individuals and Interactions over processes and tools&#8221; in  			the Agile manifesto to mean that Agile software development does not  			require any defined set of tools. While the Agile movement does not  			necessarily endorse any tools, there are several tools that have [...]]]></description>
			<content:encoded><![CDATA[<p>Those who adopt Agile practices sometimes tend to interpret the  			&ldquo;I<strong>ndividuals and Interactions over processes and tools</strong>&rdquo; in  			the Agile manifesto to mean that Agile software development does not  			require any defined set of tools. While the Agile movement does not  			necessarily endorse any tools, there are several tools that have  			evolved in recent years which better support Agile efforts.</p>
<p>As Agile teams manage their work differently, they typically need a  			different set of tools to support their agile approaches. Simple and  			adhoc tools like index cards and spreadsheets for requirements  			management and prioritization, wikis for collaborative  			documentation, commercial or opensource project management and bug  			tracking tools are usually sufficient for small, co-located teams.  			However, when teams and projects get larger and Agile methods need  			to be scaled up, integrated tools become useful.</p>
<p>New agile project and product management tools enable better  			coordination and collaboration between the various teams involved in  			the agile process (development, customer support, marketing,  			management, customers, etc) and also provide better reporting  			capabilities. Some of these tools even include requirements  			management, test and defect management and integration with  			development, test and build environments. They can bring about  			further improvement and acceleration of existing agile processes.</p>
<p>X-planner, RallyDev, VersionOne, TargetProcess, Yoxel and Mingle are  			some available Agile project management tools. .NET shops can also  			consider using MS team SCRUM plug-in for its agile project  			management functionalities. Some of these tools require you to spend  			time learning to use it initially while others allow easy  			integration with existing tools. Finding and using the tools that  			are well-integrated, facilitate meaningful interaction between your  			different teams and give more visibility can ultimately help you  			produce better software faster.</p>
<p><a href="http://producteering.org/weeklydigest/weeklydigest-20-01-2009.htm" target="_blank">Read the entire digest contents</a></p>
]]></content:encoded>
			<wfw:commentRss>http://producteering.org/2009/01/20/making-the-most-of-new-agile-tools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Which Agile model should I choose?</title>
		<link>http://producteering.org/2009/01/13/which-agile-model-should-i-choose/</link>
		<comments>http://producteering.org/2009/01/13/which-agile-model-should-i-choose/#comments</comments>
		<pubDate>Tue, 13 Jan 2009 09:22:04 +0000</pubDate>
		<dc:creator>Producteering Digest</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Weekly digest]]></category>
		<category><![CDATA[Agile Model]]></category>

		<guid isPermaLink="false">http://producteering.org/?p=139</guid>
		<description><![CDATA[The benefits of going agile are multi-fold but many software  			companies still wonder if agile will work for them, which agile  			model or practices to choose from, and how to make the transition to  			agile. Also, agile is not only about software development but about  			entire businesses and business processes, and [...]]]></description>
			<content:encoded><![CDATA[<p>The benefits of going agile are multi-fold but many software  			companies still wonder if agile will work for them, which agile  			model or practices to choose from, and how to make the transition to  			agile. Also, agile is not only about software development but about  			entire businesses and business processes, and hence one would need  			to look at the big picture as adopting agile practices would affect  			almost every part of an organization.</p>
<p>There are dozens of Agile methods, a detailed list of which can  			be found at  			<a href="http://en.wikipedia.org/wiki/Agile_software_development" target="_blank">Wikipedia</a> and the  			<a href="http://www.agilealliance.org/" target="_blank">Agile alliance</a>. Interestingly, even  			these two lists are not identical and there is on-going debate on  			which processes can be considered agile, and almost everyone adapts  			and implements the same agile processes differently. After all, you  			cannot use the same agile approach with a team of six and a team of  			six hundred. The difference between building a data warehouse and an  			online ordering system on the other hand may be more subtle and  			harder for stakeholders to understand that it potentially requires  			different agile approaches.</p>
<p>So choosing the right agile method depends on the type and size  			of your product/ project, the criticality of the project, the  			location of the team members, and even the technology that is being  			used.</p>
<p>To get started with Agile, teams should equip themselves with  			knowledge about the different agile methodologies and the practices  			that form a part of these methodologies. Attending conferences and  			workshops where practical examples and best practices are shared is  			also encouraged.</p>
<p>What&rsquo;s important next is to figure out which practices to adopt  			based on how it would address your requirement and what is the  			business value that can be derived from it. For example, if your  			goal is to reduce time-to-market, you can consider the agile  			practices of iterations, iteration backlogs and stand-up meetings.  			If increasing quality is the primary goal, automated developer  			tests, pair programming, user stories and continuous integration can  			work well for you.</p>
<p>There can be a lot of overlap between the various Agile processes  			and many successful practitioners adapt and adopt practices on an  			individual basis. Trying a pilot project can give teams a chance to  			understand and adapt to agile practices, make mistakes and learn  			from them. Also, instead of a big-bang approach to agile, a gradual  			transition (say from 9 to 6 to a 3 month release cycle) can cause  			less confusion and allow the teams involved to better adapt to  			agile.</p>
<p><a href="http://producteering.org/weeklydigest/weeklydigest-13-1-2009.htm" target="_blank">Read the entire digest contents</a></p>
]]></content:encoded>
			<wfw:commentRss>http://producteering.org/2009/01/13/which-agile-model-should-i-choose/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The engineering demands of moving to Software-as-a-Service</title>
		<link>http://producteering.org/2008/08/01/the-engineering-demands-of-moving-to-software-as-a-service/</link>
		<comments>http://producteering.org/2008/08/01/the-engineering-demands-of-moving-to-software-as-a-service/#comments</comments>
		<pubDate>Fri, 01 Aug 2008 06:21:27 +0000</pubDate>
		<dc:creator>Producteering Digest</dc:creator>
				<category><![CDATA[SaaS]]></category>
		<category><![CDATA[Weekly digest]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[and a service oriented]]></category>
		<category><![CDATA[availability]]></category>
		<category><![CDATA[extensibility]]></category>
		<category><![CDATA[ISV]]></category>
		<category><![CDATA[Iterative]]></category>
		<category><![CDATA[reusability]]></category>

		<guid isPermaLink="false">http://producteering.org/?p=117</guid>
		<description><![CDATA[Everyone&#8217;s heard the buzz about SaaS or On-demand, as it is popularly known, for quite a while now. Thankfully, SaaS has gone beyond being just a buzzword, and its benefits are perceived as real now. Although SaaS may not be for every Independent Software Vendor, an ISV can afford to ignore the SaaS model of [...]]]></description>
			<content:encoded><![CDATA[<p>Everyone&rsquo;s heard the buzz about SaaS or On-demand, as it is popularly known, for quite a while now. Thankfully, SaaS has gone beyond being just a buzzword, and its benefits are perceived as real now. Although SaaS may not be for every Independent Software Vendor, an ISV can afford to ignore the SaaS model of delivery only at its own peril.</p>
<p>Before considering transitioning to SaaS however, ISVs should accept the fact that making the move to on-demand will have a profound impact on every aspect of the business: including pricing, delivery, sales channels, product architecture, support and infrastructure.</p>
<p>The architectural changes involved in getting your product SaaS-ready can be quite complex, hence the engineering aspects of building a SaaS product should not be overlooked. On-demand products need to have user customization designed-in and remote development capabilities. Also, as SaaS allows for instant upgrades to be done across the customer base, it would typically follow agile or iterative methodologies.</p>
<p>Adopting agile or iterative methodologies in turn ensures that your product will not be over-engineered and will have just enough features for you to go live with just enough technology. The most important aspect of any SaaS architecture will be allowing for reusability, extensibility, availability, and a service oriented approach.</p>
<p>One limitation of on-demand software is that it is configurable by end-users for their individual needs, but there is a single code base for all customers (or tenants) which is not customizable for any one customer. Because of this, competitive advantage or differentiation based on the software itself becomes negligible.</p>
<p>However, SaaS vendors have woken up to this and have developed platforms that can accommodate customizations. This rich customization allows SaaS vendors to serve larger corporations, in addition to their typical customer base of small and mid-sized companies. All of this and a few other things promise to change the SaaS landscape soon &ndash; the next wave of SaaS is coming!</p>
<p><a href="http://producteering.org/weeklydigest/weeklydigest-01-08-2008.html" target="_blank">Read the entire digest contents</a></p>
]]></content:encoded>
			<wfw:commentRss>http://producteering.org/2008/08/01/the-engineering-demands-of-moving-to-software-as-a-service/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Test Automation in an Agile environment</title>
		<link>http://producteering.org/2008/05/09/test-automation-in-an-agile-environment/</link>
		<comments>http://producteering.org/2008/05/09/test-automation-in-an-agile-environment/#comments</comments>
		<pubDate>Fri, 09 May 2008 11:34:20 +0000</pubDate>
		<dc:creator>Producteering Digest</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Software testing]]></category>
		<category><![CDATA[Weekly digest]]></category>
		<category><![CDATA[Collaboration]]></category>
		<category><![CDATA[QA]]></category>
		<category><![CDATA[Test Automation]]></category>
		<category><![CDATA[Test Automation Tools]]></category>

		<guid isPermaLink="false">http://producteering.org/?p=101</guid>
		<description><![CDATA[Now that we&#8217;ve been talking about Agile for the last couple of weeks, let&#8217;s get into another related topic &#8211; Automated testing or using Commercial GUI tools in an Agile environment.
It&#8217;s a fact that testing in an Agile environment is different from testing in the Waterfall or other development approaches &#8211; so where do traditional [...]]]></description>
			<content:encoded><![CDATA[<p>Now that we&rsquo;ve been talking about Agile for the last couple of weeks, let&rsquo;s get into another related topic &ndash; Automated testing or using Commercial GUI tools in an Agile environment.</p>
<p>It&rsquo;s a fact that testing in an Agile environment is different from testing in the Waterfall or other development approaches &ndash; so where do traditional test automation tools fit in? Although test automation specialists may be comfortable using their chosen traditional test automation tool, these tools may not be the best bet when it comes to Agile test automation.</p>
<p>Some of the reasons for the mis-match between traditional test automation tools and Agile testing are: these tools encourage the test-last workflow, which cannot work for agile teams; the scripts that traditional tools create are typically dependent on various sources of information and are therefore not easily maintainable; traditional automation tools are expensive and learnt exclusively by the automation specialist as a QA tool, which will not work in an integrated agile testing team.</p>
<p>However, this does not mean that Automation tools cannot be used in an Agile environment. A new breed of test automation tools like Fitnesse, Green Pepper, StoryTestIQ, Selenium, Watir and others are more optimized for Agile teams and solve the challenges of collaboration, reducing waste and increasing the speed of feedback that Agile teams face.</p>
<p>Also, just as in any test automation effort, the key thing is to find areas/scenarios that would benefit the most from automation. Judicially applying test automation efforts to those areas will enable one to reap the most benefit!</p>
<p><a href="http://producteering.org/weeklydigest/weeklydigest-09-05-2008.htm" target="_blank">Read the entire digest contents</a></p>
]]></content:encoded>
			<wfw:commentRss>http://producteering.org/2008/05/09/test-automation-in-an-agile-environment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Don&#8217;t under-estimate the need for Agile testers!</title>
		<link>http://producteering.org/2008/05/02/don%e2%80%99t-under-estimate-the-need-for-agile-testers/</link>
		<comments>http://producteering.org/2008/05/02/don%e2%80%99t-under-estimate-the-need-for-agile-testers/#comments</comments>
		<pubDate>Fri, 02 May 2008 11:27:40 +0000</pubDate>
		<dc:creator>Producteering Digest</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Software testing]]></category>
		<category><![CDATA[Weekly digest]]></category>
		<category><![CDATA[Feedback]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://producteering.org/?p=100</guid>
		<description><![CDATA[We&#8217;ve touched upon how Agile is changing the rules of the development game, last week &#8211; and how it allows software to adapt to a dynamic environment. In this fast-paced scenario of just a couple of weeks of iterations, and releases of working software being made every few weeks, where does Agile testing fit in?
Many [...]]]></description>
			<content:encoded><![CDATA[<p>We&rsquo;ve touched upon how Agile is changing the rules of the development game, last week &ndash; and how it allows software to adapt to a dynamic environment. In this fast-paced scenario of just a couple of weeks of iterations, and releases of working software being made every few weeks, where does Agile testing fit in?</p>
<p>Many teams that have adopted agile tend to leave out other key roles (for instance business users or testers) out of, or on the fringes, of the agile team. With testing becoming an integrated activity and all members on agile teams writing their own unit tests, it is easy to think that testing as a role is no more significant in an agile world.</p>
<p>However, although the role of testers will change considerably in agile development, the importance of having professional testers in agile teams should never be under-estimated. Rather than doing pure testing, agile testers take the role of Test Analysts and perform quality assurance for the team. They bring in a different perspective, help the development team produce testable code and play an integral part of the continuous feedback loop that keeps the team on track.</p>
<p>All of this in no way implies that agile testing is easy. In fact, Agile testing calls for more judgement from a tester: it requires more expertise about what&#8217;s good and what&#8217;s not, the ability to be more flexible and having the confidence to work from your knowledge and intuition of what is good. It&#8217;s certainly not just a case of following a test script and making sure the software does what it says in the spec.</p>
<p>Agile testing is therefore certainly not for dummies!</p>
<p><a href="http://producteering.org/weeklydigest/weeklydigest-02-05-2008.htm" target="_blank">Read the entire digest contents</a></p>
]]></content:encoded>
			<wfw:commentRss>http://producteering.org/2008/05/02/don%e2%80%99t-under-estimate-the-need-for-agile-testers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Agile Fixedbid &#8212; an oxymoron ?</title>
		<link>http://producteering.org/2008/04/05/agile-fixedbid-%e2%80%94-an-oxymoron/</link>
		<comments>http://producteering.org/2008/04/05/agile-fixedbid-%e2%80%94-an-oxymoron/#comments</comments>
		<pubDate>Sat, 05 Apr 2008 11:57:43 +0000</pubDate>
		<dc:creator>jp_nair</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[features]]></category>
		<category><![CDATA[fixed-bid]]></category>
		<category><![CDATA[integration issues]]></category>
		<category><![CDATA[pair programming]]></category>
		<category><![CDATA[phases]]></category>
		<category><![CDATA[small iterations]]></category>
		<category><![CDATA[sprints]]></category>
		<category><![CDATA[waterfall]]></category>

		<guid isPermaLink="false">http://producteering.org/?p=81</guid>
		<description><![CDATA[In an earlier post, we have examined how we can use agile in a fixed-bid project by considering scope as a variable. in this post, we will take a step back and examine the ways in which we can leverage the power of agile within the business constraints imposed by a fixed-bid contract.
1) Continuous Integration [...]]]></description>
			<content:encoded><![CDATA[<p>In an earlier post, we have examined how we can use agile in a fixed-bid project by considering scope as a variable. in this post, we will take a step back and examine the ways in which we can leverage the power of agile within the business constraints imposed by a fixed-bid contract.</p>
<p><strong>1) Continuous Integration (CI)</strong> : Whether you are following a Dedicated or Time &amp; Material or Fixed-Bid type of engagement, CI is a very useful and proven Agile tenet. The Root Cause Analysis of the issues that come up during the last stages of a typical release will point to Integration issues as one of the root causes.<br />
There are tools around which can be used for automatically building and deploying your code at very frequent intervals (or on a need basis) so that the integration issues are closed as and when they are found, instead of accumulating till the end.<br />
One good example is CruiseControl, which has versions for Java as well as Dotnet environments. You could visit the thoughtworks site for more info on CruiseControl.</p>
<p><strong>2) Pair programming:</strong> Pair programming is an agile tenet which advocates having a pair of programmers work together on all coding aspects, instead of working individually. Compare this with a typical scenario where the programmers work individually for all<br />
their work. 100% pair programming is a controversial topic, and we will not get into that debate in this post. But what is not controversial, and indeed beneficial, is to use pair programming in a contextual manner. That is, whenever you are faced with a difficult problem, have 2 people work on it. That has proven to be much more productive than the aggregate work done by them separately. Also, there is a knowledge backup within the team for all the difficult sections within the codebase.<br />
<strong><br />
3) Small releases:</strong> Have an overall fixed-bid contract which allows about 20% deviation in the scope. Then have smaller iterations where small chunks of feature requirements will be identified, zoomed-in, designed, implemented, tested, and be ready to be deployed.</p>
<p>In other words, it is very common to find the fixed-bid billing model tied to the waterfall methodology. There are inherent problems with the traditional waterfall software developement life cycle (SDLC) methodology, and it is better not to mix waterfall and fixed-bid. Pictorially it can be represented this way:</p>
<p>Requirements-&gt;Design-&gt;Coding-&gt;Testing-&gt;UAT-&gt;Golive</p>
<p>Feature set #1&mdash;&gt;Feature set #2 &mdash;&gt;Feature set #3<br />
Where, the first line indicates the typical approach using Waterfall model the second line indicates the approach using smaller closed iterations (Agile model), with the various phases of an sdlc compressed into each iteration.</p>
<p>The main difference is that in the waterfall model, the compartmentalization is in terms of phases, whereas in Agile, the compartmentalization is in terms of features&mdash;ie, in Agile all the phases will be implemented for each set of features in the order of decreasing priority of features. We will talk more about the mechanics of this, in a future post.<br />
In summary, some of the Agile tenets can indeed be used in a Fixed bid model, actually reducing the heartburn for all the stakeholders in the client&rsquo;s as well as the vendor&rsquo;s side.</p>
]]></content:encoded>
			<wfw:commentRss>http://producteering.org/2008/04/05/agile-fixedbid-%e2%80%94-an-oxymoron/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

