<?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>Cognifide Blog &#187; Agile Practices</title>
	<atom:link href="http://www.cognifide.com/blogs/agile-practices/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cognifide.com/blogs</link>
	<description>The Cognifide.Com Tech Hub</description>
	<lastBuildDate>Mon, 17 Jun 2013 08:46:17 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
		<item>
		<title>7 Reasons to Build Platforms over Websites</title>
		<link>http://www.cognifide.com/blogs/agile-practices/7-reasons-to-build-platforms-over-websites/</link>
		<comments>http://www.cognifide.com/blogs/agile-practices/7-reasons-to-build-platforms-over-websites/#comments</comments>
		<pubDate>Wed, 27 Jun 2012 12:31:10 +0000</pubDate>
		<dc:creator>Marek Błotny</dc:creator>
				<category><![CDATA[Agile Practices]]></category>

		<guid isPermaLink="false">http://www.cognifide.com/blogs/?p=2562</guid>
		<description><![CDATA[Building new websites based on Digital Marketing Suites like Adobe CQ or Sitecore is one of Cognifide’s specialisations. For some of our clients, like Investec and Roche, we have built dozens of websites. We are obviously, thankful for the opportunity to power all these global websites. However, we realized some time ago that if there [...]]]></description>
			<content:encoded><![CDATA[<p>Building new websites based on Digital Marketing Suites like Adobe CQ or Sitecore is one of Cognifide’s specialisations. For some of our clients, like <a href="http://www.investec.com" target="_blank">Investec</a> and <a href="http://www.roche.com" target="_blank">Roche</a>, we have built dozens of websites. We are obviously, thankful for the opportunity to power all these global websites. However, we realized some time ago that if there is a constant need to launch new websites, building one website after another is generally, not the smartest and most cost-effective approach.</p>
<div id="attachment_2572" class="wp-caption aligncenter" style="width: 411px"><img class="wp-image-2572 " style="border: 1px solid black" src="http://www.cognifide.com/blogs/wp-content/uploads/2012/06/InvestecPlatform-1024x838.png" alt="Investec Platform" width="401" height="328" /><p class="wp-caption-text">Investec.com on Investec Digital Marketing Platform</p></div>
<p>Of course building yet another website involves quite a simple and safe approach as each website has a separate budget, each website is a separate project. Complexity is usually low therefore risk is low and it makes such projects fairly easy from the management&#8217;s point of view.<br />
<span id="more-2562"></span>  However quite often, in scenarios like this, all websites are very similar to each other. They share similar functionality, exactly the same brand guidelines and as a result, similar designs. Oh, and they are deployed to the same hosting environment as well. Behind the scene, the same editorial team also works with your CMS. Moreover, the websites are usually just a small part of  the  bigger marketing campaigns. Which means that, to some extent, process is repeatable, and there is a desire to streamline it. Why? Simply, because</p>
<ul>
<li>efficient processes prove to be more cost-effective.</li>
<li>Time-to-market can be significantly reduced.</li>
<li>Teams can be more responsive to the changing environment.</li>
</ul>
<p><strong>So what is better than building one website after another?</strong></p>
<p>The approach which we have proposed, implemented and now proved to be successful is to build a platform instead of of replicating dozens of independent websites. Please note that by platform, I don’t mean a single, huge, customizable website. When I say &#8220;platform&#8221; I&#8217;m thinking of an application, built on top of the Digital Marketing Suite, which is capable of hosting multiple websites. Yet, is still flexible; where each website has the autonomy to customize design, layouts, functionality and also expose a number of extension points so that adding new functionality is easy!</p>
<p>We have built such platform for one of our key clients – Investec. Investec Platform is based on <a href="http://www.adobe.com/products/cq.html" target="_blank">Adobe CQ</a> and hosts main <a href="http://www.investec.com" target="_blank">Investec.com</a> website as well as number of microsites. Even though, its a really interesting topic, I won&#8217;t jump into the technical details and architecture of the Investec Platform. I would like to focus more on benefits for the business which the platform brought:</p>
<ol>
<li><strong>Quicker time-to-market</strong> – it now takes us, 1 day from request submission to the point where the new website is ready for content entry. We are able to be this responsive because we have a set of standard designs; a set of components and most important, the flexibility to lay pages out in almost, an arbitrary way. There is no need to do any development to set up new website; it all can be done by configuration at the platform level.</li>
<li><strong>Quicker content entry</strong> – their editorial team has been trained to use the platform, they know what the platform can do and how to fully utilize all of the available functionality. We don’t have to teach them everything from scratch for each website. They are effective because they work in an environment which they are quite familiar with.</li>
<li><strong>Lower costs of launching new websites</strong> – as I said before; setting up a new website now does not involve any development. There is a bit of configuration that needs to be done and on top of that, new domains have to be set up, which is of course, inevitable. However, the entire process takes only a few days for the engineering team.</li>
<li><strong>Lower risk </strong>– risk of launching another website is minimal. All elements have been tested before and are already stable in production environment.</li>
<li><strong>Easier brand governance</strong> – all websites live on a single platform which makes changing anything trivial. Single platform also enforces consistency, assets re-use, easier maintenance.</li>
<li><strong>Improved scalability</strong> – process of building a website is always the same. It’s well defined, which means that it’s easier to outsource some tasks/aspects to external agencies. And as more companies/agencies can work on the platform, it is easier to scale and jump from 1 -2 launched websites per month to 20- 30+ .</li>
<li><strong>Greater reuse and sharing of components built across the platform –</strong> there are always new cases, new requirements or new systems to integrate with. Component implemented once, can be re-used across entire platform, all other microsites can use it. It’s a massive reduction of costs.</li>
</ol>
<p><strong>Conclusions</strong></p>
<p>- With the traditional approach, each website would have to go through the full project lifecycle.</p>
<p>It has to be specified, built, tested and finally launched. This process is costly and time-consuming</p>
<p>-  With the platform it’s possible to re-use existing designs, existing components and functionality.</p>
<p>Setup of a new website is quick and cheap. Platform can offer number of sophisticated features. It can also involve a baked-in integration with external systems such as your analytics/ testing tools.</p>
<p>Finally, it’s worth investing in a platform because functionality created once, can be re-used on each of hosted websites. Platform can be a toolbox which organizations use in their campaigns. They don’t have to build everything from scratch which gives them more time to focus on core business.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cognifide.com/blogs/agile-practices/7-reasons-to-build-platforms-over-websites/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kanban basics and Kanban for support services</title>
		<link>http://www.cognifide.com/blogs/agile-practices/kanban-basics-and-kanban-for-support-services/</link>
		<comments>http://www.cognifide.com/blogs/agile-practices/kanban-basics-and-kanban-for-support-services/#comments</comments>
		<pubDate>Mon, 30 Apr 2012 11:27:12 +0000</pubDate>
		<dc:creator>Bartek Szafko</dc:creator>
				<category><![CDATA[Agile Practices]]></category>
		<category><![CDATA[agile project management]]></category>
		<category><![CDATA[kanban]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://www.cognifide.com/blogs/?p=2072</guid>
		<description><![CDATA[Image cc Jeff.lasovski Kanban was first used by Toyota to facilitate and optimize production processes. The results were so invigorating that it inevitably, found its way to software development and in particular to support services, which i’m going to cover in this post. Let&#8217;s remember that Kanban focuses on process optimization, ensuring high throughput and [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-medium wp-image-2076" src="http://www.cognifide.com/blogs/wp-content/uploads/2012/04/800px-Simple-kanban-board--300x158.jpg" alt="Simple kanban board" width="300" height="158" /></p>
<div class="aligncenter" style="font-size: xx-small;text-align: center">Image cc Jeff.lasovski</div>
<p><a title="Kanban" href="http://en.wikipedia.org/wiki/Kanban" target="_blank">Kanban</a> was first used by Toyota to facilitate and optimize production processes. The results were so invigorating that it inevitably, found its way to software development and in particular to support services, which i’m going to cover in this post.</p>
<p>Let&#8217;s remember that Kanban focuses on process optimization, ensuring high throughput and provides a means for continuous improvement by the team on all its processes.</p>
<p>Three key aspects of the kanban are:</p>
<ul style="margin-top: 0px;padding-top: 0px">
<li>Visualization</li>
<li>Flow and pull</li>
<li>Work in progress</li>
</ul>
<p><span id="more-2072"></span></p>
<h4>Visualization</h4>
<p>The board is the most significant and of course, the most visible part of a kanban powered system. Kanban in Japanese means a “sign board”, it gives you a visual representation of the work that is going on and awaiting execution. Each part of the system is represented by a column. Columns should represent whatever stages of production you have. In software development and software support services it generally is: To Do, Ready for development, Work In Progress, Implemented, Testing, Done.</p>
<p>Board building is a team activity. It is very interesting to observe the board as the team engages in discussions on, for example what each of the columns represent and you can instantly understand the process that the team had adopted till now. It may be surprising but it could turn out that the “Work In Progress” term had a rather nebulous meaning or there was no clear and shared definition amongst your team of Done! Rather valuable learning within a few minutes that you may otherwise, be lucky to get after a few weeks..</p>
<p>Swimlanes are also an important part of the visualization system and are used to illustrate some particular types of task or whatever the team needs to track. One of the practices, I would recommend is to use swimlanes to visualize different classes of service.</p>
<p style="text-align: center"><img class="aligncenter size-full wp-image-2108" src="http://www.cognifide.com/blogs/wp-content/uploads/2012/04/swimlanes.png" alt="Sample cognifide board with swimlanes" /></p>
<div class="aligncenter" style="font-size: xx-small;text-align: center">Sample board with swimlanes</div>
<p>Parking fields for blocked tasks or a special critical tasks area (with very limited capacity) are also used.</p>
<p>The structure of the board is certainly not set in stone and it will evolve as your team learns to cope with new types of work.</p>
<h4>Flow and pull</h4>
<p>Kanban is about ensuring that tasks flow steadily and continuously through the system. Each column is replenished in a pull fashion that basically means when a task is finished and moved to &#8220;Implemented&#8221; column; the same person pulls another task from &#8220;Ready for Development&#8221; column and places it in the &#8220;Work In Progress&#8221; column. When the &#8220;Ready for Development&#8221; column needs replenishing the tasks are pulled from the &#8220;To Do&#8221; column. The important rule in this respect is to start new work only after the old work has been finished and moved to another column so that you do not imbibe a false sense of progress on your board.</p>
<p>Ideally, the tasks should be assigned to a person as late as possible in the process. This, of course, assumes that every member of the team has the same expertise and knowledge but can also facilitate knowledge sharing inside the team, when members pull tasks which they have never done before and gain the needed expertise for your team to progress faster on future development cycles.</p>
<h4>Work in Progress</h4>
<p>The pulling nature of the Kanban system makes sure that we can have only a limited amount of work in progress in a certain state at given time. Setting the upper and lower limits for each column ensures that the team is not working over the capacity and can also be used to determine potential bottlenecks. Setting the limits for each column should be an ongoing process and can be fine tuned at any stage of your Kanban implementation.</p>
<p style="text-align: center"><img class="aligncenter size-full wp-image-2109" src="http://www.cognifide.com/blogs/wp-content/uploads/2012/04/wip.png" alt="Work in Progress: Under(yellow) and over capacity(red)" /></p>
<div class="aligncenter" style="font-size: xx-small;text-align: center">Sample board with columns under(yellow) or over(red) capacity</div>
<p>The actual limits may depend on how you actually organise work within the team. For example, when you are doing pair programming, the numbers may be lower compared to a single developer working on all tasks.</p>
<h4>Summary</h4>
<p>Kanban is a great tool that has clear advantages, but as usual is not a silver bullet. It is not intended to replace the existing process as it will only facilitate and help you visualize the one already in place and help you to continuously improve.</p>
<p>Kanban has a relatively low entry cost , all you need to start is a board or a wall, a couple of sticky notes and a marker. Of course, technical tools are helpful but really not essential. There are also takes on applying some of the kanban ideas to other agile project methodologies like scrum. One of the ideas of Scrum-Ban is to make use of a Kanban board to facilitate daily standups.</p>
<p>Personally, I believe the Kanban is an ongoing process and there will always be parts that need tweaking for improvement.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cognifide.com/blogs/agile-practices/kanban-basics-and-kanban-for-support-services/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
