<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Software Creation Mystery &#187; Economics</title>
	<atom:link href="http://softwarecreation.org/category/economics/feed/" rel="self" type="application/rss+xml" />
	<link>http://softwarecreation.org</link>
	<description>What are the forces behind software development?</description>
	<lastBuildDate>Wed, 07 Jul 2010 04:34:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Can In-House Programming Compete With Outsourced Software Services?</title>
		<link>http://softwarecreation.org/2008/can-in-house-programming-compete-with-outsourced-software-services/</link>
		<comments>http://softwarecreation.org/2008/can-in-house-programming-compete-with-outsourced-software-services/#comments</comments>
		<pubDate>Wed, 06 Feb 2008 20:29:52 +0000</pubDate>
		<dc:creator>Andriy Solovey</dc:creator>
				<category><![CDATA[Concepts]]></category>
		<category><![CDATA[Economics]]></category>

		<guid isPermaLink="false">http://softwarecreation.org/2008/can-in-house-programming-compete-with-outsourced-software-services/</guid>
		<description><![CDATA[Share
Thought-provoking and interesting author Nicholas Carr has published a new article in Financial Times, where he expands on his ideas about transformation of IT services into utility. He compares IT with electric power generation 100 years ago:
Like data-processing today, power generation was assumed to be an intrinsic part of doing business. But with the invention [...]]]></description>
			<content:encoded><![CDATA[<div class='dd_post_share'><div class='dd_buttons'><div class='dd_button'><iframe src='http://api.tweetmeme.com/button.js?url=http://softwarecreation.org/2008/can-in-house-programming-compete-with-outsourced-software-services/&source=AndriySolovey&service=&service_api=&style=compact' height='20' width='90' frameborder='0' scrolling='no'></iframe></div><div class='dd_button'><a name='fb_share' type='button_count' share_url='http://softwarecreation.org/2008/can-in-house-programming-compete-with-outsourced-software-services/' href='http://www.facebook.com/sharer.php'>Share</a><script src='http://static.ak.fbcdn.net/connect.php/js/FB.Share' type='text/javascript'></script></div><div class='dd_button'><script src='http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://softwarecreation.org/2008/can-in-house-programming-compete-with-outsourced-software-services/'></script></div><div class='dd_button'><a title='Post on Google Buzz' class='google-buzz-button' href='http://www.google.com/buzz/post' data-button-style='small-count' data-url='http://softwarecreation.org/2008/can-in-house-programming-compete-with-outsourced-software-services/'></a><script type='text/javascript' src='http://www.google.com/buzz/api/button.js'></script></div><div class='dd_button'><iframe src='http://widgets.dzone.com/links/widgets/zoneit.html?url=http://softwarecreation.org/2008/can-in-house-programming-compete-with-outsourced-software-services/&amp;title=Can+In-House+Programming+Compete+With+Outsourced+Software+Services%3F&amp;t=2' height='18' width='120' frameborder='0' scrolling='no'></iframe></div></div></div><div style='clear:both'></div><p><img src="http://softwarecreation.org/images/2008/powergrid.jpg" /></p>
<p>Thought-provoking and interesting author Nicholas Carr has published <a href="http://www.ft.com/cms/s/0/49c55232-cda2-11dc-9e4e-000077b07658,dwp_uuid=4dce8136-4a24-11da-b8b1-0000779e2340.html?nclick_check=1">a new article</a> in Financial Times, where he expands on his ideas about transformation of IT services into utility. He compares IT with electric power generation 100 years ago:</p>
<blockquote><p>Like data-processing today, power generation was assumed to be an intrinsic part of doing business. But with the invention of the alternating-current electric grid at the turn of the century, that assumption was overturned.</p>
<p>Suddenly, manufacturers did not have to be in the power-generation business. They could run machines with electric current generated in distant power plants by big utilities and fed to their factories over a network of wires. With remarkable speed, the new utilities took over the supply of industrial power. Scores of private power stations were dismantled.</p></blockquote>
<p><span id="more-57"></span>Nicholas Carr applies the same pattern to the transformation of in-house IT services:</p>
<blockquote><p>One place where the changes will be particularly sweeping is the corporate IT department. As the capacity and capabilities of the computing grid expand, it will continue to displace private systems as the preferred platform for computing. Businesses will gain new flexibility in assembling computing services to perform customized information-processing jobs. They will no longer be constrained by the limits of their own data centres or the dictates of a few big IT vendors.</p></blockquote>
<p>He predicts unfortunate future for in-house IT:</p>
<blockquote><p> In the long run, the IT department is unlikely to survive, at least not in its familiar form.</p>
<p>It will have little to do once the bulk of business computing shifts into what Google’s CEO, Eric Schmidt, calls “the computing cloud”. Business units and even individual employees will be able to control the processing of information directly, without the need for legions of technical specialists.</p></blockquote>
<p>I don&#8217;t agree with comparison of power generation to software services. As far as I know, <a href="http://en.wikipedia.org/wiki/Electric_power">electric power</a> is the product of potential difference and the current. It differs only by watts.  Software services are much more complex, variable and diverse. And it gives a hope for survival of in-house IT contrary to Nicholas Carr predictions.</p>
<p>There are several factors that will help survival of in-house IT and especially in-house development teams:</p>
<ol>
<li><strong>Specialization.</strong> It is true, many computing services are similar or even identical in many companies: e-mails, word processing, CRM, etc. There is no point to reinvent the wheel, build such applications and even host them. Google or Salesforce.com can host them with one tenth of what it cost to a typical company. But each company has unique business, people and information processes. Software services, which are closer to the core business of the company, will have much higher degree of specialization. You&#8217;ll find much less software services specialized for chemical, publishing or brokerage companies and they are really expensive. And it will be very difficult to find the combination of external services which completely matches company needs.</li>
<li><strong>Integration.</strong> Many computer services are not homogeneous, have incompatible interfaces and couldn&#8217;t be integrated easily. They process, represent and interpret information differently. As many programmers know, creation of generic reusable services requires much more effort than creation of narrowly focused for specific use services. Often generic services are complex and still require effort to adopt and integrate into company IT processes. Therefore, &#8220;assembling computing services to perform customized information-processing jobs&#8221; will be really challenging job.</li>
<li><strong>Competitive advantage</strong>. For many companies IT processes and services lie at the heart of their business.  They are very important for beign effective, profitable and outstanding. Wal Mart, Fedex, Dell, Amazon and other companies built success on proprietary information systems. Outsourcing of traditional IT services will take away benefits of custom tailored information processing.</li>
<li><strong>Adaptation</strong>. Any business evolves and frequently changes. Relying on outsourced computing services will make company less flexible and responsive to the external and internal changes.</li>
<li><strong>Knowledge</strong>. Finally, somebody should understand how to apply, use and tune technology for the particular company&#8217;s business. People who understand both business and IT will be still needed in-house. Developers who know how to build and integrate effective software solutions will be in demand.</li>
</ol>
<p>In overall, Nicholas Carr correctly predicts the trend &#8211; more and more software services will be outsourced and become utility, especially for smaller companies. How could in-house teams or software companies stay competitive to the big providers of computer services?</p>
<p>I believe they should follow two strategies:</p>
<ol>
<li>Become more effective in translation of business needs, building software systems and integrating outside computer services. Master agile approaches with short feedback cycles, stay lean and avoid over-engineering. Build software that satisfy business needs and easy to use with minimal time and cost.</li>
<li>Become technology partners for business (including every developer), understand core business domain and how software could help for the company success. Build software that amplify business capabilities and make company more effective.</li>
</ol>
<p>Link:<br />
<a href="http://www.ft.com/cms/s/0/49c55232-cda2-11dc-9e4e-000077b07658,dwp_uuid=4dce8136-4a24-11da-b8b1-0000779e2340.html?nclick_check=1"> A revolution is taking shape</a>, Nicholas Carr</p>
<p>You can find more in Nicholas books: <a href="http://www.amazon.com/gp/product/0393062287?ie=UTF8&amp;tag=softwcreatmys-20&amp;linkCode=xm2&amp;camp=1789&amp;creativeASIN=0393062287">The Big Switch</a> and <a href="http://www.amazon.com/gp/product/1591394449?ie=UTF8&amp;tag=softwcreatmys-20&amp;linkCode=xm2&amp;camp=1789&amp;creativeASIN=1591394449">Does IT Matter? </a></p>
<!-- Social Buttons Shared Counts Generated by Digg Digg plugin v4.0.9, 
    Author : Yong Mook Kim
    Website : http://www.mkyong.com/blog/digg-digg-wordpress-plugin/ --><img src="http://softwarecreation.org/?ak_action=api_record_view&id=57&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://softwarecreation.org/2008/can-in-house-programming-compete-with-outsourced-software-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fair Compensation for Programmers. Is it possible?</title>
		<link>http://softwarecreation.org/2007/fair-compensation-for-programmers-is-it-possible/</link>
		<comments>http://softwarecreation.org/2007/fair-compensation-for-programmers-is-it-possible/#comments</comments>
		<pubDate>Mon, 20 Aug 2007 02:33:47 +0000</pubDate>
		<dc:creator>Andriy Solovey</dc:creator>
				<category><![CDATA[Economics]]></category>
		<category><![CDATA[Management]]></category>

		<guid isPermaLink="false">http://softwarecreation.org/2007/fair-compensation-for-programmers-is-it-possible/</guid>
		<description><![CDATA[Share

Programmer&#8217;s Side
Programmers in the software team work well together, trust and support each other. But they don&#8217;t talk about their salaries &#8211; the most important reason why they work for the company. It is taboo. Tell them that one of their fellow programmers earn 50% more than others. You&#8217;ll see smiles disappear, people don&#8217;t look [...]]]></description>
			<content:encoded><![CDATA[<div class='dd_post_share'><div class='dd_buttons'><div class='dd_button'><iframe src='http://api.tweetmeme.com/button.js?url=http://softwarecreation.org/2007/fair-compensation-for-programmers-is-it-possible/&source=AndriySolovey&service=&service_api=&style=compact' height='20' width='90' frameborder='0' scrolling='no'></iframe></div><div class='dd_button'><a name='fb_share' type='button_count' share_url='http://softwarecreation.org/2007/fair-compensation-for-programmers-is-it-possible/' href='http://www.facebook.com/sharer.php'>Share</a><script src='http://static.ak.fbcdn.net/connect.php/js/FB.Share' type='text/javascript'></script></div><div class='dd_button'><script src='http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://softwarecreation.org/2007/fair-compensation-for-programmers-is-it-possible/'></script></div><div class='dd_button'><a title='Post on Google Buzz' class='google-buzz-button' href='http://www.google.com/buzz/post' data-button-style='small-count' data-url='http://softwarecreation.org/2007/fair-compensation-for-programmers-is-it-possible/'></a><script type='text/javascript' src='http://www.google.com/buzz/api/button.js'></script></div><div class='dd_button'><iframe src='http://widgets.dzone.com/links/widgets/zoneit.html?url=http://softwarecreation.org/2007/fair-compensation-for-programmers-is-it-possible/&amp;title=+Fair+Compensation+for+Programmers.+Is+it+possible%3F&amp;t=2' height='18' width='120' frameborder='0' scrolling='no'></iframe></div></div></div><div style='clear:both'></div><h1></h1>
<p><img src="http://softwarecreation.org/images/2007/team-spirit.jpg" /></p>
<h3>Programmer&#8217;s Side</h3>
<p>Programmers in the software team work well together, trust and support each other. But they don&#8217;t talk about their salaries &#8211; the most important reason why they work for the company. It is taboo. Tell them that one of their fellow programmers earn 50% more than others. You&#8217;ll see smiles disappear, people don&#8217;t look at each other and become silent. They will rebound, but these things leave scars on team morale and cohesiveness. Feel of unfairness is not the best companion in the software development.</p>
<p>But why does compensation is so important and sensitive for us?</p>
<ul>
<li><span style="font-weight: bold">We work to live.</span> We spend more than half of our conscious adult life earning money on work. We need money to live. Money enable for us almost everything material in this world. Any non-material incentives cannot compensate insufficient money income.</li>
<li><span style="font-weight: bold">Money are social status.</span> The better compensation means you worth more and more attractive from social and even biological perspective. People strive for relative prosperity. They <a href="http://softwarecreation.org/2007/testosterone-irrational-choices-and-programmers/" title="could accept less" id="g3qz">could accept less</a> themselves than see a rival get more.</li>
</ul>
<p><span id="more-30"></span></p>
<h3>Company&#8217;s Side</h3>
<p>The software company is interested in the best productivity, high quality and most optimal software solutions. That usually translates into lower cost, higher profit and happier customers.<br />
How a company can make it possible? People are the most important factor to achieve these goals. Company just need to</p>
<ul>
<li><span style="font-weight: bold">Keep programmers motivated, interested and satisfied.</span> Programmers will be happy if they perceive compensation as fair, work as interesting and environment as comfortable.</li>
<li><span style="font-weight: bold">Reward desired behavior for the company success</span> &#8211; accountability, creativity, intelligence, self-discipline, learning and may other useful qualities. Compensation should link these qualities to the individual, team and company performance.</li>
<li><span style="font-weight: bold">Attract and retain the best contributors and talents.</span> Programmers should have opportunities for earning more for better contribution. Many of them possess entrepreneurial spirit and stiff salary ranges and limits for growth can make them leave.</li>
</ul>
<p>What is the best way for the company to approach compensation and support these goals?</p>
<h3>Compensation Challenges</h3>
<p>A company should solve few challenges in order to build an effective compensation system.</p>
<ul>
<li>How can the company objectively evaluate individual accountability, creativity, intelligence, self-discipline, learning capabilities, experience, influence, coaching, attentiveness to details, vision, strategic thinking, cooperation, enthusiasm, work ethic, quality, speed, thoughtfulness, inspiring and motivation of other people and many other qualities? What of them are most important for the company success?</li>
<li>How can compensation encourage collaboration, cement relations and avoid competition between team members?</li>
<li>How to get great team productivity results, without negative impact on other teams and without sacrificing long-term perspective?</li>
<li>Finally, what compensation system will be perceived as fair?</li>
</ul>
<p>Considerations:</p>
<ol>
<li><span style="font-weight: bold">Objective behavior evaluation is not possible</span>. How can evaluation account for the huge number of behavior variables? It is almost impossible. In addition, some people traits play well only if they are complimented by other people traits: visionary needs detail oriented performer, creative person needs pragmatic opponent, innovator needs patient adapter. That is why all traditional evaluations will never give true picture of contribution and certainly will miss important points.</li>
<li><span style="font-weight: bold">Fairness is in transparent and equal criteria</span>. There are different types of criteria possible: years worked in company, level of education and even produced lines of code :). However these criteria don&#8217;t guarantee desired results.</li>
<li><span style="font-weight: bold">The most effective economic criteria &#8211; profit</span>. The most effective and simple criteria is found on the market where company operates &#8211; profit. It is a bottom line and result of the whole company activity. This is a reason why company hires employees and their compensation should reflect company economic results.</li>
<li><span style="font-weight: bold">Collaborate inside.</span> Free market promote competition which could easily reach all levels in the company. Competition is good in a healthy dose, but too much can damage cooperative nature of the software development inside teams. Also competition between teams and business units is damaging too as it could cause suboptimal decision on the company level.</li>
<li><span style="font-weight: bold">Compete outside</span>. The solution is to make people compete with the same competitors as the whole company facing on market. Link compensation to the whole company economic performance. <a href="http://www.poppendieck.com/measureup.htm" title="Measure Up" id="ml68">Measure Up</a>.</li>
</ol>
<h3>Fair Compensation System</h3>
<p>There is a wide range of existing compensation systems:</p>
<ol>
<li><span style="font-weight: bold">Closed vs. Open</span>. <a href="http://positivesharing.com/2006/08/why-secret-salaries-are-a-baaaaaad-idea/" title="Opens salaries" id="dul8">Opens salaries</a> will force compensation system to become fair. Secrecy is damaging and corrupting. Open salaries should eliminate personal bias, favoritism and undeserved power from management. People with higher salaries will feel pressure to justify them and show their best performance; otherwise their status will be questioned.</li>
<li><span style="font-weight: bold">Fixed vs. Performance based</span>. Fixed rates promote inefficiency and detachment from the company results. People should have direct dependency between results of their work and the company performance.</li>
<li><span style="font-weight: bold">Driven by management or teams</span>. Team members are in the much better position to determine most valuable contributors and &#8216;free riders&#8217;. Managers don&#8217;t have this insight into each team member work. They are not the best people to decide on individual contribution and compensation.</li>
<li><span style="font-weight: bold">Equal salary for levels vs. Individual negotiations</span>. While individual negotiations are more flexible, they could promote bargaining and lack of transparency. People should be more concerned about performance of the team and company and less about individual negotiations. Some compensation parameters could be negotiable, but they should stay within baseline for the same contribution level.</li>
<li><span style="font-weight: bold">Non-money incentives and free perks</span>. They are nice, but not important for all as oppose to compensation packages.</li>
</ol>
<p>There is no one approach that works for all, but 3 approaches below could increase efficiency of the compensation system. Additional note: effective software team includes all contributors &#8211; business experts, designers, programmers, testers, system administrators, etc.</p>
<ol>
<li><span style="font-weight: bold">Compensation Composition.</span> A company should be flexible in packaging compensation. Some people expect secure and stable income, some are willing to work harder and risk for opportunity to earn more. Use mutual funds approach &#8211; allow custom packages (Stability, Income, Growth) with various components. They could include base salary, profit sharing (both depending on teams) and monetary options (partly covered by the company): training, health insurance, pension plans, vacation, stocks, equipment, car expenses, etc.</li>
<li><span style="font-weight: bold">Team Contributors.</span> Team should have minimal number of contributor&#8217;s levels: Junior, Full and Senior Contributors. Most people in the team should be Full Contributors and only outstanding members should be Senior Contributors. Each level has fixed ratio of income (e.g. Full Contributor &#8211; 25% and Senior &#8211; 50% of Junior compensation). The same level makes roughly the same money (depending on packaging). The team makes decision about moving person from one level to another or removing from team at all.</li>
<li><span style="font-weight: bold">Company input.</span> Company provides initial number of roles, budget and profit share structure. Team contribution is measured based on the profit or other criteria if the company on early market expansion (number of users / traffic, share in cost reduction, etc.). Each team receives part of the profit from their activity. Other part comes from the company pool (formed from remaining profit of other teams). Therefore, teams are interested in both their and overall company performance. Product teams have larger share of their profit, infrastructure teams have larger share from the company pool.</li>
</ol>
<p><img src="http://softwarecreation.org/images/2007/compensation-contribution.jpg" /><br />
<br style="font-weight: bold" /><span style="font-weight: bold">Fixed secretive compensation turn a team into strangers or even rivals, concerned only about individual achievements . Open fair and performance-based compensation motivates, retains and attracts programmers eager to create great, useful and profitable software.<br />
</span></p>
<p><span style="font-style: italic">Interesting resources:</span></p>
<ul>
<li><a href="http://www.poppendieck.com/pdfs/Compensation.pdf" title="Unjust Deserts" id="zu0q">Unjust Deserts</a>, Mary Poppendieck</li>
<li><a href="http://www.poppendieck.com/measureup.htm" title="Measure Up" id="r7xe">Measure Up</a>, Mary Poppendieck</li>
<li><a href="http://tech.groups.yahoo.com/group/extremeprogramming/messages/133774?threaded=1&amp;m=e&amp;var=1&amp;tidx=1" title="Extreme Programming Group discussion" id="xx5x">Extreme Programming Group discussion</a></li>
<li><a href="http://positivesharing.com/2006/08/why-secret-salaries-are-a-baaaaaad-idea/" title="Why secret salaries are a baaaaaad idea" id="dfu2">Why secret salaries are a baaaaaad idea</a>, Alexander Kjerulf</li>
<li><a href="http://www.joelonsoftware.com/articles/fog0000000038.html" title="Fog Creek Compensation" id="hsfy">Fog Creek Compensation</a>, Joel Spolsky</li>
<li><a href="http://www.accel-team.com/motivation/employeeRewards_00.html" title="Employee Rewards" id="n4s8">Employee Rewards</a>, Accel Team</li>
</ul>
<!-- Social Buttons Shared Counts Generated by Digg Digg plugin v4.0.9, 
    Author : Yong Mook Kim
    Website : http://www.mkyong.com/blog/digg-digg-wordpress-plugin/ --><img src="http://softwarecreation.org/?ak_action=api_record_view&id=30&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://softwarecreation.org/2007/fair-compensation-for-programmers-is-it-possible/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What IT will do without oil?</title>
		<link>http://softwarecreation.org/2007/what-it-will-do-without-oil/</link>
		<comments>http://softwarecreation.org/2007/what-it-will-do-without-oil/#comments</comments>
		<pubDate>Fri, 20 Jul 2007 16:58:28 +0000</pubDate>
		<dc:creator>Andriy Solovey</dc:creator>
				<category><![CDATA[Economics]]></category>
		<category><![CDATA[World]]></category>

		<guid isPermaLink="false">http://softwarecreation.org/2007/what-it-will-do-without-oil/</guid>
		<description><![CDATA[ShareSoftware Creation is very dependent on oil. Our computers, keyboards and printers are made from plastic. Our cars use gasoline to get us to work. Furthermore, almost everything in our modern civilization depends on oil. Global oil production will peak any time from now. Will end of oil cause crash of our civilization? I was [...]]]></description>
			<content:encoded><![CDATA[<div class='dd_post_share'><div class='dd_buttons'><div class='dd_button'><iframe src='http://api.tweetmeme.com/button.js?url=http://softwarecreation.org/2007/what-it-will-do-without-oil/&source=AndriySolovey&service=&service_api=&style=compact' height='20' width='90' frameborder='0' scrolling='no'></iframe></div><div class='dd_button'><a name='fb_share' type='button_count' share_url='http://softwarecreation.org/2007/what-it-will-do-without-oil/' href='http://www.facebook.com/sharer.php'>Share</a><script src='http://static.ak.fbcdn.net/connect.php/js/FB.Share' type='text/javascript'></script></div><div class='dd_button'><script src='http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://softwarecreation.org/2007/what-it-will-do-without-oil/'></script></div><div class='dd_button'><a title='Post on Google Buzz' class='google-buzz-button' href='http://www.google.com/buzz/post' data-button-style='small-count' data-url='http://softwarecreation.org/2007/what-it-will-do-without-oil/'></a><script type='text/javascript' src='http://www.google.com/buzz/api/button.js'></script></div><div class='dd_button'><iframe src='http://widgets.dzone.com/links/widgets/zoneit.html?url=http://softwarecreation.org/2007/what-it-will-do-without-oil/&amp;title=What+IT+will+do+without+oil%3F&amp;t=2' height='18' width='120' frameborder='0' scrolling='no'></iframe></div></div></div><div style='clear:both'></div><p>Software Creation is very dependent on oil. Our computers, keyboards and printers are made from plastic. Our cars use gasoline to get us to work. Furthermore, almost everything in our modern civilization depends on oil. Global oil production will <a href="http://en.wikipedia.org/wiki/Peak_oil" title="peak any time from now">peak any time from now</a>. Will end of oil cause <a href="http://www.lifeaftertheoilcrash.net/" title="crash of our civilization">crash of our civilization</a>? I was always worry about this :)<br />
<a href="http://environment.newscientist.com/channel/earth/mg19526111.500-biorefineries-curing-our-addiction-to-oil.html" title="New Scientist">New Scientist</a> assures that governments, technology and biology will rescue our civilization.</p>
<ul>
<li>70% of oil is used for fuel; petrochemicals are only 3.4%. Technology, government regulations and social trends are actively <a href="http://en.wikipedia.org/wiki/Energy_conservation#Transportation_sector" title="influence reduction">influence reduction</a> of oil usage for energy and fuel. Sweden, for example, plans to be independent of oil exports by 2020, using no oil for heating and halving its transport fuel consumption.</li>
<li>The new breed of biorefineries is using biomass to produce <span class="misspell" suggestions="bio fuels,bio-fuels,befouls,boules,fuels">biofuels</span> and bio-based chemical products. The biomass could be supplied by anything from corn, sugar cane, grasses, wood and soybeans to algae. For example one company is converting turkey guts into oil and fertilizer. By 2025, the US Department of Energy wants 25% of industrial organic chemicals to be delivered from biomass. There are already 120 ethanol refineries in US.</li>
<li>Biorefineries are more profitable at smaller scales than conventional petrochemical refineries, because they operate at lower temperature and pressure, so they are less complicated to build. However, it is still difficult to compete with some oil-based products.</li>
</ul>
<p>Therefore, life will continue after oil is over. Proactive thinking, society and government involvement could significantly reduce impact, especially considering that solutions correspond with fighting <a href="http://en.wikipedia.org/wiki/Global_warming" title="global warming">global warming</a>.</p>
<!-- Social Buttons Shared Counts Generated by Digg Digg plugin v4.0.9, 
    Author : Yong Mook Kim
    Website : http://www.mkyong.com/blog/digg-digg-wordpress-plugin/ --><img src="http://softwarecreation.org/?ak_action=api_record_view&id=20&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://softwarecreation.org/2007/what-it-will-do-without-oil/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IT-Business Gap Widens. Is this a problem?</title>
		<link>http://softwarecreation.org/2007/it-business-gap-widens-is-this-a-problem/</link>
		<comments>http://softwarecreation.org/2007/it-business-gap-widens-is-this-a-problem/#comments</comments>
		<pubDate>Wed, 18 Jul 2007 02:43:51 +0000</pubDate>
		<dc:creator>Andriy Solovey</dc:creator>
				<category><![CDATA[Economics]]></category>

		<guid isPermaLink="false">http://softwarecreation.org/2007/it-business-gap-widens-is-this-a-problem/</guid>
		<description><![CDATA[ShareDisconnect between business and IT is increasing and could signal serious change how enterprise technology is run, reports IT World Canada. Michael O’Neil from Info-Tech Research Group thinks that the future of the IT professional no longer lies in acting as an important support system or innovative visionary but as a “utility.” The role where [...]]]></description>
			<content:encoded><![CDATA[<div class='dd_post_share'><div class='dd_buttons'><div class='dd_button'><iframe src='http://api.tweetmeme.com/button.js?url=http://softwarecreation.org/2007/it-business-gap-widens-is-this-a-problem/&source=AndriySolovey&service=&service_api=&style=compact' height='20' width='90' frameborder='0' scrolling='no'></iframe></div><div class='dd_button'><a name='fb_share' type='button_count' share_url='http://softwarecreation.org/2007/it-business-gap-widens-is-this-a-problem/' href='http://www.facebook.com/sharer.php'>Share</a><script src='http://static.ak.fbcdn.net/connect.php/js/FB.Share' type='text/javascript'></script></div><div class='dd_button'><script src='http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://softwarecreation.org/2007/it-business-gap-widens-is-this-a-problem/'></script></div><div class='dd_button'><a title='Post on Google Buzz' class='google-buzz-button' href='http://www.google.com/buzz/post' data-button-style='small-count' data-url='http://softwarecreation.org/2007/it-business-gap-widens-is-this-a-problem/'></a><script type='text/javascript' src='http://www.google.com/buzz/api/button.js'></script></div><div class='dd_button'><iframe src='http://widgets.dzone.com/links/widgets/zoneit.html?url=http://softwarecreation.org/2007/it-business-gap-widens-is-this-a-problem/&amp;title=+IT-Business+Gap+Widens.+Is+this+a+problem%3F&amp;t=2' height='18' width='120' frameborder='0' scrolling='no'></iframe></div></div></div><div style='clear:both'></div><p>Disconnect between business and IT is increasing and could signal serious change how enterprise technology is run, reports <a href="http://www.itworldcanada.com/Pages/Docbase/ViewArticle.aspx?id=idgml-3be39e3b-82dd-4bcb&amp;Portal=1fa35bf9-d296-4571-8fff-c665a851ec1d&amp;sub=213371" title="IT World Canada">IT World Canada</a>. Michael O’Neil from Info-Tech Research Group thinks that the future of the IT professional no longer lies in acting as an important support system or innovative visionary but as a “utility.” The role where IT functions as a discrete, advisory body will disappear while the majority of IT professionals are assimilated into areas pertaining to business processes and strategy.<br />
There is also an <a href="http://www.infoq.com/news/2007/07/IT_Business_Gap" title="interesting discussion">interesting discussion</a> on <span class="misspell" suggestions="Info,Inflow,Inf,Infix,Info's">InfoQ</span> if Agile can rescue this widening gap.</p>
<p><span style="font-weight: bold">Comments:</span> I don&#8217;t think IT should be rescued. The narrow specialization of IT and Software Development professionals and their remoteness from the problem domain and decisions are the serious problems in software creation. I consider disappearance of specialized IT services and departments as a good trend. I hope that combination with another trend &#8211; disappearance of centralized and hierarchical corporations &#8211; will produce powerful cumulative effect. The companies will become conglomerates of small cross-functional and diverse teams, empowered to make most decisions. Programmers will have deep domain expertise in addition to specialized knowledge how to build programs. Benefits are better decision making, market response and people motivation.  See my post <a href="http://softwarecreation.org/2007/the-ideal-software-company-utopia/" title="The Ideal Software Company">The Ideal Software Company</a>.</p>
<!-- Social Buttons Shared Counts Generated by Digg Digg plugin v4.0.9, 
    Author : Yong Mook Kim
    Website : http://www.mkyong.com/blog/digg-digg-wordpress-plugin/ --><img src="http://softwarecreation.org/?ak_action=api_record_view&id=19&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://softwarecreation.org/2007/it-business-gap-widens-is-this-a-problem/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Ideal Software Company. Utopia?</title>
		<link>http://softwarecreation.org/2007/the-ideal-software-company-utopia/</link>
		<comments>http://softwarecreation.org/2007/the-ideal-software-company-utopia/#comments</comments>
		<pubDate>Wed, 11 Jul 2007 03:12:06 +0000</pubDate>
		<dc:creator>Andriy Solovey</dc:creator>
				<category><![CDATA[Economics]]></category>
		<category><![CDATA[Management]]></category>

		<guid isPermaLink="false">http://softwarecreation.org/2007/the-ideal-software-company-utopia/</guid>
		<description><![CDATA[Share If you want to build a ship, don&#8217;t herd people together to collect wood and don&#8217;t assign them tasks and work, but rather teach them to long for the endless immensity of the sea. &#8211; Antoine de Saint-Exupery


I have a dream about a company that always makes users happy. The company that quickly builds [...]]]></description>
			<content:encoded><![CDATA[<div class='dd_post_share'><div class='dd_buttons'><div class='dd_button'><iframe src='http://api.tweetmeme.com/button.js?url=http://softwarecreation.org/2007/the-ideal-software-company-utopia/&source=AndriySolovey&service=&service_api=&style=compact' height='20' width='90' frameborder='0' scrolling='no'></iframe></div><div class='dd_button'><a name='fb_share' type='button_count' share_url='http://softwarecreation.org/2007/the-ideal-software-company-utopia/' href='http://www.facebook.com/sharer.php'>Share</a><script src='http://static.ak.fbcdn.net/connect.php/js/FB.Share' type='text/javascript'></script></div><div class='dd_button'><script src='http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://softwarecreation.org/2007/the-ideal-software-company-utopia/'></script></div><div class='dd_button'><a title='Post on Google Buzz' class='google-buzz-button' href='http://www.google.com/buzz/post' data-button-style='small-count' data-url='http://softwarecreation.org/2007/the-ideal-software-company-utopia/'></a><script type='text/javascript' src='http://www.google.com/buzz/api/button.js'></script></div><div class='dd_button'><iframe src='http://widgets.dzone.com/links/widgets/zoneit.html?url=http://softwarecreation.org/2007/the-ideal-software-company-utopia/&amp;title=+The+Ideal+Software+Company.+Utopia%3F&amp;t=2' height='18' width='120' frameborder='0' scrolling='no'></iframe></div></div></div><div style='clear:both'></div><p class="right"> <cite>If you want to build a ship, don&#8217;t herd people together to collect wood and don&#8217;t assign them tasks and work, but rather teach them to long for the endless immensity of the sea.</cite><strong> &#8211; Antoine de Saint-Exupery</strong></p>
<p><br class="clear" /><br />
<img src="http://softwarecreation.org/images/2007/utopia.jpg" alt="Utopia" /></p>
<p>I have a dream about a company that always makes users happy. The company that quickly builds high quality, simple and usable software that fully meets user needs. The company that reacts rapidly on customer demands, anticipates new needs and immediately use these opportunities. The company where people are happy, motivated and could realize their potential, dreams and life goals. The company that is successful on market and in the hearts of users, investors and employees. The Ideal Software Company.</p>
<h3>   The Barriers</h3>
<p>What are the main problems with building software? What are contributing factors to these problem? What prevents many existing software companies from being ideal?</p>
<ol>
<li>     <span style="font-weight: bold">Unclear, incomplete or misinterpreted user     needs.</span> The software programs often don&#8217;t solve needs on adequate     level, have bad usability and contain many unused features.</li>
<li>     <span style="font-weight: bold">Difficulty to estimate required     effort</span>. Missed deadlines, doomed schedules and budget overruns are     <a href="http://www.sdtimes.com/article/story-20070301-01.html" title="the common deceases">the     common deceases</a> in software development.</li>
<li>     <span style="font-weight: bold">Inability to adopt to changes</span>. Often it is even impossible to estimate effort at the beginning as many things are changing during the course of the project: customer needs, performance requirements, business context. But for many software companies these changes still bring chaos to their projects.</li>
<li>     <span style="font-weight: bold">Poor, rigid or low quality solutions.</span> Implementation defines project success. Talent, experience or knowledge are necessary to build good solutions, and they are often missing in the project teams.</li>
</ol>
<h4>The main reasons for these problems</h4>
<ol>
<li>     <span style="font-weight: bold">Top-down decisions</span> &#8211; only few people     make decisions with limited information, lack of feedback and independent     information</li>
<li>     <span style="font-weight: bold">Poor aggregation</span> of information from     different sources</li>
<li>     <span style="font-weight: bold">Lack of diversity</span>: homogeneous groups that are responsible for only specific aspect of the project (requirements, design, programming, etc.)</li>
<li>     <span style="font-weight: bold">Lack of accountability</span> for the end     results, mismatch in company and personal employees goals, politics and     suboptimal decisions.</li>
<li>     <span style="font-weight: bold">Low motivation and morale</span> &#8211; minimal control over decisions, poor     relation of incentives and payout to contribution into the company success.</li>
<li>     <span style="font-weight: bold">Centralization</span> &#8211; authoritative control causes inflexibility, lack of independence and adaptability; missing local tacit knowledge in decision making.</li>
</ol>
<p>James Surowiecki in his book <a href="/2007/review-the-wisdom-of-crowds-making-the-best-decisions/" title="The Wisdom of Crowds">The Wisdom of Crowds</a> clearly shows that traditional top-down companies are inefficient in making the best decisions.</p>
<h3>   The Ideal Software Company</h3>
<h4>A. Company organization</h4>
<ol>
<li>     <span style="font-weight: bold">Powerful teams</span> &#8211; the company represents a conglomerate of powerful teams. Projects teams are small, diverse and empowered to make most project decisions.</li>
<li>     <a href="http://en.wikipedia.org/wiki/Egolessness" style="font-weight: bold" title="egoless">Egoless</a><span style="font-weight: bold">     management</span> &#8211; management carry mostly support, coordination and representation functions. Leadership is moved to the teams level. Top management is a consulting body, which includes highly skilled professionals in finances, technology, sales, etc.</li>
<li>     <span style="font-weight: bold">Shared and competing infrastructure</span> &#8211; company infrastructure could include services as hosting, customer support, recruitment or distribution. These in-house services are shared and compete with outside providers.</li>
</ol>
<p><span id="more-13"></span></p>
<h4>B. User needs, product and feature ideas</h4>
<ol>
<li>     <span style="font-weight: bold">Generate many alternatives</span> &#8211; the     company uses diverse sources (internal, user community, paid analysts and     experts, etc.) for ideas generation</li>
<li>     <span style="font-weight: bold">Predict most successful ideas</span> &#8211;     the company establishes     <a href="http://en.wikipedia.org/wiki/Prediction_market" title="prediction markets">prediction     markets</a> for deciding forecasting most successful ideas with large group of participants &#8211; customers, user community, domain experts, managers, designers, and developers. They make independent guesses based on their private knowledge.</li>
<li>     <span style="font-weight: bold">Select the best ideas</span> &#8211; any team could     use this information to sign up for implementation of the product or feature     ideas.</li>
</ol>
<h4>C. Team is a business unit</h4>
<ol>
<li>     <span style="font-weight: bold">Full responsibility</span> &#8211; a team is ultimately responsible for all decisions and end-results. The team selects product ideas, come up with solutions an implements them.</li>
<li>     <span style="font-weight: bold">Diverse teams</span> &#8211; teams are diverse, self-sufficient and include people with different background, areas of expertise: marketing, domain experts, UI designers, developers, system administrators, testers, customers and community representatives.</li>
<li>     <span style="font-weight: bold">Organic composition</span> &#8211; the team can choose its composition, hire (or outsource) an additional or remove poor performing member; selects in-house or outsourced services (hosting, customer support, etc.)</li>
</ol>
<h4>D. Team formation</h4>
<ol>
<li>     <span style="font-weight: bold">Talented people</span> &#8211; the company hires talented people with diverse background, skills and experience. The only requirement is high qualification, creativity or expertise.</li>
<li>     <span style="font-weight: bold">Easy start</span> &#8211; Anybody in the company can initiate and assemble the team for implementation. The team applies to the internal VC group (see below) for financing and approval of the project.</li>
<li>     <span style="font-weight: bold">Easy scalability</span> &#8211; the team can contribute to open-source projects (at least for non-core and non-competing features and modules) and easily scale beyond company borders.</li>
</ol>
<h4>E. Sharing and learning</h4>
<ol>
<li>     <span style="font-weight: bold">Shared best practices</span> &#8211; the company promotes the best practices, tools, designs, conventions and approaches from internal and outside sources. Teams are free to select and use any of them.</li>
<li>     <span style="font-weight: bold">Cross-team training</span> &#8211; the company     organizes cross-team knowledge sharing and training.</li>
<li>     <span style="font-weight: bold">Continuous improvement</span> &#8211; the company encourages regular reflection and continuous improvement sessions, where the organization, processes, company and teams interactions are scrutinized and changed.</li>
</ol>
<h4>F. Financing, incentives, internal market</h4>
<ol>
<li>     <span style="font-weight: bold">Internal Venture Capitalist group (VC)</span> &#8211; the company has something like Venture Capitalist (VC) group, which includes management, investors representatives and leaders of top teams that approves and finances new projects and teams. Teams are starting with minimal budget that barely covers their first needs.</li>
<li>     <span style="font-weight: bold">Team value market</span> &#8211; The company has internal market for the value of each team. This value is linked to success criteria established by company: (revenue, number of users, cost saving, use inside company, buzz).</li>
<li><span style="font-weight: bold">Pay based on performance</span> &#8211; Team budget, payout and incentives are directly corresponding with their value. More successful teams will get more money, resources and influence in the company. VC group disassemble unsuccessful teams. While any employee has guaranteed minimal salary, the people who doesn&#8217;t contribute in any team will be fired. People who performs will be very well rewarded.</li>
</ol>
<h4>G. Mobilization</h4>
<ol>
<li> The company in time of emergency or especially large projects can force creation of special task teams (as National Guard). Company leaders should approve this temporary mobilization and limit impact on other projects</li>
</ol>
<h3>   The Benefits</h3>
<p>The Ideal Software Company should overcome most barriers.</p>
<ul>
<li> Teams are diverse, independent and make most decisions. Information flow is free and the company ensures that teams receive it most effectively.</li>
<li> Individual income is directly linked to their team performance (but not individual contribution inside the team). Teams compete with market not between themselves.</li>
<li> Teams can still uses benefits of centralized services, coordination of activities and shared knowledge. Company organizes prediction markets, internal VC group and provides financing of the projects.</li>
<li> The system is adaptive, lean and focused on the market and user needs. Bureaucracy is almost absent, the company need only few coordination mechanisms, the approach is compatible with our human nature and self-interest. It is combination of adaptability of decentralized and power of coordinated system.</li>
</ul>
<p>What if we have only one team? We receive a small, lean and powerful startup. As a startup becomes bigger, it is often turns into inefficient traditional corporation with hierarchical control. Many startups lose their flexibility and adaptability once they become bigger. The Ideal Software Company should avoid this fate with the growth.</p>
<h3>   Is it possible?</h3>
<p>I see many potential problems with creating The Ideal Software Company &#8211; political (most managers are not egoless), economical (internal financing schema, appeal to investors), organizational (new ways to employ people). But I believe it is possible.</p>
<p>Agile development processes (Scrum, Extreme Programming, Crystal Clear) are changing <a href="http://www.martinfowler.com/articles/newMethodology.html#PuttingPeopleFirst" title="the role of people and teams">the role of people and teams</a> in software companies. I know few companies that are close to the ideas of The Ideal Software Company. Google in software world, 3M and Toyota in manufacturing. <a href="http://blog.fastcompany.com/archives/2004/03/14/google_innovation_and_the_web.html" title="Google">Google</a> has free flow of ideas, powerful self-organized teams and attention to user needs. <a href="http://www.poppendieck.com/development1.htm" title="3M">3M</a> has entrepreneurial cross-functional teams with focus on business goals. Toyota become #1 auto manufacturer because their <a href="http://en.wikipedia.org/wiki/Toyota_Production_System" title="Toyota Production System">Toyota Production System</a> gives unprecedented power to the teams and continuous process of improvement and solving root problems.</p>
<p>Is The Ideal Software Company utopia? What do you think?</p>
<!-- Social Buttons Shared Counts Generated by Digg Digg plugin v4.0.9, 
    Author : Yong Mook Kim
    Website : http://www.mkyong.com/blog/digg-digg-wordpress-plugin/ --><img src="http://softwarecreation.org/?ak_action=api_record_view&id=13&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://softwarecreation.org/2007/the-ideal-software-company-utopia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Review: The Wisdom of Crowds. Making the Best Decisions</title>
		<link>http://softwarecreation.org/2007/review-the-wisdom-of-crowds-making-the-best-decisions/</link>
		<comments>http://softwarecreation.org/2007/review-the-wisdom-of-crowds-making-the-best-decisions/#comments</comments>
		<pubDate>Tue, 10 Jul 2007 03:32:20 +0000</pubDate>
		<dc:creator>Andriy Solovey</dc:creator>
				<category><![CDATA[Economics]]></category>
		<category><![CDATA[People]]></category>
		<category><![CDATA[Process]]></category>

		<guid isPermaLink="false">http://softwarecreation.org/2007/review-the-wisdom-of-crowds-making-the-best-decisions/</guid>
		<description><![CDATA[ShareWho is smarter &#8211; a diverse group or the best expert? Can a boss, a project manager or the most experienced specialist make better decisions than a whole team? What are the problems with decision making in traditional corporations?

James Surowiecki in his book The Wisdom of Crowds argues that given the right conditions a group [...]]]></description>
			<content:encoded><![CDATA[<div class='dd_post_share'><div class='dd_buttons'><div class='dd_button'><iframe src='http://api.tweetmeme.com/button.js?url=http://softwarecreation.org/2007/review-the-wisdom-of-crowds-making-the-best-decisions/&source=AndriySolovey&service=&service_api=&style=compact' height='20' width='90' frameborder='0' scrolling='no'></iframe></div><div class='dd_button'><a name='fb_share' type='button_count' share_url='http://softwarecreation.org/2007/review-the-wisdom-of-crowds-making-the-best-decisions/' href='http://www.facebook.com/sharer.php'>Share</a><script src='http://static.ak.fbcdn.net/connect.php/js/FB.Share' type='text/javascript'></script></div><div class='dd_button'><script src='http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://softwarecreation.org/2007/review-the-wisdom-of-crowds-making-the-best-decisions/'></script></div><div class='dd_button'><a title='Post on Google Buzz' class='google-buzz-button' href='http://www.google.com/buzz/post' data-button-style='small-count' data-url='http://softwarecreation.org/2007/review-the-wisdom-of-crowds-making-the-best-decisions/'></a><script type='text/javascript' src='http://www.google.com/buzz/api/button.js'></script></div><div class='dd_button'><iframe src='http://widgets.dzone.com/links/widgets/zoneit.html?url=http://softwarecreation.org/2007/review-the-wisdom-of-crowds-making-the-best-decisions/&amp;title=Review%3A+The+Wisdom+of+Crowds.+Making+the+Best+Decisions&amp;t=2' height='18' width='120' frameborder='0' scrolling='no'></iframe></div></div></div><div style='clear:both'></div><p>Who is smarter &#8211; a diverse group or the best expert? Can a boss, a project manager or the most experienced specialist make better decisions than a whole team? What are the problems with decision making in traditional corporations?</p>
<p><a href="http://www.amazon.com/gp/product/0385721706?ie=UTF8&amp;tag=softwcreatmys-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0385721706"><img src="http://ec1.images-amazon.com/images/I/31A96BP1XML._AA_SL160_.jpg" border="0" /></a><img src="http://www.assoc-amazon.com/e/ir?t=softwcreatmys-20&amp;l=as2&amp;o=1&amp;a=0385721706" style="border: medium none  ! important; margin: 0px ! important" border="0" width="1" height="1" /></p>
<p>James Surowiecki in his book <a href="http://www.amazon.com/gp/product/0385721706?ie=UTF8&amp;tag=softwcreatmys-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0385721706">The Wisdom of Crowds</a> argues that given the right conditions a group consistently outperforms best experts in decision making. Few people can do better than the group, but each time they will be different people. A group answer will often be at least as good as an answer of the smartest member.</p>
<p>The author provides interesting examples:</p>
<ol>
<li> 800 different people (mostly non-experts) tried to guess weight of an ox at the International Exhibition of 1884 in London. The average guess of the crowd was only one pound off (ox weighed 1,198 pounds) and was better than any estimate of the cattle experts.</li>
<li> Stock market knew what company was responsible for the Challenger disaster within a half hour of the shuttle blowing up. Mostly uninformed investors dumped shares of Thiokol almost simultaneously.</li>
<li> Team of the men with wide range of knowledge (e.g. mathematician, submarine specialists, salvage men) correctly estimated location of disappeared U.S. submarine Scorpion. The submarine was found 220 yards from collectively estimated spot (original search area was 20 miles circle) and it was better than any individual guess.</li>
</ol>
<p><span style="font-weight: bold">Crowd is wise</span> when these criteria are present:</p>
<ol>
<li>     Diversity of opinions (each person have some private information)</li>
<li>     Independence (people&#8217;s opinions are not determined by the opinions of     others)</li>
<li>     Decentralization (people are able to specialize and draw on local knowledge)</li>
<li>     Aggregation (some mechanism exists for turning private judgments into a     collective decision)</li>
</ol>
<p><span id="more-12"></span><span style="font-weight: bold"></span></p>
<h3>   Groups vs. Experts</h3>
<ul>
<li>     Groups are better at deciding between possible solutions to a problem than     coming with alternatives.</li>
<li>     Crowd intelligence is most useful for broad skills as decision making,     problem solving or forecasting unknown future.</li>
<li> Experts judgment is most useful in specialized areas as programming, design, and even management, where experience, skills and talent are important.</li>
<li>     Experts lack <span style="font-weight: bold">&#8220;judgment calibration&#8221;</span> &#8211;     they often overestimate their knowledge and performance (except maybe     weather forecasters).</li>
<li>     Advices and predictions even from the best experts should be pooled with     others to get the best answer.</li>
</ul>
<h3>   Diverse groups vs. Homogeneous groups</h3>
<ul>
<li>     Diverse groups add new perspectives, wider set of possible solution and     approach problems in novel ways.</li>
<li>     Homogeneous groups, particularly small ones, are often victims of     <span style="font-weight: bold">&#8220;groupthink&#8221;</span>:
<ul>
<li>       Information that might represent challenge to the conventional wisdom is       either excluded or considered as mistaken</li>
<li> Homogeneity fosters pressure toward conformity. A member changes own opinion as it is easier than to challenge the group.</li>
</ul>
</li>
</ul>
<h3>   Independence vs. Imitation</h3>
<ul>
<li>     Independence is important to intelligent decision making for 2 reasons:
<ol>
<li>         It keeps the mistakes that people make from being correlated.</li>
<li>         Independent individuals are more likely to have new information.</li>
</ol>
<p><span style="font-weight: bold"></span></li>
<li>     Lack of independence brings following problems:<br />
<span style="font-weight: bold"></span></p>
<ul>
<li>       <span style="font-weight: bold">&#8220;Social proof&#8221;</span> &#8211; tendency to assume that if lots of people are doing something or believe something, there must be good reason why. The crowd becomes more influential as it becomes bigger. The governing assumption is when things are uncertain, the best thing to do is just to follow along.</li>
<li>       <span style="font-weight: bold">&#8220;Information cascade&#8221;</span> &#8211; to supplement their information people will look what others are doing. If the first couple of people get bad information they will make wrong choice. Everyone who follows, even if they have better information, will make the wrong decision too.</li>
<li>     <span style="font-weight: bold">&#8220;Herding&#8221;</span> &#8211; sticking with the crowd     and failing small, rather than trying to innovate and run the risk of     failing big.</li>
</ul>
</li>
</ul>
<ul>
<li> However, imitation works much of the time. Each person can&#8217;t know everything. With imitations, people, can specialize and the benefits of their investment in uncovering information can be spread widely when others mimic them.</li>
<li>     Imitation also requires little top-down direction. It is a powerful tool for     spreading good ideas fast.</li>
<li>     Imitation work when there are:
<ol>
<li>         Initially wide array of options and information</li>
<li>         Willingness of at least some people to put their judgment ahead of         group&#8217;s.</li>
</ol>
</li>
</ul>
<h3>   Decentralization vs. Top Down Authority</h3>
<ul>
<li>     In terms of decision making and problem solving these things matter:</li>
</ul>
<ol style="margin-left: 40px">
<li>     <span style="font-weight: bold">Specialization </span>- increases the scope     and the diversity of the opinions and information in the system.</li>
<li>     <span style="font-weight: bold">Tacit knowledge</span> &#8211; can&#8217;t be easily summarized and conveyed to others, because it is specific to a particular place or job or experience, but it is very valuable.</li>
</ol>
<ul>
<li> Decentralization great strength &#8211; encourages independence and specialization while still allowing people to coordinate their activities and solve difficult problems on the other.</li>
</ul>
<ul>
<li>     Great weakness &#8211; no guarantee that valuable information will find its way     through the rest of the system.</li>
<li>     <span style="font-weight: bold"></span> Decentralized system can only produce     genuinely intelligent results if there is a means of <span style="font-weight: bold">aggregating </span>the     information of everyone in the system (e.g. price for free market).</li>
</ul>
<h3>   Traditional Corporations</h3>
<p>In the traditional corporate model, top management hires the best employees it can, pays them and gives some direction about the problems to work on and hopes for the best. It is great for mobilizing people and get very good at doing things they know how to do. But it is also necessarily limits of the number of possible solutions (company has limited number of workers and their time) and because of reality of organizational and bureaucratic politics.</p>
<p>Coordination and decision making problems when power is concentrated on top</p>
<ol>
<li>     Costly in terms of time.</li>
<li>     Requires too much information</li>
<li>     Saps initiative of workers and mangers</li>
<li>     Discourages free flow of information</li>
<li>     Incentives skewed against dissent and independent analysis</li>
<li>     Lack of diversity among top managers, insulation of top managers from     competition</li>
</ol>
<p>Solutions:</p>
<ul>
<li>       Elimination of rigid managerial hierarchies</li>
<li>       Wider distribution of real decision making power</li>
</ul>
<p>The virtues of decentralization:</p>
<ul>
<li>More responsibility people have for their own environments, the more engaged     they will be</li>
<li> Coordination &#8211; instead of orders and threats, companies rely on workers to find new, more efficient ways of getting things done. That reduces need for supervision, cuts transaction cost and allow managers to concentrate on other things. <a href="http://en.wikipedia.org/wiki/Toyota_Production_System" title="Toyota Production System">Toyota     Production System</a> is a supreme example.</li>
</ul>
<p>Tacit knowledge (emerged only from experience) is crucial to efficiency of markets and as just as important for corporations. Companies should start with the assumption that, just as in the market place, people with local knowledge are often best positioned to come up with a workable and efficient solutions. The benefits of specialization and local knowledge often outweigh managerial experience in decision making.</p>
<p>How these ideas could be applied to the Software Development? See <a href="/2007/the-ideal-software-company-utopia/">the next post</a>.</p>
<!-- Social Buttons Shared Counts Generated by Digg Digg plugin v4.0.9, 
    Author : Yong Mook Kim
    Website : http://www.mkyong.com/blog/digg-digg-wordpress-plugin/ --><img src="http://softwarecreation.org/?ak_action=api_record_view&id=12&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://softwarecreation.org/2007/review-the-wisdom-of-crowds-making-the-best-decisions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Weekly Digest: Secrets of Creativity, Material Software Companies, Discouraging Incentives</title>
		<link>http://softwarecreation.org/2007/secrets-of-creativity-material-software-companies-discouraging-incentives/</link>
		<comments>http://softwarecreation.org/2007/secrets-of-creativity-material-software-companies-discouraging-incentives/#comments</comments>
		<pubDate>Mon, 09 Jul 2007 01:12:04 +0000</pubDate>
		<dc:creator>Andriy Solovey</dc:creator>
				<category><![CDATA[Economics]]></category>
		<category><![CDATA[People]]></category>

		<guid isPermaLink="false">http://softwarecreation.org/2007/secrets-of-creativity-material-software-companies-discouraging-incentives/</guid>
		<description><![CDATA[ShareSecrets of Creativity
http://www.sciammind.com/article.cfm?articleID=00028EE8-4369-123A-822283414B7F4945
Why some people are more creative than others? The Scientific American article provides some insights:

 Intelligence is not a crucial ingredient. A crucial variable is the difference between  &#8220;convergent&#8221; and &#8220;divergent&#8221; thinking.
 Convergent thinking aims for a single, logical and correct solution to a problem. Divergent thinking proceeds from different starting points [...]]]></description>
			<content:encoded><![CDATA[<div class='dd_post_share'><div class='dd_buttons'><div class='dd_button'><iframe src='http://api.tweetmeme.com/button.js?url=http://softwarecreation.org/2007/secrets-of-creativity-material-software-companies-discouraging-incentives/&source=AndriySolovey&service=&service_api=&style=compact' height='20' width='90' frameborder='0' scrolling='no'></iframe></div><div class='dd_button'><a name='fb_share' type='button_count' share_url='http://softwarecreation.org/2007/secrets-of-creativity-material-software-companies-discouraging-incentives/' href='http://www.facebook.com/sharer.php'>Share</a><script src='http://static.ak.fbcdn.net/connect.php/js/FB.Share' type='text/javascript'></script></div><div class='dd_button'><script src='http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://softwarecreation.org/2007/secrets-of-creativity-material-software-companies-discouraging-incentives/'></script></div><div class='dd_button'><a title='Post on Google Buzz' class='google-buzz-button' href='http://www.google.com/buzz/post' data-button-style='small-count' data-url='http://softwarecreation.org/2007/secrets-of-creativity-material-software-companies-discouraging-incentives/'></a><script type='text/javascript' src='http://www.google.com/buzz/api/button.js'></script></div><div class='dd_button'><iframe src='http://widgets.dzone.com/links/widgets/zoneit.html?url=http://softwarecreation.org/2007/secrets-of-creativity-material-software-companies-discouraging-incentives/&amp;title=Weekly+Digest%3A+Secrets+of+Creativity%2C+Material+Software+Companies%2C+Discouraging+Incentives&amp;t=2' height='18' width='120' frameborder='0' scrolling='no'></iframe></div></div></div><div style='clear:both'></div><h3>Secrets of Creativity</h3>
<p><a href="http://www.sciammind.com/article.cfm?articleID=00028EE8-4369-123A-822283414B7F4945" title="http://www.sciammind.com/article.cfm?articleID=00028EE8-4369-123A-822283414B7F4945">http://www.sciammind.com/article.cfm?articleID=00028EE8-4369-123A-822283414B7F4945</a><br />
Why some people are more creative than others? The Scientific American article provides some insights:</p>
<ul>
<li> Intelligence is not a crucial ingredient. A crucial variable is the difference between  <span style="font-style: italic">&#8220;convergent&#8221; </span>and <span style="font-style: italic">&#8220;divergent&#8221; </span>thinking.</li>
<li> Convergent thinking aims for a single, logical and correct solution to a problem.<span style="font-weight: bold"> </span>Divergent thinking proceeds from different starting points and changes direction as required</li>
<li>Creative people can free themselves from conventional thought patterns and follow new pathways to unusual or distantly associated answers, which leads to multiple solutions, all of which could be correct and appropriate.</li>
<li>These two processes took place in <a href="/2007/the-mind-of-the-programmer-anatomy-and-3-contradictions/" title="different brain regions">different brain regions</a> &#8211; left hemisphere is responsible for convergent thinking and the right hemisphere for divergent thinking.
<ul>
<li>The left side examines details and processes them logically and analytically but lacks a sense of overriding, abstract connections.</li>
<li>The right side is more imaginative and intuitive and tends to work holistically, integrating pieces of an informational puzzle into a whole.</li>
</ul>
</li>
<li>Our creative talent is gradually repressed from childhood. Schools place emphasis on teaching children to solve problems correctly, not creatively.</li>
<li>The brain is a creature of habit; using well-established neural pathways is more economical than elaborating new or unusual ones, which wither with time if not used.</li>
<li>Creative people are generally very knowledgeable about a given discipline, it is very improbable to come up with a grand idea without deep involvement in this area.</li>
<li>Creative solutions result from examining challenge from all sides, disassembling and reassembling the building blocks in an infinite number of ways. The problem solver must thoroughly understand the blocks.</li>
<li>Too much specialized knowledge can stand in the way of creative thinking. Experts often often internalize &#8220;accepted&#8221; thought processes, so that they become automatic. Intellectual flexibility is lost.</li>
<li>Creative revelations come to most people when their minds are involved in an unrelated activity. A little relaxation and distance changes the mind&#8217;s perspective on the problem &#8211; without us being aware of it. The brain clear away thought barriers by itself and at some point, newly combined associations break into consciousness, and we experience sudden, intuitive enlightenment.</li>
<li>The neural processes that take place during creativity remain hidden from consciousness and we cannot actively influence or accelerate them.</li>
</ul>
<p><span style="font-weight: bold">Comments:</span></p>
<ol>
<li>Creativity plays a very important role in the software creation. IQ is not enough for developing the best programs as it will lead for technically complex, standard and expensive solutions. Solving changing     <a href="http://softwarecreation.org/2007/economic-forces-and-software-genesis/">business need</a> with limited resources, dealing with <a href="http://softwarecreation.org/2007/human-forces-and-software-creators/">inconsistent people</a> and <a href="http://softwarecreation.org/2007/system-forces-and-software-evolution/">complex systems</a> requires unorthodox solutions.</li>
<li>Companies should start hiring people based on &#8220;Creativity Quotient&#8221; in addition to IQ and <a href="http://en.wikipedia.org/wiki/Emotional_intelligence" title="EQ"><span class="misspell" suggestions="ESQ,E,Q,EC,IQ">EQ</span></a>. The article has interesting examples of the potential interview tests.</li>
<li>We should specifically train our creativity and always try to look for solutions in novel ways, considering unusual alternatives, combinations and associations; breaking traditional approaches. We should strive to come with more than one solution.</li>
<li>Creativity needs knowledge, serious preparation and understanding what challenges to solve. The brain will not work on the problem until it has enough food for thoughts :). And brain can work out solutions without our conscious involvement, automatically. We just need to learn how to prepare our brains properly.</li>
</ol>
<h3>Material Software Companies</h3>
<p><a href="http://technology.guardian.co.uk/opinion/story/0,,2112850,00.html" title="http://technology.guardian.co.uk/opinion/story/0,,2112850,00.html">http://technology.guardian.co.uk/opinion/story/0,,2112850,00.html</a><br />
Software companies are coming to earth and turning from nonmaterial to very physical companies. Nicholas Carr explains why.</p>
<ul>
<li>Google has data centres around the globe, reportedly holding as many as 2m or 3m computers altogether, and it continues to spend billions of dollars a year to put up new ones. Its arch-rival, Microsoft, is building a 140,000 sq m six-building data centre on a former bean field. Also rushing to build or lease data centres are Yahoo!, Ask.com, Intuit, Salesforce.com and <span class="misspell" suggestions="Nietzsche,Duets,Deduce,Deistic,Diets">Deutsche</span> <span class="misspell" suggestions="Telecoms,Telex's,Telegram's,Talker's,Talkie's">Telekom&#8217;s</span> T-Systems unit, among many others.</li>
<li> Nature of the software business is changing. In the past, software companies only had to concern themselves with writing code, copying their programs on to discs and selling them. It was up to the buyers of the software to maintain the computers, storage drives and all the other hardware needed to run the programs. Now companies are beginning to rent programs over the net for a monthly fee. Even sophisticated applications for maintaining customer accounts, tracking finances, managing workers and performing other complicated tasks are now being offered as web services. The burden of running software is shifting from the buyer to the seller.</li>
</ul>
<p>Therefore software companies are finding that they have to compete not just on the elegance of their programs, but on their ingenuity and efficiency in buying and deploying physical assets &#8211; land, buildings, computers, and other gear &#8211; as well as managing the huge amounts of energy required to keep all the machines running.</p>
<p><span style="font-weight: bold">Comment: </span>I feel we will miss this nonmaterial world, where we should care only about own computer, a table and a chair to write programs :) . But I still believe that the essential and core business of the software companies will be programming, not management of all these physical assets. What do you think?</p>
<h3>Discouraging Incentives</h3>
<p><a href="http://www.nytimes.com/2007/07/02/opinion/02schwartz.html" title="http://www.nytimes.com/2007/07/02/opinion/02schwartz.html?_r=3&amp;oref=slogin&amp;oref=slogin&amp;oref=slogin">http://www.nytimes.com/2007/07/02/opinion/02schwartz.html</a><br />
Do you think more incentives are better? Not always argues Barry Schwartz.</p>
<p>Economists assumption: the more motives the better. Give people two reasons to do something and they will be more likely to do it. Unfortunately this assumption is false. There are circumstances in which adding an incentive competes with other motives and diminishes their impact.<br />
When you pay people for doing things they like, they come to like these activities less and will no longer participate in them without a financial incentive. The intrinsic satisfaction of the activities gets “crowded out” by the extrinsic payoff.</p>
<p><span style="font-weight: bold">Comment: </span>Money is the most powerful motivator. However we should carefully offer additional incentives for something that people like doing. It could leave a bitter taste and kill passion, motivation and dedication even if they continue doing this. But not giving money when people expect them could be even worse. So, probably, it is a good idea to discuss / understand person&#8217;s internal motives and expectations before finding a way to encourage desirable behavior. Maybe just public and unreserved admiration will be the best reward. We, humans, are so complicated :)</p>
<!-- Social Buttons Shared Counts Generated by Digg Digg plugin v4.0.9, 
    Author : Yong Mook Kim
    Website : http://www.mkyong.com/blog/digg-digg-wordpress-plugin/ --><img src="http://softwarecreation.org/?ak_action=api_record_view&id=11&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://softwarecreation.org/2007/secrets-of-creativity-material-software-companies-discouraging-incentives/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Weekly Digest: Computers vs. Humans, Thoughts: Remember or Forget?</title>
		<link>http://softwarecreation.org/2007/computers-vs-humans-thoughts-remember-or-forget/</link>
		<comments>http://softwarecreation.org/2007/computers-vs-humans-thoughts-remember-or-forget/#comments</comments>
		<pubDate>Mon, 02 Jul 2007 09:09:16 +0000</pubDate>
		<dc:creator>Andriy Solovey</dc:creator>
				<category><![CDATA[Economics]]></category>
		<category><![CDATA[People]]></category>

		<guid isPermaLink="false">http://softwarecreation.org/2007/news-and-comments-070207/</guid>
		<description><![CDATA[Share   Computers carry 70% of foreign currency trades
http://www.newscientisttech.com/channel/tech/mg19426061.500-gordon-gekko-makes-way-for-trading-software.html (need subscription)
Computers make one third of all trading decisions in US markets. Experts predict that more than 50% will be done by 2010. Machines can make multiple trades and monitor thousands of stocks at breakneck speed. They can use tactics that makes trades indistinct and [...]]]></description>
			<content:encoded><![CDATA[<div class='dd_post_share'><div class='dd_buttons'><div class='dd_button'><iframe src='http://api.tweetmeme.com/button.js?url=http://softwarecreation.org/2007/computers-vs-humans-thoughts-remember-or-forget/&source=AndriySolovey&service=&service_api=&style=compact' height='20' width='90' frameborder='0' scrolling='no'></iframe></div><div class='dd_button'><a name='fb_share' type='button_count' share_url='http://softwarecreation.org/2007/computers-vs-humans-thoughts-remember-or-forget/' href='http://www.facebook.com/sharer.php'>Share</a><script src='http://static.ak.fbcdn.net/connect.php/js/FB.Share' type='text/javascript'></script></div><div class='dd_button'><script src='http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://softwarecreation.org/2007/computers-vs-humans-thoughts-remember-or-forget/'></script></div><div class='dd_button'><a title='Post on Google Buzz' class='google-buzz-button' href='http://www.google.com/buzz/post' data-button-style='small-count' data-url='http://softwarecreation.org/2007/computers-vs-humans-thoughts-remember-or-forget/'></a><script type='text/javascript' src='http://www.google.com/buzz/api/button.js'></script></div><div class='dd_button'><iframe src='http://widgets.dzone.com/links/widgets/zoneit.html?url=http://softwarecreation.org/2007/computers-vs-humans-thoughts-remember-or-forget/&amp;title=Weekly+Digest%3A+Computers+vs.+Humans%2C+Thoughts%3A+Remember+or+Forget%3F&amp;t=2' height='18' width='120' frameborder='0' scrolling='no'></iframe></div></div></div><div style='clear:both'></div><h3>   Computers carry 70% of foreign currency trades</h3>
<p><a href="http://www.newscientisttech.com/channel/tech/mg19426061.500-gordon-gekko-makes-way-for-trading-software.html" title="http://www.newscientisttech.com/channel/tech/mg19426061.500-gordon-gekko-makes-way-for-trading-software.html">http://www.newscientisttech.com/channel/tech/mg19426061.500-gordon-gekko-makes-way-for-trading-software.html</a> (need subscription)<br />
Computers make one third of all trading decisions in US markets. Experts predict that more than 50% will be done by 2010. Machines can make multiple trades and monitor thousands of stocks at breakneck speed. They can use tactics that makes trades indistinct and hide their intent; for example, by spreading the deal over many small trades. There are big profits to be made before market realizes these opportunities. Companies are moving their servers as close as possible to stock exchange systems to reduce order time: milliseconds matter in competition of computers. There is a new arm race between trading &#8220;algos&#8221; (algorithms) &#8211; they now try to guess and sneak signs of other algos trading. David Cliff designed one of the first commercially successful <a href="http://www.ziptrader.org/" title="algos">algos</a> in mid 90s. Human traders still have place on less understood and illiquid markets where instinct and experience are still important; software helps them with simulations and test of ideas. People are still much better in predicting market trends. How much longer?</p>
<p><span style="font-weight: bold">Comment</span>: First, people, who try competing with these machines for day trading, have less and less chances. Second, the most important that another intellectual human area is given up to computers along with <a href="http://www.research.ibm.com/deepblue/" title="chess">chess</a> and <a href="http://www.b-eye-network.com/view/852" title="drug creation">drug creation</a>. What is next? Computers can became smarter than people in the <a href="http://en.wikipedia.org/wiki/Technological_singularity" title="next 20-30 years">next 20-30 years</a>. They just need to learn how to write programs for themselves.</p>
<h3>Human-Aided Computing</h3>
<p><a href="http://www.technologyreview.com/Infotech/18962/" title="http://www.technologyreview.com/Infotech/18962/">http://www.technologyreview.com/Infotech/18962/</a><br />
Researchers at Microsoft are trying to tap into some of the specialized&#8211;and often subconscious&#8211;computing power in the human brain, and use it to solve problems that have so far been intractable for machines. Today it takes relatively large supercomputers many hours to recognize faces&#8211;something a human can do almost instantly. One application for this face-recognition technique could be to use it for quickly sorting snapshots from surveillance videos to find frames with faces and those without. This strategy could be useful for identifying other types of objects, such as dogs or cats, and different types of words. Subconscious brain power could therefore improve automated image search by preclassifying objects to help a computer more accurately identify pictures.</p>
<p><span style="font-weight: bold">Comment</span>: Now Microsoft evil guys :) teach computers how to use our brains. If it will go further computers will not only become smarter (see previous comment), but also hungry for our brain power.</p>
<h3>   Forgetting helps you remember the important stuff</h3>
<p><a href="http://news-service.stanford.edu/news/2007/june6/memory-060607.html" title="http://news-service.stanford.edu/news/2007/june6/memory-060607.html">http://news-service.stanford.edu/news/2007/june6/memory-060607.html</a><br />
Bruce Kuhl and Anthony Wagner at Standford University have discovered that the brain&#8217;s ability to suppress irrelevant memories makes it easier for humans to remember what&#8217;s really important. This function, which is carried out in the prefrontal cortex region behind the forehead, helps the brain; it doesn&#8217;t have to work as hard in the future when it tries to remember an important memory because the competing but irrelevant memories have been weakened.<br />
Memory allows humans to be predictive about what&#8217;s likely to be relevant to them as they go through life, Wagner explained. &#8220;What forgetting does is allow the act of prediction to occur much more automatically, because you&#8217;ve gotten rid of competing but irrelevant predictions,&#8221; he said. &#8220;That&#8217;s very beneficial for a neural information processing system.&#8221;</p>
<p><span style="font-weight: bold">Comment</span>: I knew this before &#8211; brain automatically forget irrelevant memories! You can read and learn as much as you want, but you&#8217;ll forget most of it. It doesn&#8217;t make sense for us to learn all the language constructs syntax, all the classes in framework and read so many books. We&#8217;ll forget if it is irrelevant. Now the most important question is how to make this information relevant. I believe the best way to do this &#8211; create abstractions, actively aggregate in your head conceptual pictures or just practically use it.</p>
<h3><span class="headingLarge">Mind Control: Unwanted Thoughts</span></h3>
<p><a href="http://www.psychologytoday.com/rss/pto-20040204-000001.html" title="http://www.psychologytoday.com/rss/pto-20040204-000001.html">http://www.psychologytoday.com/rss/pto-20040204-000001.html</a><br />
Now if you want to forget something :)<br />
Trying hard not to think about something almost guarantees that it will pop up in your consciousness. When you are actively avoiding a thought, one part of your brain is busily working to keep the upsetting thought at bay. It&#8217;s searching out distractors—something else to focus on that will protect you from the idea you&#8217;re trying to avoid.</p>
<p class="text">At the same time, another part of the mental machinery has to keep checking to make sure that the job&#8217;s being done properly. Inadvertently, this monitoring process calls attention to the unwanted thought, and makes you more vulnerable to the very ideas you&#8217;re fleeing from. Article gives 2 advices: make secret preoccupation open or do the opposite of the thing you want to do.</p>
<p><span style="font-weight: bold">Comment</span>: These facts show again power of our <a href="/2007/the-mind-of-the-programmer-anatomy-and-3-contradictions/" title="automatic brain systems over our conscious mind">automatic brain systems over our conscious mind</a> and importance of <a href="/2007/5-steps-to-cooperate-with-you-unconscious-mind/" title="cooperating with unconscious mind">cooperating with unconscious mind</a>. You can try 2 additional things when you build program and you have unwanted thoughts:</p>
<ul>
<li>don&#8217;t program at all &#8211; quality of your work will be low</li>
<li>or find most interesting problem in the program and you&#8217;ll quickly forget your thoughts</li>
</ul>
<h3>   New approaches to software development</h3>
<p><a href="http://www.scottberkun.com/blog/2007/asshole-driven-development/" title="http://www.scottberkun.com/blog/2007/asshole-driven-development/">http://www.scottberkun.com/blog/2007/asshole-driven-development/</a><br />
Scott Berkun provides information about the new (or reinvented) systems for software project management: <strong>Asshole Driven development (ADD)</strong> , <strong> Cognitive Dissonance development (CDD), </strong><strong>Cover Your Ass Engineering (CYAE)</strong>  and many others.</p>
<p><span style="font-weight: bold">No comments.</span></p>
<!-- Social Buttons Shared Counts Generated by Digg Digg plugin v4.0.9, 
    Author : Yong Mook Kim
    Website : http://www.mkyong.com/blog/digg-digg-wordpress-plugin/ --><img src="http://softwarecreation.org/?ak_action=api_record_view&id=10&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://softwarecreation.org/2007/computers-vs-humans-thoughts-remember-or-forget/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Economic Forces and Software Genesis</title>
		<link>http://softwarecreation.org/2007/economic-forces-and-software-genesis/</link>
		<comments>http://softwarecreation.org/2007/economic-forces-and-software-genesis/#comments</comments>
		<pubDate>Thu, 14 Jun 2007 23:32:13 +0000</pubDate>
		<dc:creator>Andriy Solovey</dc:creator>
				<category><![CDATA[Economics]]></category>

		<guid isPermaLink="false">http://softwarecreation.org/2007/economic-forces-and-software-genesis/</guid>
		<description><![CDATA[Share&#8220;Somebody has to pay for all this.&#8221; &#8211; Kent Beck


   Why do software projects exist?
A rational self-interest is a foundation of economics &#8211; maximizing expected benefits and minimizing expected cost. Software is one of the important instruments in hands of businesses, organizations and individuals that helps to achieve both goals. We could make [...]]]></description>
			<content:encoded><![CDATA[<div class='dd_post_share'><div class='dd_buttons'><div class='dd_button'><iframe src='http://api.tweetmeme.com/button.js?url=http://softwarecreation.org/2007/economic-forces-and-software-genesis/&source=AndriySolovey&service=&service_api=&style=compact' height='20' width='90' frameborder='0' scrolling='no'></iframe></div><div class='dd_button'><a name='fb_share' type='button_count' share_url='http://softwarecreation.org/2007/economic-forces-and-software-genesis/' href='http://www.facebook.com/sharer.php'>Share</a><script src='http://static.ak.fbcdn.net/connect.php/js/FB.Share' type='text/javascript'></script></div><div class='dd_button'><script src='http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://softwarecreation.org/2007/economic-forces-and-software-genesis/'></script></div><div class='dd_button'><a title='Post on Google Buzz' class='google-buzz-button' href='http://www.google.com/buzz/post' data-button-style='small-count' data-url='http://softwarecreation.org/2007/economic-forces-and-software-genesis/'></a><script type='text/javascript' src='http://www.google.com/buzz/api/button.js'></script></div><div class='dd_button'><iframe src='http://widgets.dzone.com/links/widgets/zoneit.html?url=http://softwarecreation.org/2007/economic-forces-and-software-genesis/&amp;title=Economic+Forces+and+Software+Genesis&amp;t=2' height='18' width='120' frameborder='0' scrolling='no'></iframe></div></div></div><div style='clear:both'></div><p class="right"><cite>&#8220;Somebody has to pay for all this.&#8221;</cite> &#8211; <strong>Kent Beck</strong></p>
<p><br class="clear" /><br />
<img src="/images/2007/NYSE-floor.jpg" alt="NYSE" /></p>
<h3>   Why do software projects exist?</h3>
<p>A <span style="font-weight: bold">rational self-interest</span> is a foundation of economics &#8211; maximizing expected benefits and minimizing expected cost. Software is one of the important instruments in hands of businesses, organizations and individuals that helps to achieve both goals. We could make money developing software and we could become more efficient and reduce cost. Benefits are not only limited to profit and money as with government, science or open source volunteers.</p>
<p><strong> Economic forces start, drive and end software projects. These forces are complex, unpredictable and demanding. And they are the main reason for existence of the software. </strong></p>
<h3>   What are economic forces?</h3>
<p>Economic forces operate on 3 levels &#8211; internal, market and macro. You can find below description and examples of these forces.<br />
<span id="more-5"></span></p>
<h4>   Internal</h4>
<ul>
<li>     <strong>Vision, strategy and capabilities define what software should be     built.</strong> Microsoft main business is Windows and Office, but Ray Ozzie     replaced Bill Gates as chief software architect and are     <a href="http://news.com.com/2008-1012_3-6180428.html" title="quietly changing the vision">quietly     changing the vision</a>. He probably realizes that Microsoft strategy should     change to stay competitive. Otherwise it     <a href="http://www.paulgraham.com/microsoft.html" title="will be dead">will     be dead</a>.</li>
<li>     <strong>People expertise, skills and experience define what is possible to     build.</strong> Google raise, power and innovations come from talented     people. It recognizes it and became     <a href="http://money.cnn.com/magazines/fortune/bestcompanies/2007/full_list/" title="#1 company to work for in 2007">#1     company to work for in 2007</a>. Google has     <a href="http://www.humanresourcesmagazine.com.au/articles/B1/0C0429B1.asp?Type=60&amp;Category=1223" title="best recruiting machine">best     recruiting machine</a>,     <a href="http://seattletimes.nwsource.com/html/businesstechnology/2003742730_brier11.html" title="great perks">great     perks</a> and     <a href="http://www.google.com/corporate/culture.html" title="developer centric culture">developer     centric culture</a>. We all know results &#8211; now it is one of the most     innovative and growing software companies in the world.</li>
<li>     <strong>Resources, time and finances define what could be afforded in     reality.</strong> Smaller companies can only dream about      <a href="http://stocks.us.reuters.com/stocks/overview.asp?symbol=GOOG.O&amp;WTmodLOC=L2-LeftNav-8-Overview" title="Google">Google</a>     (157B market value) and     <a href="http://stocks.us.reuters.com/stocks/overview.asp?symbol=msft&amp;WTmodLOC=L2-LeftNav-8-Overview" title="Microsoft">Microsoft</a> (292B) resources and large-scale projects. However, software development is not capital intensive and it is possible to grow start-up with few people to become a big corporation. <a href="http://en.wikipedia.org/wiki/Google" title="Google">Google</a> did     it in 10 years,     <a href="http://www.readwriteweb.com/archives/facebook_grows_up.php" title="Facebook">Facebook</a>     is doing it now.</li>
</ul>
<h4>   Market</h4>
<ul>
<li>     <strong>Company market positioning, growth dynamic and perspectives define     what it could sell.</strong> Operation systems is an interesting example &#8211;     <a href="http://marketshare.hitslink.com/report.aspx?qprid=2&amp;qpmr=15&amp;qpdt=1&amp;qpct=3&amp;qptimeframe=M&amp;qpsp=100" title="Windows XP has 82%">Windows     XP has 82%</a>. Who will win new race     <a href="http://www.technewsworld.com/story/50236.html" title="Microsoft Vista Apple Leopard or Linux">Microsoft     Vista, Apple Leopard or Linux</a> for better market positioning? Don&#8217;t     forget about     <a href="http://blog.topix.com/archives/000016.html" title="possible Google OS">possible     Google OS</a>.</li>
<li>     <strong>Customers, market trends and composition define what is possible to     sell.</strong> Traditional packaged software started to loose share to     hosted services /     <a href="http://en.wikipedia.org/wiki/Software_as_a_Service" title="SaaS">SaaS</a>     (software-as-a-service) like Google and Salesforce. It is expected     <a href="http://www.itfacts.biz/index.php?id=P7449" title="that 25% of software revenues by 2011">that     25% of software revenues by 2011</a> will be generated from SaaS     <a href="http://www.itfacts.biz/index.php?id=P7500" title="from 8% in 2005">from     8% in 2005</a>. However, we are still too far from pure     <a href="http://en.wikipedia.org/wiki/Network_computer" title="network computer">network     computer</a> (if we don&#8217;t consider mainframe terminals). The main share of     today SaaS     <a href="http://blog.arnora.com/post/2006/12/20/SMBs-to-spend-more-on-hosted-software" title="(50%) belongs to CRM and ERP hosted systems">(50%)     belongs to CRM and ERP hosted systems</a>.</li>
<li>     <strong>Competitors, prices and alternative markets define what will be sold     in reality.</strong> Software can attack other markets &#8211; consider     <a href="http://en.wikipedia.org/wiki/Voice_over_IP" title="VoIP">VoIP</a>     vs traditional telephony.     <a href="http://www.itfacts.biz/index.php?id=P8340" title="20% of US business">20%     of US business</a> already use VoIP. On other front, open-source software     could reach     <a href="http://www.itbusinessedge.com/item/?ci=17361" title="at least 22% market share in the next five years">at     least 22% market share in the next five years</a> and disrupt traditional     business models.</li>
</ul>
<h4>   Macro</h4>
<ul>
<li>     <strong>Politics and regulations &#8211; taxes, laws and licensing.</strong>     Microsoft claims Google     <a href="http://www.internetnews.com/xSP/article.php/3663886" title="bolsters piracy">bolsters     piracy</a>. Google is claiming that Microsoft desktop search     <a href="http://www.infoworld.com/article/07/06/11/Burden-of-proof-on-Google-in-Vista-antitrust-claim_1.html" title="violates anti-trust settlement">violates     anti-trust settlement</a>. Microsoft claims open source software like Linux     <a href="http://money.cnn.com/magazines/fortune/fortune_archive/2007/05/28/100033867/index.htm?postversion=2007051409" title="violates 235 of its patents">violates     235 of its patents</a>. And so on.</li>
<li>     <strong>Economic &#8211; growth, interest rates, inflation, labor</strong>.     Economy is the king and affects any market participant. Only 50% of Internet     companies survived     <a href="http://en.wikipedia.org/wiki/Dot-com_bubble" title="dot-com bubble burst">dot-com     bubble burst</a>.</li>
<li>     <strong>Society &#8211; norms, interests and preferences.</strong> More than     <a href="http://www2.universitybusiness.com/ViewArticle.aspx?articleid=735" title="50% of teenagers">50%     of teenagers</a> are using Facebook and Myspace and it seriously     <a href="http://ftcchat.us/blog/?p=53" title="impacts their lifestyle">impacts     their lifestyle</a>.</li>
<li>     <strong>International &#8211; globalization, cultures, business climate.</strong>     Offshore IT services change landscape for software development &#8211; the     forecast is     <a href="http://www.idc.com/getdoc.jsp?containerId=prUS20311406" title="$29B in worldwide customer spending">$29B     in worldwide customer spending</a>.</li>
<li>     <strong>Technology &#8211; innovation, application, trends.</strong> Internet, mobile devices and other new technologies radically change software application, business models and lifecycle. <a href="http://www.cnn.com/2005/TECH/01/03/cnn25.top25.innovations/index.html" title="Internet can be considered #1">Internet     can be considered #1</a> technology innovation for changing software and world in general. Only creation of computers is more important event for software.</li>
</ul>
<h3>   What are economic paradigms to create and deliver software?</h3>
<ul>
<li>     <span style="font-weight: bold">Retail </span>- packaged software done by     centralized effort of the single company (Microsoft, Adobe)</li>
<li>     <span style="font-weight: bold">In-House &#8211; </span>own programmers (many brave     companies who develop software themselves)</li>
<li>     <span style="font-weight: bold">Contract</span> &#8211; contracted outside company     (IBM, Accenture)</li>
<li>     <span style="font-weight: bold">Open Source</span> &#8211; multiple participants     (companies, individuals, organizations) develop product together (Linux,     Firefox)</li>
<li>     <span style="font-weight: bold">Online Service </span>- online hosted     software available as a service over Internet (Google, Yahoo)</li>
</ul>
<h3>   Are relation between business and software development happy?</h3>
<p>Unfortunately, these relations are not happy in the many cases. These two worlds have contrary expectations from each other.</p>
<table border="1" cellspacing="0">
<tr>
<td>&nbsp;</td>
<td><strong>Description</strong></td>
<td><strong>Expectations</strong></td>
</tr>
<tr>
<td><strong>Traditional Business</strong></td>
<td>Unpredictable, often changes directions, unclear what are needs &amp;       requirements, complex and ambiguous problems</td>
<td>Quick reaction for direction changes, frequent updates; predictability, reliability; meeting timeline and budget; high quality</td>
</tr>
<tr>
<td><strong>Traditional Software Development</strong></td>
<td>Absence of firm and proven principles, limited people ability to operate complex mental concepts, difficulty with building software solutions for ambiguous and changing problems.</td>
<td>Stable and well defined requirements, time to come up with design and proper implementation, minimum distractions and changes</td>
</tr>
</table>
<p>Software development is one of the most <a href="http://www.lessons-from-history.com/Level%202/Project%20Success%20or%20Failure.html" title="troublesome">troublesome</a> instruments in hands of business. Even excellent business decisions are worth nothing without good implementation. When project is started, two other groups of forces start to play &#8211; <a href="/2007/human-forces-and-software-creators/" title="Human forces">Human</a> and  <a href="/2007/system-forces-and-software-evolution/" title="System forces">System</a>. And they add much more complexity and challenges to the rational nature of economic forces.</p>
<p><span style="font-weight: bold">Question</span>: Do you agree that economic forces are primary in the software life?</p>
<!-- Social Buttons Shared Counts Generated by Digg Digg plugin v4.0.9, 
    Author : Yong Mook Kim
    Website : http://www.mkyong.com/blog/digg-digg-wordpress-plugin/ --><img src="http://softwarecreation.org/?ak_action=api_record_view&id=5&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://softwarecreation.org/2007/economic-forces-and-software-genesis/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>What is Software Development?</title>
		<link>http://softwarecreation.org/2007/what-is-software-development/</link>
		<comments>http://softwarecreation.org/2007/what-is-software-development/#comments</comments>
		<pubDate>Sun, 10 Jun 2007 18:45:54 +0000</pubDate>
		<dc:creator>Andriy Solovey</dc:creator>
				<category><![CDATA[Concepts]]></category>
		<category><![CDATA[Economics]]></category>
		<category><![CDATA[People]]></category>
		<category><![CDATA[System]]></category>

		<guid isPermaLink="false">http://softwarecreation.org/2007/what-is-software-development/</guid>
		<description><![CDATA[Share
Software is everywhere: inside our computers, cars, phones and even toasters. Software tells these devices what to do.
Everybody can develop software. Hundreds of millions do. We use similar skills as in writing a cooking recipe or telling a friend how to find a shopping mall &#8211; we just need to come up with the set [...]]]></description>
			<content:encoded><![CDATA[<div class='dd_post_share'><div class='dd_buttons'><div class='dd_button'><iframe src='http://api.tweetmeme.com/button.js?url=http://softwarecreation.org/2007/what-is-software-development/&source=AndriySolovey&service=&service_api=&style=compact' height='20' width='90' frameborder='0' scrolling='no'></iframe></div><div class='dd_button'><a name='fb_share' type='button_count' share_url='http://softwarecreation.org/2007/what-is-software-development/' href='http://www.facebook.com/sharer.php'>Share</a><script src='http://static.ak.fbcdn.net/connect.php/js/FB.Share' type='text/javascript'></script></div><div class='dd_button'><script src='http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://softwarecreation.org/2007/what-is-software-development/'></script></div><div class='dd_button'><a title='Post on Google Buzz' class='google-buzz-button' href='http://www.google.com/buzz/post' data-button-style='small-count' data-url='http://softwarecreation.org/2007/what-is-software-development/'></a><script type='text/javascript' src='http://www.google.com/buzz/api/button.js'></script></div><div class='dd_button'><iframe src='http://widgets.dzone.com/links/widgets/zoneit.html?url=http://softwarecreation.org/2007/what-is-software-development/&amp;title=What+is+Software+Development%3F&amp;t=2' height='18' width='120' frameborder='0' scrolling='no'></iframe></div></div></div><div style='clear:both'></div><p><img src="/images/2007/tower-of-babel.jpg" alt="Tower of Babel" /></p>
<p>Software is everywhere: inside our computers, cars, phones and even toasters. Software tells these devices what to do.</p>
<p>Everybody can develop software. Hundreds of millions do. We use similar skills as in writing a cooking recipe or telling a friend how to find a shopping mall &#8211; we just need to come up with the set of instructions. Basic logic and knowledge of instruction language is enough. You don&#8217;t need to have a computer science degree or even finish courses to become a good programmer.</p>
<p>Does it sound simple? Creation of a program should be a routine job now as growing potatoes or building a bridge. And we have at least 2 good reasons to hope for this:</p>
<ul>
<li>     We had more than 60 years to learn how to properly instruct computers what     to do. The first computer     <a href="http://en.wikipedia.org/wiki/ENIAC" title="ENIAC">ENIAC</a> was     built in 1946.</li>
<li>     Today     <a href="http://www.itfacts.biz/index.php?id=P8481" title="19 millions of programmers in the world">19 millions of professional programmers in the world</a> and  <a href="http://web.ita.doc.gov/ITI/itiHome.nsf/366ad178a1926d8d85256dc500700add/87200518f179196c85256cc40077ede1?OpenDocument" title="multi-billion industry">multi-billion  industry</a> are very serious about effectively building good software .</li>
</ul>
<p><strong><br />
And still, software creation is <a href="http://www.lessons-from-history.com/Level%202/Project%20Success%20or%20Failure.html" title="unpredictable, unreliable and often fails">unpredictable, unreliable and often fails</a>.</strong></p>
<p>Why? We should understand better what is software development.</p>
<blockquote><p> Software development is the translation of a user need or marketing goal into a software product. &#8211; <a href="http://en.wikipedia.org/wiki/Software_development" style="font-style: italic" title="Wikipedia">Wikipedia</a></p></blockquote>
<p>We can add more to this definition.<br />
<span id="more-3"></span></p>
<p><strong>  1) Is it engineering?</strong><br />
<img src="/images/2007/Geblase.jpg" alt="Geblase" /></p>
<blockquote><p> The application of scientific and mathematical principles to practical ends &#8211;  <span style="font-style: italic">The American Heritage Dictionary</span></p></blockquote>
<p>Software development is close to engineering. As in engineering we have</p>
<ul>
<li>     <span style="font-weight: bold">Problem </span>- user needs and     requirements<span style="font-weight: bold"> </span></li>
<li>     <span style="font-weight: bold">Solution </span>- software system that solves     these needs<span style="font-weight: bold"> </span></li>
<li>     <span style="font-weight: bold">Principles </span>- accepted rules for     building solutions</li>
<li>     <span style="font-weight: bold">Constraints </span>- limitations that our     solution should meet</li>
<li>     <span style="font-weight: bold">Trade-offs</span> &#8211; finding a compromise     between different options</li>
<li>     <span style="font-weight: bold">Methods </span>- how do we practically     translate user needs into solution applying principles, meeting constraints     and making trade-offs</li>
</ul>
<p><a href="http://www.ieee.org/" title="IEEE">IEEE</a> defines software engineering as application of a systematic, disciplined, quantifiable approach to development, operation, and maintenance of software; that is, the application of engineering to software.</p>
<p>Many prominent people in software development don&#8217;t agree that engineering is the only approach to create software.</p>
<p><a href="http://www.awprofessional.com/articles/article.asp?p=25297&amp;seqNum=3&amp;rl=1" title="Pete McBreen">Pete McBreen</a>: <cite>&#8220;The biggest problem with software engineering is the assumption that a systematic, disciplined, and quantifiable approach is the only possible approach. &#8230;software development is not a defined process. At best, all we can hope to achieve is an empirical process. The reason is that the sources of all software requirements are people. There is no way to automate requirements elicitation; rather, people must talk to each other so that the software team can learn what the users really need the application to do. At the same time, the users are learning the technical constraints and costs and then use that knowledge to adjust the feature set that they ask for.&#8221;</cite></p>
<p><a href="http://martinfowler.com/articles/newMethodology.html" title="Martin Fowler">Martin Fowler</a>: <cite>&#8220;Engineering methodologies have been around for a long time. They&#8217;ve not been noticeable for being terribly successful. They are even less noted for being popular. The most frequent criticism of these methodologies is that they are bureaucratic. There&#8217;s so much stuff to do to follow the methodology that the whole pace of development slows down.&#8221;</cite></p>
<p>Software development is similar to engineering as it deals with complex problems, constraints and trade-offs. The difference is that engineering relies on proven laws of physical world, well defined principles and processes, while software development relies on uncertain mental concepts, shaky people needs and empirical principles and processes (guided by experience). Directly applying engineering approach to software development could introduce more problems than solve.</p>
<p style="font-weight: bold">   2) Is it business?</p>
<p><img src="/images/2007/handshake.jpg" alt="Business" /></p>
<blockquote><p> The social science of managing people to organize and maintain collective productivity toward accomplishing particular creative and productive goals, usually to generate profit. &#8211; <a href="http://en.wikipedia.org/wiki/Business" style="font-style: italic" title="Wikipedia">Wikipedia</a></p></blockquote>
<p>Software development became essential part of most businesses for generating profit and reducing cost. The relation is often unhappy. Only <a href="http://www.sdtimes.com/article/story-20070301-01.html" title="35%">35%</a> of software projects started in 2006 could be considered as successful and this is an enormous improvement with 1994 figures &#8211; <a href="http://www.standishgroup.com/sample_research/chaos_1994_1.php" title="16%">16%</a>. And still, there is a long way ahead to make software development economically successful and effective.</p>
<p><a href="http://www.amazon.com/gp/product/0321278658/104-2883280-1296732?ie=UTF8&amp;tag=softwcreatmys-20&amp;linkCode=xm2&amp;camp=1789&amp;creativeASIN=0321278658" title="Extreme Programming Explained">Kent Beck</a>: <cite>&#8220;We need to make our software development economically more valuable by spending money more slowly, earning revenue more quickly, and increasing the probable productive lifespan of our project. But most of all we need to increase the options for business decisions.&#8221;</cite></p>
<p>Business is chaotic and depends on unpredictable factors as economy, market trends and customer behavior. Business drives software projects, destabilizes them with frequent changes of directions and still expects predictable results. Finally, most of the software projects doesn&#8217;t make sense without business and economic demands.</p>
<p style="font-weight: bold">   3) Is it art and craft?</p>
<p><img src="/images/2007/Antonio_stradivari.jpg" alt="Antonio Stradivari" /></p>
<blockquote><p> a. A system of principles and methods employed in the performance of a set of   activities<br />
b. Skill that is attained by study, practice, or observation<br />
c. High quality of conception or execution, as found in works of beauty;   aesthetic value<br />
-  <span style="font-style: italic">The American Heritage Dictionary</span></p></blockquote>
<p>Andrew Hunt and  David Thomas [from <a href="http://www.amazon.com/gp/product/020161622X/104-2883280-1296732?ie=UTF8&amp;tag=softwcreatmys-20&amp;linkCode=xm2&amp;camp=1789&amp;creativeASIN=020161622X" title="Pragmatic Programmer">Pragmatic Programmer</a>]: <cite>&#8220;Programming is a craft. At its simplest, it comes down to getting a computer to do what you want it to do (or what your user wants it to do). As a programmer, you are part listener, part advisor, part interpreter, and part dictator. You try to capture elusive requirements and find a way of expressing them so that a mere machine can do them justice. You try to document your work so that others can understand it, and you try to engineer your work so that others can build on it. What&#8217;s more, you try to do all this against the relentless ticking of the project clock. You work small miracles every day.&#8221;</cite></p>
<p>Pete McBreen [from <a href="http://www.amazon.com/gp/product/0201733862/104-2883280-1296732?ie=UTF8&amp;tag=softwcreatmys-20&amp;linkCode=xm2&amp;camp=1789&amp;creativeASIN=0201733862" title="Software Craftsmanship">Software Craftsmanship</a> ]: <cite>&#8220;We must insist that developers really know their craft before we trust them to create systems for us or with us. Whether you are a user, manager, or developer, it doesn&#8217;t make sense to trust an inexperienced software developer. This is why we focus on software craftsmanship rather than on software engineering. The best processes in the world will not save a project from failure if the people involved do not have the necessary skills to execute the process; conversely, really good developers can make any process work.&#8221;</cite></p>
<p><a href="http://fresh.homeunix.net/%7Eluke/misc/knuth-turingaward.pdf" title="Donal Knuth">Donal Knuth</a><cite>: &#8220;We have seen that computer programming is an art, because it applies accumulated knowledge to the world, because it requires skill and ingenuity, and especially because it produces objects of beauty&#8230; A scientific approach is generally characterized by the words logical, systematic, impersonal, calm, rational, while an artistic approach is characterized by the words aesthetic, creative, humanitarian, anxious, irrational. It seems to me that both of these apparently contradictory approaches have great value with respect to computer programming.&#8221; </cite></p>
<p>Successful software solutions for complex problems are difficult to achieve by standard scientific and engineering approaches alone. Complex problems require high level of mastery, creativity and intuition. And these traits are hard to learn, acquire and apply consistently.</p>
<p style="font-weight: bold">   4) Is it psychology?</p>
<p><img src="/images/2007/zaporozhtsy.jpg" alt="Zaporozhtsy" /></p>
<blockquote><p> The study of mental processes such as perception, cognition, emotion, personality, as well as environmental influences, such as social and cultural influences, and interpersonal relationships, in order to devise theories of human behavior &#8211; <a href="http://en.wikipedia.org/wiki/Psychology" style="font-style: italic" title="Wikipedia">Wikipedia</a></p></blockquote>
<p>Alistair Cockburn [from <a href="http://alistair.cockburn.us/index.php/Characterizing_people_as_non-linear,_first-order_components_in_software_development" title="Characterizing people as non-linear, first-order components in software development">Characterizing people as non-linear, first-order components in software development</a> ]: <cite>&#8220;In the title, I refer to people as &#8220;components&#8221;. That is how people are treated in the process / methodology design literature. The mistake in this approach is that &#8220;people&#8221; are highly variable and non-linear, with unique success and failure modes. Those factors are first-order, not negligible factors. Failure of process and methodology designers to account for them contributes to the sorts of unplanned project trajectories we so often see.&#8221;</cite></p>
<p>Tom DeMarco and Timothy Lister [from <a href="http://www.amazon.com/gp/product/0932633439/104-2883280-1296732?ie=UTF8&amp;tag=softwcreatmys-20&amp;linkCode=xm2&amp;camp=1789&amp;creativeASIN=0932633439" title="Peopleware">Peopleware</a>]: <cite>&#8220;The major problems of our work are not so much technological as sociological in nature.&#8221;</cite></p>
<p>Gerald M. Weinberg [from <a href="http://www.amazon.com/gp/product/0932633420/104-2883280-1296732?ie=UTF8&amp;tag=softwcreatmys-20&amp;linkCode=xm2&amp;camp=1789&amp;creativeASIN=0932633420" title="Psychology of Computer Programming">Psychology of Computer Programming</a>]: <cite>&#8220;Because of the complex nature of the programming task, the programmer&#8217;s personality &#8211; his individuality and identity &#8211; are far more important factors in his success than is usually recognized.&#8221;</cite></p>
<p>Software is built by humans and in most cases used by humans. The way how individuals and teams of software professionals think, feel and interact has significant affect on creation of the software. And humans are difficult to predict, rationalize and quantify.</p>
<h3>   Software Creation Forces.</h3>
<p>Now we can better understand what is software development, why it has problems and how it is different from established practices of growing potatoes and building bridges. Software teams are engaged in following activities to build software.</p>
<ol>
<li>     Trying to solve complex problems that are driven by unpredictable businesses     and even more unpredictable users.</li>
<li>     Translating these needs into software based on uncertain world of mental     concepts and empirical principles. We don&#8217;t have luxury of firm physical     laws, sound scientific principles and established engineering methods.</li>
<li>     Relying on humans to do this translation. Humans have varying psychology,     talents and creativity; they expose complex social behavior. These factors     are playing important role for individual and team productivity and quality     of work.</li>
</ol>
<p>As a result, many strong and contrary forces affect software development. However, we can identify 3 main group of forces:</p>
<p>1. <a href="/2007/economic-forces-and-software-genesis/" title="Economic forces"><strong>Economic forces</strong></a> &#8211; profit, efficiency and customer needs.<br />
2.  <a href="/2007/human-forces-and-software-creators/" title="Human forces"><strong>Human forces</strong></a> &#8211; psychology, productivity, motivation; talent, creativity, learning; group behavior, interactions and social complexity.<br />
3. <a href="/2007/system-forces-and-software-evolution/" title="System forces"><strong>System forces</strong></a> &#8211; organization and evolution of the complex systems.<span style="font-weight: bold"><br />
</span><br style="font-weight: bold" /> <span style="font-weight: bold">The goal of this blog is to understand and harness these forces to improve software creation &#8211; one of the most useful, intellectual and creative human activities. </span><br />
<span style="font-weight: bold"><br />
Question for readers</span>: Is software development more engineering, business, art, psychology or something else?<span style="font-weight: bold"> </span></p>
<!-- Social Buttons Shared Counts Generated by Digg Digg plugin v4.0.9, 
    Author : Yong Mook Kim
    Website : http://www.mkyong.com/blog/digg-digg-wordpress-plugin/ --><img src="http://softwarecreation.org/?ak_action=api_record_view&id=3&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://softwarecreation.org/2007/what-is-software-development/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
