<?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>Xebia Blog &#187; Gerard Janssen</title>
	<atom:link href="http://blog.xebia.com/author/gjanssen/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.xebia.com</link>
	<description>Software development done right!</description>
	<lastBuildDate>Wed, 01 Feb 2012 00:30:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>The Three C&#8217;s of architecture</title>
		<link>http://blog.xebia.com/2010/04/23/the-three-cs-of-architecture/</link>
		<comments>http://blog.xebia.com/2010/04/23/the-three-cs-of-architecture/#comments</comments>
		<pubDate>Fri, 23 Apr 2010 04:37:47 +0000</pubDate>
		<dc:creator>Gerard Janssen</dc:creator>
				<category><![CDATA[lean architecture]]></category>
		<category><![CDATA[agile architectuur]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Lean]]></category>
		<category><![CDATA[lean architectuur]]></category>

	<!-- AutoMeta Start -->
	<category></category>
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://blog.xebia.com/?p=4460</guid>
		<description><![CDATA[In our work with clients we often have discussions about the function of architecture and the role of architects. These discussion are largely due to fact that architecture does not visibly contribute to organizational goals and is perceived as a nuisance for projects. Many discussions originate from a lack of understanding of the role and [...]]]></description>
			<content:encoded><![CDATA[<p>In our work with clients  we often have discussions about the function of architecture and the role of architects.  These discussion are largely due to fact that architecture does not visibly contribute to organizational goals and is perceived as a nuisance for projects.  Many discussions originate from a lack of understanding of the role and place of architects in the organization.  We have defined three goals of the architecture function in IT organizations: The Three <strong>C&#8217;s of Architecture</strong>.  These are: <strong>Connection, Cohesion and Changeability</strong>.  Taking these as the prime principles of architecture provides focus on what to do and how to position architecture in the organization.<br />
<span id="more-4460"></span><br />
Organizations are continuously changing and operating in ever more dynamic environments. This places big demands on the IT department. It constantly needs to ensure it supports the business goals and changing circumstances. Architecture should play an important role in this process. This implies that architecture must focus on <strong>contributing value</strong>. Architecture does not exist for esoteric reasons, it is not there to define and prescribe the most beautiful or technological most advanced architecture. No, it has to focus on business goals and value creation as its ends. <strong>Architecture is just a means.<br />
</strong></p>
<p>There are three main principles, focal points upon which architecture should base its effort. The first is <strong>Connection </strong>to the <strong>organizational goals</strong>. Roughly, these come two categories. First, business goals that define what the company exists for and what place it has in the marketplace or society. Second, projects, business cases that define opportunities to further the first type of goals. For Connection principle, architecture needs to work on  connecting the efforts and capabilities of IT with these goals and endeavors.  It needs to thinks about how structures, technical solutions and infrastructures need to be organized to realize the goals as good as possible. Architects do have a role and responsibility here to understand the business aims and ambitions. And architects must  make sure that other people in IT understand how to realize these aims and ambitions into concrete solutions.</p>
<p>IT is expensive. Period. That is not just a perception of the business, it is reality. We need to find ways to most efficiently  use IT. One part of the solution is <strong>Cohesion </strong>in the kind  of solutions created and deployed. By choosing from a limited number of solutions (reference architectures) we can <strong>keep the complexity contained</strong>. Cohesion also helps to organize the systems in a way that promotes sensible partitioning of functions and responsibilities, such that simplicity  and flexibility are increased.</p>
<p>Change is a given, so we better be ready for it. <strong>Changeability </strong>is the last focal point of architecture. It is the capability of IT to <strong>adapt to changes</strong> in business goals and the environment quickly.  Changes disturb the Connection between business goals and IT capabilities and it might disrupt the Cohesion in within IT. By focusing on Changeability we can restore Cohesion and Coherence as quickly as possible.</p>
<p>The effect of defining the role of architecture by these three principles is <strong>focus</strong>.<br />
We gain focus on<br />
• what needs to be done,<br />
• what can be done,<br />
• tangible results and delivery,<br />
• quality,<br />
• cost effectiveness</p>
<p>In short: <strong>focus on results that matter</strong>. It is interesting to note that these principles apply to architecture at multiple levels: enterprise, project, systems and infrastructure architecture  are all governed by these principles. In that respect the three C&#8217;s of architecture do not only help unite business and IT effort, but also unite the different IT functions themselves.</p>
<p>This blog is the first in series about Lean Architecture, an architecture  method that bridges the gap between classical architecture , Agile Project Management and long term goals of organizations.<br />
The upcoming series will first focus on a series of Lean Architecture principles: basic principles or mantras that form the foundation of Lean Architecture and how a Lean Architecture approaches his responsibility.</p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="small" count="1" href="http://blog.xebia.com/2010/04/23/the-three-cs-of-architecture/"></g:plusone></div><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.xebia.com%2F2010%2F04%2F23%2Fthe-three-cs-of-architecture%2F&amp;title=The%20Three%20C%26%238217%3Bs%20of%20architecture" id="wpa2a_2"><img src="http://blog.xebia.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.xebia.com/2010/04/23/the-three-cs-of-architecture/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Simplicity is not just a virtue, it is a systemic quality</title>
		<link>http://blog.xebia.com/2010/04/19/simplicity-is-not-just-a-virtue-it-is-a-systemic-quality/</link>
		<comments>http://blog.xebia.com/2010/04/19/simplicity-is-not-just-a-virtue-it-is-a-systemic-quality/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 19:56:14 +0000</pubDate>
		<dc:creator>Gerard Janssen</dc:creator>
		<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/home/blog.xebia.com/www/wp-content/plugins/autometa/autometa.php</b> on line <b>303</b><br />
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[lean architecture]]></category>
		<category><![CDATA[Quality Assurance]]></category>
		<category><![CDATA[Audits]]></category>

	<!-- AutoMeta Start -->
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://blog.xebia.com/?p=4392</guid>
		<description><![CDATA[Architecture can be divided into two categories : simple and complex. And actually, it is the same with people. I prefer simple, humble and straightforward people. I find complex people hard to relate to, they often make a fuss about things that seem irrelevant to me and  make life harder than it should be. In [...]]]></description>
			<content:encoded><![CDATA[<p>Architecture can be divided into two categories : simple and complex.<br />
And actually, it is the same with people. I prefer simple, humble and straightforward people. I find complex people hard to relate to, they often make a fuss about things that seem irrelevant to me and  make life harder than it should be. In Holland we have a saying: “Such a person should come with a manual”. Only, I hardly ever read a manual. That is why I prefer people with a straightforward and ‘simple’ character that lack pretense and that you can take at face value.  And it should be the same with architecture: let’s keep it simple. Simplicity is in fact a systemic quality that must be a driving force in architecture.<br />
<span id="more-4392"></span><br />
 <br />
In the many systems that we have audited, I have seen a lot of different architecture. They are often thoroughly crafted with lots of attention to detail (in theory). A classic example is the layered architecture that never stops layering. These kind of systems one day started with implementing a standard three layer architecture, but kept on adding layers over time. This just increases the complexity and complicates further development and maintenance. It is a form of design debt, but also a collectors’ rage: you cannot have too much separation. All nice and well, but eventually you come to a point, that you need a manual to comprehend it. That is when I become detached: complexity is the enemy of effectiveness.<br />
 <br />
Enter simplicity. Just as I would rather communicate with a simple, straightforward person, I can also better relate to simple, straightforward software and architecture. Successful architecture should be comprehensible at first glance and remain so when you work with it. And that is the architects’ responsibility. Architects must strive for simplicity, clarity and transparency. </p>
<p>Simplicity is a systemic quality in all levels of IT architecture. At Enterprise Architecture level, it helps create clarity on business functions, demands and responsibilities. Here it has a big impact on overall IT complexity and size.  Thus it is a major driver in IT cost and business agility. Roger Sessions has done some excellent work in this area. At system and application level, simplicity is important to make sure systems can be easily coupled and integrated, but also in terms of changeability and maintenance. At software level simplicity is a key factor in comprehensibility, maintainability and the ability to find bugs or optimize the code.<br />
 <br />
Simplicity in IT architecture has many benefits. Simple systems are more comprehensible, easier to adjust and have lower maintenance cost. Because it is easier to find and understand the parts of the system that really matter.  But there are even more benefits, such as a better connection to business goals and functions and increased changeability of systems. It is also much easier to create a consistent IT infrastructure based on a simple architecture.</p>
<p>I think it is very strange that in many software quality systems, simplicity is hardly ever considered a systemic quality.  Sure, there are lots of systemic quality aspects related to it, such as understandability and analyzability. But in itself, we hardly see it recognized in quality systems. That is a shame. Simplicity must be a driving force and design goal in systems development and enterprise architecture. Simplicity has an enormous positive impact on cost, time to market and IT effectiveness and cannot be neglected.</p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="small" count="1" href="http://blog.xebia.com/2010/04/19/simplicity-is-not-just-a-virtue-it-is-a-systemic-quality/"></g:plusone></div><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.xebia.com%2F2010%2F04%2F19%2Fsimplicity-is-not-just-a-virtue-it-is-a-systemic-quality%2F&amp;title=Simplicity%20is%20not%20just%20a%20virtue%2C%20it%20is%20a%20systemic%20quality" id="wpa2a_4"><img src="http://blog.xebia.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.xebia.com/2010/04/19/simplicity-is-not-just-a-virtue-it-is-a-systemic-quality/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Proactive Quality Assurance</title>
		<link>http://blog.xebia.com/2007/07/18/proactive-quality-assurance/</link>
		<comments>http://blog.xebia.com/2007/07/18/proactive-quality-assurance/#comments</comments>
		<pubDate>Wed, 18 Jul 2007 06:42:05 +0000</pubDate>
		<dc:creator>Gerard Janssen</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Quality Assurance]]></category>

	<!-- AutoMeta Start -->
	<category>proactive</category>
	<category>formulated</category>
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://blog.xebia.com/2007/07/18/proactive-quality-assurance/</guid>
		<description><![CDATA[Quality assurance is too often used to just identify a lack of quality and to find deviations from the norm. This is logical in organizational cultures where responsibility is something to be managed carefully. However, wouldn&#8217;t it be better if QA would be supportive towards an overall strategic goal of improving quality? For this you [...]]]></description>
			<content:encoded><![CDATA[<p>Quality assurance is too often used to just identify a <strong>lack of quality</strong> and to find <strong>deviations </strong>from the norm. This is logical in organizational cultures where responsibility is something to be managed carefully. However, wouldn&#8217;t it be better if QA would be supportive towards an overall strategic goal of improving quality? For this you need a sense of shared responsibility across the organization and its processes. Then QA can work to start improving quality by improving processes, procedures and practices, making sure to prevent problems instead of identifying them. <strong>Taking responsibility instead of shifting it</strong>. That&#8217;s proactive QA.<br />
<span id="more-266"></span><br />
We all have our examples of exciting projects turned into nightmares. Creeping deadlines, tsunamis of defects, applications that fail to deploy or performance bottlenecks that just cannot be found. And always do these kind of situations occur at times when they are least welcome. Right before the project deadline, during the holiday season or when you had planned that nice weekend getaway. </p>
<p>A lot of effort is put into testing and verifying applications these days.  A number of <strong>formal testing</strong> methodologies have been formulated. A Dutch product for instance is TMAP. Sure it makes sense to define how you wish to approach your testing. However, one of my major gripes with approaches like that is they are very formal. And in the case of TMAP it approaches software development as a <strong>staged, waterfall process</strong>. In this process the testing department is a divine institution, detached from reality, whose prime purpose is to uncover defects in the product of &#8216;the others&#8217;. </p>
<p>In my opinion this approach is exemplary for a lot of testing departments out there. They are missing the point, two points actually. The first is that they do not acknowledge that <strong>testing must be part of the overall QA effort</strong> in an organization, not an isolated activity. On any project and any organization that takes software development seriously, a vision on how to approach the matter of QA is necessary. Testing is just a part of this. Having and overall vision we can ensure the money allocated for QA is spent wisely.<br />
The second missed point is that <strong>testing and QA can not and should not be detached from the development work</strong>. Doing so promotes a &#8216;we vs. them&#8217; culture where there is no sense of common responsibility. Ever been on a project where the testing team was doing nine to five and the developers 24&#215;7? Or even worse, I&#8217;ve seen projects where the testing team was sitting idle for months, waiting for something to test to come into their domain. What a waste!</p>
<p>Old school QA results in doing testing and QA detached from and after the actual creation process. All that can be done then is to discover and signal the flaws in the product. Which then need to be fixed. I call this <strong>reactive QA</strong>. There is no way QA can do anything substantial about a lack of quality, they just signal it. Others will then have to fix them. Adding another non-value adding creation stage.<br />
The contribution of reactive QA to the overall success and quality is limited. No structural process improvement occurs as a result of it. </p>
<p>It would be much better if QA would be employed proactively. If QA was <strong>working in cooperation</strong> with development or production teams to improve the product. From a process perspective the role of <strong>proactive QA</strong> can be formulated as: &#8220;assisting the production and development team to improve the process while it is being executed&#8221;. QA must in this scenario take an <strong>active, participatory role</strong>. QA and testing in particular cannot afford to be standing on the side observing and commenting on what is produced. Now they share in the responsibility for creating a great product. </p>
<p>There are two very low level examples of proactive QA that people familiar with Agile and Extreme Programming are already familiar with. Pair programming and Test Driven Design. <strong>Pair Programming</strong> is a form of QA where the QA agent sits with the programmers and together they formulate the best solution of the issues at hand. No separate code review is necessary, since two pairs of eyes are already looking at the code as it is being written.  </p>
<p>In <strong>Test Driven Development</strong> the application development is driven by pre-formulated and often automated test. The most prominent advantages here are the automated regression test are available even before the software has been shipped. Developers tend to pay more attention to the testability of their code and a better correlation with the functional and non-functional requirements to the code is hardly imaginable. </p>
<p>Another example of proactive QA that is not so much tied to software development is a <strong>Process Coach</strong>. At Xebia we have a number of people working with our clients as an agile coach. They help the client&#8217;s organization make the transition to working agile and to organize the people in agile teams. We have found that is of limited use and less effective to practice agile if the environment is not. Agile coaches help the people on the project to improve their way of working and their practices to become more agile and more effective. </p>
<p>In summary, proactive QA is a big change from conventional reactive QA. The role, competencies and responsibilities of QA people change dramatically. Implementing this can be challenging, since it requires a cultural change. The benefits are enormous.  The involvement of QA in the actual creation and their contribution to in process improvement does really improve quality when it matters: <strong>before errors are made</strong>. </p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="small" count="1" href="http://blog.xebia.com/2007/07/18/proactive-quality-assurance/"></g:plusone></div><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.xebia.com%2F2007%2F07%2F18%2Fproactive-quality-assurance%2F&amp;title=Proactive%20Quality%20Assurance" id="wpa2a_6"><img src="http://blog.xebia.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.xebia.com/2007/07/18/proactive-quality-assurance/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Team spirit and responsibility</title>
		<link>http://blog.xebia.com/2007/07/06/team-spirit-and-responsibility/</link>
		<comments>http://blog.xebia.com/2007/07/06/team-spirit-and-responsibility/#comments</comments>
		<pubDate>Fri, 06 Jul 2007 03:43:41 +0000</pubDate>
		<dc:creator>Gerard Janssen</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Project Management]]></category>

	<!-- AutoMeta Start -->
	<category>trust</category>
	<category>bring</category>
	<category>consultants</category>
	<category>goals</category>
	<category>agreements</category>
	<category>consultant</category>
	<category>reaching</category>
	<category>responsibility</category>
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://blog.xebia.com/2007/07/06/team-spirit-and-responsibility/</guid>
		<description><![CDATA[While working on projects or embedded with a customer you always work with other people. Having a good relationship with those around you is a must for being effective. If there is no trust, one cannot know whether the other party keeps his end of agreements made. Usually a natural sense of trust emerges when [...]]]></description>
			<content:encoded><![CDATA[<p>While working on projects or embedded with a customer you always work with other people. Having a good relationship with those around you is a must for being effective. If there is no trust, one cannot know whether the other party keeps his end of agreements made. Usually a natural sense of trust emerges when working with people. But what to think of those situations where you as a consultant are treated as an outsider who is not really part of the team and is considered way to expensive anyway?<br />
<span id="more-261"></span><br />
In my opinion this is really bad, not to say really stupid. When working together, you are not just a random collection of people moving (or not) around in the same building. Instead, you ought to be a team, a focused team working together on reaching shared goals. Being a team, having a shared focus is the only way to really accomplish something. When people are actively promoting that consultants are not part of the team, they are in effect saying that they do not trust them and that they do not consider them to be working towards the same goals. </p>
<p>Obviously we as consultants have more goals than to make the assignment a success and to get the job done. We have our own careers and the future of Xebia that are also important to us. But that does not mean that while we on the job were are not giving our 100% to reach the clients objectives! On the contrary, I personally have worked in many companies where external people displayed a much bigger passion and drive for their work than the internal people who had being sitting there for many years. (those poor people, will they ever make it to retirement, or will their precious little jobs be reorganized away before that?)</p>
<p>Hiring externals is not a bad thing. There are many excellent reasons for getting in people from the outside. They (we) can bring expertise and experience that is  not present in the organization. Consultants can fill up gaps and bring a fresh perspective, new knowledge etc. Having heterogeneous teams is a fact of life these days. Maybe in the early nineties it was still possible to have teams with only employees, nowadays the reality is that a lot op people like to work as a consultant and the labor market is so cramped up that you really need to bring in external staff to get the job done.</p>
<p>So how to deal with “us externals”? As I said before, having a team and sharing goals and visions is essential for effective cooperation. You need trust, confidence and respect. Being the lead architect of a company implies that you know who you teammates are, what they are capable of and most importantly that you can trust them. Real trust extends way beyond hoping that people hold their end of the bargain. It means relying on them, knowing that they will go beyond the agreed stuff that the will take responsibility for situations on which no agreements were made, but that do need action. That is who we are: we take action where we think it is needed for reaching our goals. So you better make sure that our goals are your goals. Make us part of the team! </p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="small" count="1" href="http://blog.xebia.com/2007/07/06/team-spirit-and-responsibility/"></g:plusone></div><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.xebia.com%2F2007%2F07%2F06%2Fteam-spirit-and-responsibility%2F&amp;title=Team%20spirit%20and%20responsibility" id="wpa2a_8"><img src="http://blog.xebia.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.xebia.com/2007/07/06/team-spirit-and-responsibility/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Reality is not plan based: change is a fact of life</title>
		<link>http://blog.xebia.com/2007/06/22/reality-is-not-plan-based-change-is-a-fact-of-live/</link>
		<comments>http://blog.xebia.com/2007/06/22/reality-is-not-plan-based-change-is-a-fact-of-live/#comments</comments>
		<pubDate>Fri, 22 Jun 2007 07:53:10 +0000</pubDate>
		<dc:creator>Gerard Janssen</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Project Management]]></category>

	<!-- AutoMeta Start -->
	<category>goals</category>
	<category>travel</category>
	<category>route</category>
	<category>influence</category>
	<category>plan</category>
	<category>mountain</category>
	<category>viability</category>
	<category>competitor</category>
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://blog.xebia.com/2007/06/22/reality-is-not-plan-based-change-is-a-fact-of-live/</guid>
		<description><![CDATA[The whole idea of executing a project is that you want to achieve something. A person or organization has goals that they want to achieve. A project is a way to coordinate the efforts towards achieving these goals. Ideally we set all of the goals before the start of the project, initiate the project and [...]]]></description>
			<content:encoded><![CDATA[<p>The whole idea of executing a project is that you want to achieve something. A person or organization has goals that they want to achieve. A project is a way to coordinate the efforts towards achieving these goals. Ideally we set all of the goals before the start of the project, initiate the project and let it run to fulfill the goals. This way we would never have to discuss or question why we do the things we do. However, things have a tendency to change, even the goals might change. The question is how we deal with that.<br />
<span id="more-257"></span><br />
<strong>understanding</strong><br />
There are many reasons to make a project plan. One of the most obvious is to gain a better understanding of the work that needs to be done to achieve the goals set for the project. So if you want to go from city A to city B, you plan a route to know which roads to travel on.<br />
Equally important, although often not made explicit, is the purpose to gain a better understanding of the project goals themselves. Although these are set at the start of the project, it is not always clear what their impact is exactly or how they should be fulfilled. While planning our trip, we find out that merely stating the names of the cities we travel between is not specific enough; we need to now the exact addresses in order to plan a complete and useful route. </p>
<p><strong>succes</strong><br />
The success of the project is measured against its goals, its objectives. This is one reason why it is important to properly understand the project goals. How often don&#8217;t we see projects or people finish something, just to realize (or be confronted to) that they did not deliver what was demanded. It is like reaching the top of a mountain after a long, difficult and dangerous climb, only to realize it was the wrong mountain you climbing all along.</p>
<p>As stated earlier, the goals are ideally set before the start of the project. This implies that the goals have their origin, their base, outside of the project itself. This does not mean that the project cannot influence its goals. Experiences and insights gained on the project can make us see and understand the goals of the project differently. </p>
<p>Project goals are not fixed. The objectives for a project ought to be the result of careful deliberation and weighing pros and cons. If the paradigm on which a goal was based change, this might change the validity of that goal. Looking at reasons for changes of goals, I think there are two main sources of change: external conditions, the environment, and lessons learned within the project, the internals. These two sources are discussed below</p>
<p><strong>external condition changes</strong><br />
During the course of a project, its environment is subject to change. These changes may be large or small and can have a big, minor of even no impact on the project. The arrival of a new competitor on the market might urge the organization to speed up the introduction of a new product, even at the expense of bigger investments. So this single event has impact on multiple goals of the project, time and money. More fundamentally it has had influence on the business case. If the new competitor would succeed in obtaining a substantial market share before the product would be released, it might become hard or next to impossible to get return on investment on the project. Thus, changes in the environment can lead to changes in the business case and to fundamental changes to project goals. In our previous example, while traveling from A to B, we might encounter a traffic jam and decide to take the alternative route to get to our destination. </p>
<p><strong>internal lessons learned</strong><br />
When we run a project, we gain additional insight in the viability of the project goals. There is a plan that specifies what needs to be done when at what cost. However, we might learn that a chosen technology is not suitable for what is was selected for, of does not yield the productivity promised. Or we might find that communication between certain parties involved is so difficult, that more time is needed to come to mutual acceptable solution. Both of these findings have impact on the viability of the project goals. If the project needs to be done by a set date, but the involved parties can&#8217;t seem to reach an agreement until late, it is not likely that original deadlines can be met.<br />
Or in our travel example, we might discover our car has gotten a flat tire which needs to be replaced before we can continue. This certainly has an impact on our itinerary. </p>
<p>We have seen that on a project there is a continual influence between the project plan, its goals, external changes and internal lessons learned. In most projects, even the prescriptive ones that are led in a deterministic way, the project plan changes as the project progresses. There is however a difference between accepting changes as a basic principle of project management and changing the plan only when forced to by the circumstances. The later approach is reactive, one that in essence sees change as bad and as something to be avoided. This often leads to suboptimal choices and in which circumstances are seen as things that need to be managed and are dealt with as risks. Alternatively circumstances can be seen as opportunities. If we accept change as a necessity to keep current with reality, we can actually use it to make sure we reach a reality based result. In the end, what really matters is getting there and adapting to change is part of that.</p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="small" count="1" href="http://blog.xebia.com/2007/06/22/reality-is-not-plan-based-change-is-a-fact-of-live/"></g:plusone></div><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.xebia.com%2F2007%2F06%2F22%2Freality-is-not-plan-based-change-is-a-fact-of-live%2F&amp;title=Reality%20is%20not%20plan%20based%3A%20change%20is%20a%20fact%20of%20life" id="wpa2a_10"><img src="http://blog.xebia.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.xebia.com/2007/06/22/reality-is-not-plan-based-change-is-a-fact-of-live/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reality is not plan based &#8211; Plans as a communication device</title>
		<link>http://blog.xebia.com/2007/06/11/reality-is-not-plan-based-plans-as-a-communication-device/</link>
		<comments>http://blog.xebia.com/2007/06/11/reality-is-not-plan-based-plans-as-a-communication-device/#comments</comments>
		<pubDate>Mon, 11 Jun 2007 04:27:40 +0000</pubDate>
		<dc:creator>Gerard Janssen</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Requirements Management]]></category>

	<!-- AutoMeta Start -->
	<category>vision</category>
	<category>plan</category>
	<category>feasibility</category>
	<category>criterion</category>
	<category>reality</category>
	<category>reflect</category>
	<category>passes</category>
	<category>actions</category>
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://blog.xebia.com/2007/06/11/reality-is-not-plan-based-plans-as-a-communication-device/</guid>
		<description><![CDATA[When it comes to the contents of plan there is a big difference between prescriptive and criterion based approaches. As we stated before the idea behind a plan is to provide guidance to the activities on the project. In that sense it is a sort of communication device. However, the way we use the plan [...]]]></description>
			<content:encoded><![CDATA[<p>When it comes to the contents of plan there is a big difference between prescriptive and criterion based approaches. As we stated before the idea behind  a plan is to provide guidance to the activities on the project. In that sense it is a sort of communication device. However, the way we use the plan determines its effectiveness. </p>
<p>A plan should describe how to realize the business case on which the project is based. In the criterion based approach to project management this means that the intention of the project is described, but not all activities on how to materialize the business case are specified. The essence of the plan is to explain or to translate the business case into practical guidelines and criteria on how realize the business case. Put differently, it specifies the high level requirements for the project that need to be met for the project to be deemed successful. Tom and Kai Gilb for instance like to state that approximately 10 high level requirements should be enough to give direction to a project. These requirements then are the criteria used to measure the progress and success of the project. </p>
<p><span id="more-236"></span><br />
<strong>the plan as a vision</strong><br />
In the criterion based approach the plan can be seen as a vision statement.<br />
It is used to convey and clarify the vision of business case and it is used to create a shared vision within the project team. The project team will then be organized around that vision. This makes managing the project a lot easier. Instead of managing people based on their actions and activities, the project manager has to guard the vision. He has to make sure the project team has the correct understanding of the vision and is acting in accordance with it. Project members that have a good understanding of the essence of the business case are able to organize themselves and to choose for themselves the appropriate actions. They do not need to be managed, they can be led.   </p>
<p><strong>communication is bi-directional</strong><br />
If we support the notion that a plan is really a way to communicate the vision and direction of the project, we also need to asses how to do this most effectively. Change is part of that.<br />
Communication is a two way thing, Especially on projects where people cooperate towards a shared goal.<br />
Then as the project is executed data is being generated that must be fed back into the plan. The feasibility of the goals becomes clearer as actions towards achieving them are undertaken. Assumption that are part of the vision are being tested and evaluated by the project team. Whether the project team will be able to achieve certain goals can only be determined in reality and cannot be deferred from the plan. This information must then be fed back into the planning process and in the plan itself. Thereby improving the quality and reliability of the plan. If we wish our plans to be based on reality, we must allow feedback from that reality to form the basis of the evolving plan. </p>
<p><strong>the plan as a status indicator</strong><br />
The plan should reflect the current status of the project. It should indicate what has been achieved thus far and what still needs to be done to reach the goals of the project. As times passes these things change. Progress is made and the feasibility of the unfinished work can be better assessed as time passes. Thus the project plan needs to be updated regularly to reflect the progress and the new insights. This also implies that really only the current status of the project plan is important. Yesterdays’ planning is no longer relevant today.<br />
For the historians on the project it will be interesting to see how the plan changed over time, but for the &#8220;present-based&#8221; population, only the current version of the plan reflects the reality on which future action and direction needs to based.  </p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="small" count="1" href="http://blog.xebia.com/2007/06/11/reality-is-not-plan-based-plans-as-a-communication-device/"></g:plusone></div><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.xebia.com%2F2007%2F06%2F11%2Freality-is-not-plan-based-plans-as-a-communication-device%2F&amp;title=Reality%20is%20not%20plan%20based%20%26%238211%3B%20Plans%20as%20a%20communication%20device" id="wpa2a_12"><img src="http://blog.xebia.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.xebia.com/2007/06/11/reality-is-not-plan-based-plans-as-a-communication-device/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reality is not plan based &#8211; why have a plan?</title>
		<link>http://blog.xebia.com/2007/05/15/reality-is-not-plan-based-why-have-a-plan/</link>
		<comments>http://blog.xebia.com/2007/05/15/reality-is-not-plan-based-why-have-a-plan/#comments</comments>
		<pubDate>Tue, 15 May 2007 05:39:43 +0000</pubDate>
		<dc:creator>Gerard Janssen</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Project Management]]></category>

	<!-- AutoMeta Start -->
	<category>plan</category>
	<category>plan</category>
	<category>vision</category>
	<category>approaches</category>
	<category>criterion</category>
	<category>intended</category>
	<category>reality</category>
	<category>prescriptive</category>
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://blog.xebia.com/2007/05/15/reality-is-not-plan-based-why-have-a-plan/</guid>
		<description><![CDATA[Planning is a major aspect of proper project management. Plans are used by project management to direct the project and to monitor if the project is progressing in the right direction. To run a project successfully, you need to have a plan that describes what needs to be done. Without at least an idea of [...]]]></description>
			<content:encoded><![CDATA[<p>Planning is a major aspect of proper project management. Plans are used by project management to direct the project and to monitor if the project is progressing in the right direction. To run a project successfully, you need to have a plan that describes what needs to be done. Without at least an idea of what needs to be done, it is impossible to determine if the project is successful. Hence we need a plan. However, there are many differences in the way that the project plan is used in different project management approaches. The status and role of the plan is not consistent across approaches, which can lead to miscommunication in project teams and to different views on how unexpected situations should be dealt with. </p>
<p><span id="more-229"></span></p>
<p>Central to this discussion is the matter of the &#8220;purpose of a plan&#8221;. As a working definition I use: &#8220;A plan is intended to give guidance to the activities executed as part of a project&#8221;. This is a rather generic description of a plans&#8217; purpose and is intended to be applicable to any kind of project management style. It is not the reason for making a plan that differentiates different project management styles, it is the intent of the plan and the way it is used to govern the project that is distinctive. </p>
<p>Many project management approaches use a plan to specify what actions need to be taken at what point in time and which deliverables are expected when. This is a prescriptive approach, which seeks to fix the steps and milestones of the project upfront. The appeal of this approach is that everyone knows upfront what to expect. For a manager it is very convenient, since he can manage against the plan and tell project team members what and when to deliver. Stick to the plan and you&#8217;ll be alright. </p>
<p>The alternative approach would be not to fix the deliverables, but to limit the plan to a project vision. This vision describes the goal of the project, the high level requirements that should be met and maybe some constraints on how the eventual solutions should be achieved. The project vision is then used during the project to guide decisions that need to be made. This is a criterion based approach.</p>
<p>Both of these approaches fulfill the need for the guidance a project plan is supposed to deliver. However, their implementation and applicability is very different. The prescriptive approach is useful when the activities that make up of the course of the project can indeed be predicted up front. This requires thorough knowledge of the project conditions, its problem domain and the optimal solution the project is expected to deliver. Furthermore effective management of the environment is of vital importance to prevent outside influences that might cause deviations from the project plan. The criterion based approach is useful in situations where there are a lot of uncertainties and no concrete solution can be defined up front. It requires that the people involved are able to continuously translate the project vision to the actual situation and to determine what actions contribute best to the optimal end solution. If the project members are not able to do this, this approach will not work. </p>
<p>In an environment that continually changes &#8211; and what environment does not &#8211; a plan should never be used as a rigid list of steps that needs to be executed. If this happens, the plan tends to become more important than the result it was intended to deliver. The criterion based approach admits that not everything can be predicted and controlled. This has consequences for the project plan and how it is used. As reality evolves, the plan should evolve with it. Where the project reality has a time aspect, so should the plan. Experience and lessons learned during the project should be integrated into the plan. Thus the plan keeps changing. Last months planning is not valid today, since today’s reality is not the same reality as the one last months planning was based upon. </p>
<p>As stated before, the purpose of a plan is to provide guidance. This can be accomplished in multiple ways. Different situations call for different approaches towards the plan. However, a plan should never become more important than the goal it was made for. A plan should be based on reality.</p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="small" count="1" href="http://blog.xebia.com/2007/05/15/reality-is-not-plan-based-why-have-a-plan/"></g:plusone></div><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.xebia.com%2F2007%2F05%2F15%2Freality-is-not-plan-based-why-have-a-plan%2F&amp;title=Reality%20is%20not%20plan%20based%20%26%238211%3B%20why%20have%20a%20plan%3F" id="wpa2a_14"><img src="http://blog.xebia.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.xebia.com/2007/05/15/reality-is-not-plan-based-why-have-a-plan/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Reality is not plan based</title>
		<link>http://blog.xebia.com/2007/05/08/reality-is-not-plan-based/</link>
		<comments>http://blog.xebia.com/2007/05/08/reality-is-not-plan-based/#comments</comments>
		<pubDate>Tue, 08 May 2007 05:30:06 +0000</pubDate>
		<dc:creator>Gerard Janssen</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Project Management]]></category>

	<!-- AutoMeta Start -->
	<category>plan</category>
	<category>affects</category>
	<category>unexpected</category>
	<category>reality</category>
	<category>role</category>
	<category>management</category>
	<category>constructive</category>
	<category>blossom</category>
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://blog.xebia.com/2007/05/08/reality-is-not-plan-based/</guid>
		<description><![CDATA[The role of the project plan is a hot item in the debate on Agile versus more conventional project management styles. The status or purpose of a plan for the execution of a project is pivotal and indicative for the style and atmosphere in which a project is executed. Personally I have a number resentments [...]]]></description>
			<content:encoded><![CDATA[<p>The role of the project plan is a hot item in the debate on Agile versus more conventional project management styles. The status or purpose of a plan for the execution of a project is pivotal and indicative for the style and atmosphere in which a project is executed. Personally I have a number resentments towards the way in which the plan is used in traditional led projects. The most important of which is that the plan is leading and everything should be done in accordance with the plan. If something is not in the plan it cannot and should not be done, and everything in the plan needs to be executed diligently. Deviations from the plan are bad and are seen as indicators for failure of the project.  </p>
<p>In a series of blog entries we will investigate the role of plans in a project management and try to find some answers on what the role of the plan should be, how the use of a plan affects the effectiveness of a project management approach and how it affects the way you deal with people. </p>
<p>As you can judge from the title, in my opinion one should not try to map the plan to the day to day reality of the project. Unexpected things will always occur and new insights will blossom. Project management must and should want to deal with that in the most constructive way, even if it was not part of the plan. The success of a project greatly depends on how one deals with unexpected events. Reality can be a real pain, especially if it does not stick to the plan.  </p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="small" count="1" href="http://blog.xebia.com/2007/05/08/reality-is-not-plan-based/"></g:plusone></div><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.xebia.com%2F2007%2F05%2F08%2Freality-is-not-plan-based%2F&amp;title=Reality%20is%20not%20plan%20based" id="wpa2a_16"><img src="http://blog.xebia.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.xebia.com/2007/05/08/reality-is-not-plan-based/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  blog.xebia.com/author/gjanssen/feed/ ) in 0.70020 seconds, on Feb 9th, 2012 at 4:15 pm UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on Feb 9th, 2012 at 5:15 pm UTC -->
