<?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>Haut Tech &#187; Software Development</title>
	<atom:link href="http://blog.sciodev.com/tag/software-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.sciodev.com</link>
	<description>Hot Thoughts about SaaS, On-Demand Business and Technology</description>
	<lastBuildDate>Thu, 15 Jul 2010 15:45:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>SaaS: Develop, Price, Operate and Succeed</title>
		<link>http://blog.sciodev.com/2010/04/12/saas-develop-price-operate-and-succeed/</link>
		<comments>http://blog.sciodev.com/2010/04/12/saas-develop-price-operate-and-succeed/#comments</comments>
		<pubDate>Mon, 12 Apr 2010 22:18:52 +0000</pubDate>
		<dc:creator>Michael Dunham</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[business models]]></category>
		<category><![CDATA[events]]></category>
		<category><![CDATA[Metrics]]></category>
		<category><![CDATA[OPD]]></category>
		<category><![CDATA[product development]]></category>
		<category><![CDATA[SaaS]]></category>
		<category><![CDATA[Scio]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[startup]]></category>
		<category><![CDATA[workshop]]></category>

		<guid isPermaLink="false">http://blog.sciodev.com/?p=876</guid>
		<description><![CDATA[Our workshop with Software Pricing Partners following the SaaS Summit: All About the Cloud is now finalized! Seating is limited so please check the details below and sign up NOW:]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.sciodev.com%2F2010%2F04%2F12%2Fsaas-develop-price-operate-and-succeed%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sciodev.com%2F2010%2F04%2F12%2Fsaas-develop-price-operate-and-succeed%2F&amp;source=michaeldunham&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>Our workshop with <a href="http://www.softwarepricing.com/" target="_blank">Software Pricing Partners </a>following the SaaS Summit: All About the Cloud is now finalized! Seating is <span style="text-decoration: underline;">limited</span> so please check the details below and sign up <a href="http://www.acteva.com/booking.cfm?bevaid=202248" target="_blank"><strong>NOW</strong></a>:</p>
<h2 style="text-align: center;">SaaS Offerings: How to Develop, Price, Operate, and Succeed</h2>
<ul>
<li><strong>One Day SaaS Executive Workshop Covering Technical and Business Topics</strong></li>
<li><strong>May 13, 2010 at the Donatello Hotel (near Union Square) San Francisco</strong></li>
</ul>
<p>Executives responsible for succeeding in the SaaS market need to make a series of critical choices in developing, packaging and selling their offerings. This one-day workshop provides the insights and tools needed to make the right choices.</p>
<p>Many of the challenges SaaS companies face can be met by balancing and integrating technical considerations with the business aspects of SaaS. Companies that can do this can bring their products to market rapidly and become cash-flow positive quickly.</p>
<p>This workshop is the <strong><span style="text-decoration: underline;">first</span></strong> to integrate pricing and business models with development and deployment. The workshop will be held on May 13th, the day after the <a href="http://www.opsource.net" target="_blank">OpSource</a> and <a href="http://www.siia.net" target="_blank">SIIA</a> event <a href="http://www.siia.net/aatc/2010/" target="_blank">SaaS Summit: All About the Cloud</a> at the <a href="http://www.westinstfrancis.com/" target="_blank">Westin St Francis Hotel</a> on Union Square in San Francisco. The workshop venue is conveniently located one half-block from the St Francis, at the <a href="http://www.shellhospitality.com/hotels/donatello_hotel/" target="_blank">Donatello Hotel</a> on Post Street.</p>
<h3>Which companies can benefit by attending this workshop:</h3>
<ul>
<li>A new venture or as an ISV with on-premise products considering developing a SaaS offering</li>
<li>A service company with significant vertical expertise than could be delivered and monetized in a SaaS model.</li>
<li>An existing SaaS provider who made choices opportunistically that now constrain growth and cash flow.</li>
<li>A SaaS entrepreneur with limited funding that needs to achieve positive cash flow early with products that evolve with the market.</li>
</ul>
<h3>Company challenges this workshop can help overcome:</h3>
<ul>
<li>Building out a suite of products but are unsure of the pricing and operational models needed to grow.</li>
<li>Developing a framework for sorting out technical and strategic choices required to move to the SaaS business model.</li>
<li>Facing significant operational problems including efficiency while keeping churn under control in an existing SaaS product.</li>
<li>Ensuring the pricing model, development framework and operational plan will work in complex, highly competitive markets.</li>
</ul>
<p><strong>Topics to be covered:</strong></p>
<ul>
<li>What Makes the SaaS Model Different and Difficult?</li>
<li>Making Development Choices Strategically</li>
<li>How to Choose an Effective Pricing Metric</li>
<li>Creating a Lean Product Development Roadmap</li>
<li>Using Packaging and Licensing to Increase Success</li>
<li>Finding the Right Price Levels and Discounts</li>
<li>Operating a SaaS Business</li>
<li>Auditing Your Plans with a SaaS Reference Framework</li>
</ul>
<p>Because of the value of this workshop, the importance of the SIIA/OpSource conference for SaaS providers and the convenience of the venue, this is an excellent opportunity to “put it all together.” The workshop content makes it well suited to a mixed group of business and technical members of your team because it joins the issues of both sides into a single view.</p>
<h3>Per Person Pricing</h3>
<table style="text-align: left; height: 114px;" border="1" cellspacing="2" cellpadding="2" width="345">
<tbody>
<tr>
<td style="vertical-align: top;">
<h4>Early Bird price – expires May 3rd</h4>
</td>
<td style="vertical-align: top;">
<h3>$495</h3>
</td>
</tr>
<tr>
<td style="vertical-align: top;">
<h4>Three or more persons from the same company</h4>
</td>
<td style="vertical-align: top;">
<h3>$395</h3>
</td>
</tr>
<tr>
<td style="vertical-align: top;">
<h4>Price after May 3rd</h4>
</td>
<td style="vertical-align: top;">
<h3>$595</h3>
</td>
</tr>
</tbody>
</table>
<h3>Group Promo Codes</h3>
<p><strong>Three or more members of the same team:</strong></p>
<ul>
<li>On or before May 3rd &#8211; <strong>57KA5G</strong></li>
<li>After May 3rd &#8211; <strong>7GNGBH</strong></li>
</ul>
<p>All attendees will receive copies of the workshop materials. The workshop fee also includes a “working lunch” and refreshments during the day.</p>
<p style="text-align: center;"><a href="http://www.acteva.com/booking.cfm?bevaid=202248" target="_blank">Secure Registration with Acteva</a>.<a href="http://www.acteva.com/go/scio"><br />
<img src="http://www.acteva.com/buttons/1_actnow_75x39.gif" border="0" alt="" width="75" height="39" /><br />
</a></p>
<h3>Hotel</h3>
<p><a href="http://www.shellhospitality.com/hotels/donatello_hotel/" target="_blank">The Donatello Hotel</a> has a <strong>limited </strong>number of rooms available for workshop attendees at <strong>$139</strong> during the period of May 9-14. This is an excellent opportunity to save with a very convenient location if you are also attending SaaS Summit/All About the Cloud Event.</p>
<ul>
<li>To receive this discounted rate, you <span style="text-decoration: underline;">must</span> the contact the hotel directly at 415-441-7100 &#8211; and ask for <strong>In-House Sales</strong> and  the “<strong>SCIO Pricing</strong>” discount.</li>
</ul>
<h3>About the Speakers</h3>
<p><strong> Michael Dunham, VP of Service Engineering – <a href="http://www.sciodev.com" target="_blank">Scio Consulting</a></strong><br />
Mike Dunham has more than 20 years of hands-on experience helping major corporations and government agencies succeed in an increasingly technical environment. As Scio’s principal consultant, Dunham provides clients insight into trends that affect business and technology planning so the processes Scio uses can bring clients’ ideas to life. As the VP of Service Engineering, Michael defines Scio’s service products and operational processes. A native of Sacramento, CA, he holds a bachelor’s degree in business administration from the University of California at Davis.</p>
<p><strong>Jim Geisman, Principal and Founder – <a href="http://www.softwarepricing.com/" target="_blank">Software Pricing Partners</a></strong><br />
Jim is an acknowledged expert in software pricing and, since founding the firm in 1982, has helped several hundred companies develop effective pricing models and strategies. His consulting spans established and emerging software companies delivering B2B solution via desktop, enterprise-class and, more recently Software-as-a-Service / on demand software. Jim has been a board member or advisor to several early stage technology companies. He holds degrees in Electrical Engineering from Tufts University and an MBA from Harvard Business School.</p>
<p>A quick introduction on our podcast:<br />
<img style="visibility:hidden;width:0px;height:0px;" border=0 width=0 height=0 src="http://counters.gigya.com/wildfire/IMP/CXNID=2000002.0NXC/bT*xJmx*PTEyNzIzMTc*NzkyNTEmcHQ9MTI3MjMxNzQ5ODkwMiZwPTQ1MDk3MiZkPUhvc3RJRCUzYSUyMDc1MzM3Jmc9MiZvPTFj/NDFhMWY3M2NkNTQyMWY4NDg2ZmZlMmFhYzkyMjlkJm9mPTA=.gif" /><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.adobe.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" name="btr" width="215" height="230" id="btr"><param name="movie" value="http://www.blogtalkradio.com/btrplayer.swf?file=http%3A%2F%2Fwww%2Eblogtalkradio%2Ecom%2Fhaut%5Ftech%5Fconversations%2Fplay%5Flist%2Exml%3Fitemcount%3D4&#038;autostart=false&#038;bufferlength=20&#038;volume=80&#038;borderweight=1&#038;bordercolor=#999999&#038;backgroundcolor=#FFFFFF&#038;dashboardcolor=#0098CB&#038;textcolor=#F0F0F0&#038;detailscolor=#FFFFFF&#038;playlistcolor=#999999&#038;playlisthovercolor=#333333&#038;cornerradius=10&#038;callback=http://www.blogtalkradio.com/FlashPlayerCallback.aspx?referrer_url=/profile.aspx&#038;C1=7&#038;C2=6042973&#038;C3=31&#038;C4=&#038;C5=&#038;C6=" /><param name="quality" value="high" /><param name="wmode" value="transparent" /><param name="menu" value="false" /><param name="allowScriptAccess" value="always" /><embed src="http://www.blogtalkradio.com/btrplayer.swf?file=http%3A%2F%2Fwww%2Eblogtalkradio%2Ecom%2Fhaut%5Ftech%5Fconversations%2Fplay%5Flist%2Exml%3Fitemcount%3D4&#038;autostart=false&#038;bufferlength=20&#038;volume=80&#038;borderweight=1&#038;bordercolor=#999999&#038;backgroundcolor=#FFFFFF&#038;dashboardcolor=#0098CB&#038;textcolor=#F0F0F0&#038;detailscolor=#FFFFFF&#038;playlistcolor=#999999&#038;playlisthovercolor=#333333&#038;cornerradius=10&#038;callback=http://www.blogtalkradio.com/FlashPlayerCallback.aspx?referrer_url=/profile.aspx&#038;C1=7&#038;C2=6042973&#038;C3=31&#038;C4=&#038;C5=&#038;C6=" width="215" height="230" quality="high" pluginspage="http://www.adobe.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" menu="false" allowScriptAccess="always" name="btr" FlashVars="gig_lt=1272317479251&#038;gig_pt=1272317498902&#038;gig_g=2"></embed><param name="FlashVars" value="gig_lt=1272317479251&#038;gig_pt=1272317498902&#038;gig_g=2" /></object></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sciodev.com/2010/04/12/saas-develop-price-operate-and-succeed/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The 5 Variables of Project Estimation</title>
		<link>http://blog.sciodev.com/2010/04/06/the-5-variables-of-project-estimation/</link>
		<comments>http://blog.sciodev.com/2010/04/06/the-5-variables-of-project-estimation/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 14:01:31 +0000</pubDate>
		<dc:creator>Michael Dunham</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[product development]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[startup]]></category>

		<guid isPermaLink="false">http://blog.sciodev.com/?p=850</guid>
		<description><![CDATA[I've debated writing this article.  Do people expect me to write about Project Management? Well... developing software products does mean you need to plan a project. You need to know and control your risks. So - yeah. I guess it does fit.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.sciodev.com%2F2010%2F04%2F06%2Fthe-5-variables-of-project-estimation%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sciodev.com%2F2010%2F04%2F06%2Fthe-5-variables-of-project-estimation%2F&amp;source=michaeldunham&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>I&#8217;ve debated writing this article.  Do people expect me to write about Project Management? Well&#8230; developing software products does mean you need to plan a project. You need to know and control your risks. So &#8211; yeah. I guess it does fit.</p>
<p>My thoughts on this subject come from practical experience.  Companies who come to Scio with their projects often come with a multi-megabyte PDF, UML diagrams, and a list of specifications. &#8220;Give us a firm, fixed price for getting this project done by June 2nd at 2pm Eastern,&#8221; they say.</p>
<p>Their basic idea is:</p>
<ul>
<li>Software projects have a unenviable record of finishing over budget and way over the estimated completion date &#8211; we&#8217;ll set those so they can&#8217;t creep.</li>
<li>Software outsourcing is risky so we&#8217;ll limit our risk by agreeing to a cost and timeframe we can live with and possibly tag onto some event.  &#8220;Shoot for the June trade show so we have a shiny new product to sell,&#8221; Marketing begs.</li>
<li>We don&#8217;t have the resources to do the project in house, but we don&#8217;t trust any outsourcing group &#8211; so we&#8217;ll rope them in with a fixed fee and time and put all the risk on them.</li>
<li>We know perfectly well what our product needs to be. If we don&#8217;t nail this down, we won&#8217;t get what we need for the price we can afford.</li>
</ul>
<p>The result of this thinking generally speaking is:</p>
<h1 style="text-align: center;"><span style="color: #800000;">Flaming</span> <span style="color: #800000;">Disaster!</span></h1>
<p>Why? Their basic instinct wasn&#8217;t wrong. Software projects do fail to meet their targets with astonishing regularity. They were just trying to limit their exposure. What is happening?</p>
<p>There are five intrinsically linked factors in estimating software product development projects:</p>
<ol>
<li>The <span style="text-decoration: underline;">Total Elapsed <strong>Time</strong></span> expected to produce the specified product.</li>
<li>The <span style="text-decoration: underline;"><strong>Effort</strong></span> required to produce the product.</li>
<li>The <strong><span style="text-decoration: underline;">Cost</span></strong> the client expects to expend.</li>
<li>The <span style="text-decoration: underline;"><strong>Resources</strong></span> required for the project &#8211; their skills and availability.</li>
<li>The <strong><span style="text-decoration: underline;">Specifications</span></strong> for the product; the features, functionality and user experience.</li>
</ol>
<p style="text-align: left;"><a href="http://blog.sciodev.com/wp-content/uploads/2010/04/Balanced.png"><img class="aligncenter size-medium wp-image-857" title="Balanced" src="http://blog.sciodev.com/wp-content/uploads/2010/04/Balanced-300x222.png" alt="" width="409" height="303" /></a></p>
<p style="text-align: left;">In general terms, what clients are trying to do is set a &#8220;target.&#8221; In project management, the general assumption is you can set any one of the five factors as a target for a project, but when you do, you need to let the other four float to where they need to go to reach the target. So if you set cost, you need to vary time, specifications, effort and/or resources to reach a mix that will achieve the project goals within the target cost.</p>
<p style="text-align: left;">Instead, clients set two or more factors in an attempt to &#8220;hold the line&#8221; on all the other factors. They spent a lot of time on those specifications. They need them <strong>all!</strong></p>
<p style="text-align: left;">But in fact, setting more than one factor as fixed creates an almost impossible tension among the remaining factors that almost assures the project will fail to meet its goals. There are no levers left to control the project! It starts out with the best of intentions, but with two or more factors fixed, any change in circumstances during the project creates an imbalance that cannot be corrected with the remaining factors.</p>
<p style="text-align: left;"><a href="http://blog.sciodev.com/wp-content/uploads/2010/04/out-of-control.png"><img class="aligncenter size-medium wp-image-861" title="out of control" src="http://blog.sciodev.com/wp-content/uploads/2010/04/out-of-control-300x254.png" alt="" width="409" height="346" /></a></p>
<p style="text-align: left;">Why does this happen?  Stepping away from our example of setting time and cost as the fixed factors &#8211; think about each of the factors individually and the impact they have on the project:</p>
<h3 style="text-align: left;">Time</h3>
<p>The elapsed project time from start to finish is always different than the total effort applied. Time is measured by a calendar start to finish. Conversely, effort is the sum of all the time expended on a project by the assigned resources.  Total time is never equal to the total effort unless only one resource is assigned, full time.</p>
<p>Software development projects rarely finish on time. Unplanned specification changes, unexpected risks, and resource changes always build up over time and eventually result in a project that is both over budget and beyond the allocated time.</p>
<p>Time to completion can only be estimated and controlled well over short periods. As the time period considered in an estimate increases, the accuracy begins to degrade because of variations in expected effort, the depth and complexity of the specifications involved, the skills and availability of the resources required and the limitations an assumed total cost puts on the project.</p>
<p>It should also be understood that time to project completion is rarely scoped as a direct result of the estimating the effort required.  More often, “artificial completion dates” evolve from a point in a product marketing plan, the current product position, and/or customer demands.  When this happens, there is usually some consideration of project scope, but is rarely enough to address the situation that arises from not first doing a straight-forward evaluation of the effort required to complete the specified product.</p>
<h3>Effort</h3>
<p>The accurate estimation of effort is key to successful software project costing and setting a realistic expected time to completion. In practice however, the amount of effort required to actually produce each bit of application functionality always varies from estimates. The more detailed and contingency bound the estimate becomes, the more likely it is to be wrong. Because of this, past experience and general effort assumptions are used across a project estimation, in the belief that in the final outcome everything will average out. Of course the reverse is also true; averages can never address the all risks in an individual project. So, while averages are a practical approach to project estimation, they cannot yield a project quote that can be fixed to a specific figure without risk.</p>
<p>In this situation, risk buffers for variations in specifications and resources are recommended for effort estimation, especially in Agile development methodologies where development iterations are “<a href="http://en.wikipedia.org/wiki/Timeboxing" target="_blank">timeboxed</a>.”  Timeboxing iterations means variations in effort will generally cause functionality to be pushed ahead to the next iteration and a “snowball effect” can be produced where the amount of effort required for each iteration increases incrementally beyond estimates over time. If buffers were used, more projects would reach their estimates, but in the drive to reach a more competitive price, they are rarely employed when using assumed effort to arrive at fixed cost.  This results in a very narrow margin for error in effort estimation.</p>
<p>In addition, the amount of time required to reach project completion is not directly related to the number of resources available concurrently. Determining effort depends on an experienced assessment of an efficient team size for the project and the methodologies used.  Increasing the number of resources and concurrent tasks beyond a certain point increases coordination and communication overhead exponentially.  Increased team size tends to increase errors, oversight, and testing cycles without a cost effective increase in total output.</p>
<p>Estimates of effort required tend to be assessed from a straightforward analysis of specifications.  During projects, the actual effort required frequently increases beyond estimates because of &#8220;fixes&#8221; required to bridge the gap between specifications and the product as realized in development.  In addition, the elapsed time required for QA by the client team is often under-estimated and can result in either idling development or moving ahead with incorrect assumptions and subsequent rework.</p>
<h3>Cost</h3>
<p>Software development projects almost never finish under their expected cost from the point of view of clients. A few finish at the client’s target cost, but generally only at the expense of other project factors. As a result when projects do cost what was originally expected, the product is often a failure from an end-user point of view.</p>
<p>For clients, target project cost is generally a function of:</p>
<ul>
<li>Expected product price and the desired return on investment that could be produced by an estimated number of paying customers in a reasonable period of time.  In other words, a string of dependencies that may have little basis in the final analysis.</li>
<li>Available funds and cash flow limitations.</li>
<li>Experience with &#8220;similar projects&#8221; &#8211; However, only rarely do estimates based this way actually work out to be similar in the effort required.</li>
</ul>
<p>Target cost is never or only rarely based on:</p>
<ul>
<li>The steps and effort actually required scope and develop a product that is a successful market fit.</li>
<li>Small, incremental steps that can be estimated with a reasonable chance of success.</li>
</ul>
<h3>Specifications</h3>
<p>Specifications are almost always assumed to be a known and set factor in fixed cost projects. They are used as the basis for effort estimation and effort estimation ultimately determines quoted cost. Clients generally have a basic expectation that their specifications do not need to be varied from substantially to produce the desired product at the specified cost.  Clients often expend great amounts of time producing specifications for bid to assure they will be complete and assumed to be fixed. But in fact, not assuming specifications will need to be varied as over the course of a project to meet fixed cost results in a continuous tension between the effort required, the scope remaining and the time remaining on the project clock.</p>
<p>Most fixed cost projects have intentionally limited options to change scope.  Instead, limiting scope change by not providing workable options increases the risk the project will not reach desired goals when actual product is assessed by end-users.</p>
<p>Software development requirements can never be complete enough or communicated well enough to insure understanding and success.  Errors in interpretation, over-broad and over-complex specifications result in many &#8220;fixes&#8221; that are not related to actual code errors by the development team.  These fixes are actually elaborations or “clarifications” of project specifications, but in most projects they are assumed to be “bug fixes” in the process of development, testing and QA. In practice this means the actual functionality works as specified but the implementation is not as desired by the client. Fixes of this type generally add to effort and resource allocations without the assumption they should impact specifications, time or cost.</p>
<p>Software development project requirements are by their nature improved by discovery on the part of both the development team and the client team during analysis and development.</p>
<p>In the course of normal work, discovery exposes:</p>
<ul>
<li>More depth than expected (scope creep).</li>
<li>Different aims and approaches from client and end-user feedback or unexpected insight from seeing the product as it develops.</li>
<li>Technical limitations or alternative approaches that change requirements, the effort and time required.</li>
</ul>
<p>In most software development projects, there are no assumptions or procedures to handle specification discovery and subsequent changes. This results in many variations from project estimates and is a significant factor in project overruns.</p>
<h3>Resources</h3>
<p>Resource management is a function of having the right skills available when needed for a specific task in a project. With limited resources and funds, this is a difficult task for software development companies.</p>
<p>Both internally and externally, software development companies have an ongoing need to balance new projects against support, maintenance and enhancement of existing applications. Companies need to decide the level of investment they will put into new technology. Using time from existing work to move to new technology skills is a difficult and expensive proposition. Recruiting for internal resources is a long, expensive process that often fails to yield dependable, trained resources in the long run.</p>
<p>These factors are the leading reasons clients consider outsourcing. But they are also a factor in outsourced projects themselves because at some level, the client team becomes involved directly with the outsourced team and the results of team resource management. The management of new software development projects is difficult by itself. Because of the time and risks involved in recruiting resources with appropriate skills and knowledge, client project/product managers often don’t have a good understanding of the technology and limitations in the project they are managing.</p>
<p>In this situation, outsourcing software development often leads to a confrontational relationship where the client team feels they have lost control and don’t understand the choices the outsourced development team has made or what effort is being applied to produce deliverables.  They don’t understand that the estimation for time to completion was figured against assumed effort but the accuracy of that assumption varies according to specification clarity, resource skills and availability.</p>
<h3>In Summary</h3>
<p>Variations in the five factors during a software development project leads to:</p>
<ul>
<li>Defensive reactions to clarifications and changes between the client and development team.</li>
<li>Situations where the actual effort in the given time varied depending on specification accuracy and resource skills and availability leads to confrontations.  When time to completion is figured for fixed cost, it is generally figured against assumed effort. Without assumptions for what controls are available to deal with variation, the confrontation continues to simmer throughout the life of the project.</li>
<li>Lost opportunities for a partnership-like relationship of shared risk and reward.</li>
</ul>
<p>The solution could be as simple as not setting more than one factor as fixed, but in practice that is hard to do for many projects. What is really needed is a consultive framework for communication and decision making that is informed by real time reporting during the project and collaborative resolution of issues to reach the client&#8217;s goals. It&#8217;s easy to say, but it takes understanding, planning and agreement to accomplish.</p>
<p>We&#8217;re constantly working on this paradigm everyday &#8211; it&#8217;s challenging and rewarding. What&#8217;s your experience? How do you hold the line? What controls do you have realistically? Have you recognized the five factors in your project estimation process formally? I&#8217;d love to hear your thoughts&#8230;</p>
<p style="text-align: left;">
]]></content:encoded>
			<wfw:commentRss>http://blog.sciodev.com/2010/04/06/the-5-variables-of-project-estimation/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>SaaS: Irrational Fear of Platforms</title>
		<link>http://blog.sciodev.com/2010/03/23/saas-irrational-fear-of-platforms/</link>
		<comments>http://blog.sciodev.com/2010/03/23/saas-irrational-fear-of-platforms/#comments</comments>
		<pubDate>Tue, 23 Mar 2010 20:24:16 +0000</pubDate>
		<dc:creator>Michael Dunham</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[business models]]></category>
		<category><![CDATA[ISV]]></category>
		<category><![CDATA[OPD]]></category>
		<category><![CDATA[PaaS]]></category>
		<category><![CDATA[product development]]></category>
		<category><![CDATA[SaaS]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[startup]]></category>

		<guid isPermaLink="false">http://blog.sciodev.com/?p=833</guid>
		<description><![CDATA[I find much of what I read in the media about the "issues" involved in developing SaaS products as silly - and sometimes just plain misinformed. Is it just me or are there just too many analysts with nothing else to write about?]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.sciodev.com%2F2010%2F03%2F23%2Fsaas-irrational-fear-of-platforms%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sciodev.com%2F2010%2F03%2F23%2Fsaas-irrational-fear-of-platforms%2F&amp;source=michaeldunham&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>I find much of what I read in the media about the &#8220;issues&#8221; involved in developing SaaS products as silly &#8211; and sometimes just plain misinformed. Is it just me or are there just too many analysts with nothing else to write about? <strong><span style="text-decoration: underline;">Hint</span>: </strong>Pick up the phone and talk to some people who are actually developing a SaaS product&#8230;</p>
<p>SaaS itself is a victim of this type of FUD (Fear, Uncertainty and Doubt). There seems to be a rise again of articles about &#8220;continuity assurance&#8221; and &#8220;source code escrow.&#8221; I&#8217;m not going to link to any of them &#8211; all of them seem to assume that there needs to be some draconian legal answer to the problem of data portability. Let&#8217;s be honest people &#8211; <strong>No Technical &#8220;Solution&#8221; is Forever &lt;PERIOD&gt;.</strong> If you&#8217;re not taking steps to manage your risk for control of your data and processes from day one you&#8217;re in trouble no legal agreement or high-priced lawyer can fix.  And yes, a smart SaaS vendor will build portability into their product because they understand the business value it gives &#8211; but nothing can force customers to use it and plan properly.</p>
<p>Likewise, I think people who are researching the business and technical issues for developing SaaS products are finding more FUD than substance. <span style="text-decoration: underline;">Yes</span>, SaaS business operational issues are different, particularly for vendors of traditional &#8220;premise-based,&#8221; single-tenant applications. <span style="text-decoration: underline;">Yes</span>, the technical requirements of the Internet-based and &#8220;cloud&#8221; environments are different.  In fact, it would be a good idea to seek help on these issues so you can concentrate on delivering a service with business value.  But honestly, I would and <a href="http://blog.sciodev.com/2010/02/09/lean-into-saas/" target="_blank">have recommend that</a> for anyone developing a software product today. <a href="http://www.startuplessonslearned.com/2008/09/lean-startup.html" target="_blank">Think lean</a>. Don&#8217;t waste <a href="http://www.bvp.com/About/Investment_Practice/Default.aspx?id=3986" target="_blank">money and time developing</a> what you don&#8217;t have to &#8211; use services and frameworks you can leverage. Spend on developing a product <a href="http://www.lean.org/whatslean/principles.cfm" target="_blank">customers will pull</a> into the market. Learn<a href="http://iterativepath.wordpress.com/2010/02/14/moving-to-customer-driven-product-development-and-pricing/" target="_blank"> customer-driven product </a>management.</p>
<p>But doing that means leaning on tools, frameworks and yes &#8211; platforms so you can focus on your product. Enter the <em>Boogie Man</em>. Analysts produce lists of lists of keywords that capture a perceived issue: &#8220;vendor lock-in,&#8221; &#8220;Opex Vs. Capex,&#8221; &#8220;proprietary lock-in,&#8221; etc. And as anyone who has followed the industry knows &#8211; <a href="http://blogs.zdnet.com/SAAS/?p=668" target="_blank">there have been failures</a>.  But on the other side of the coin &#8211; the number of failures has been quite limited considering the wealth of tools and services available.  That isn&#8217;t a lot of solace to companies that bet on Coghead &#8211; but I have to say they should have seen the writing on the wall a long time before the doors closed. The total lack of data/code portability tied to a vendor that was clearly struggling to get traction and funding (read: no business model &#8211; the smell of burning cash) should have caught prospects&#8217; attention.</p>
<p>The real truth is that software development has been depending on tools, frameworks, application servers, services, and platforms since the days when we left assembly code behind. You can&#8217;t avoid them.  If we were constrained to coding directly for each processor and environment, technical progress would be dismal indeed. Java, C#, HTML, .NET, Apache web server, XML, PHP, Ruby, Python &#8211; all of these simple examples are at some level an abstraction of layers below them. But like Microsoft&#8217;s <a href="http://en.wikipedia.org/wiki/Visual_Basic" target="_blank">Visual Basic</a> &#8211; they are all tools that have a lifecycle and will eventually be superseded or folded into the next generation product. Technology moves on. Nothing is forever.</p>
<p>Of course, this doesn&#8217;t mean application developers shouldn&#8217;t consider where their tools are in their lifecycle and viability of the community of users around them. It doesn&#8217;t mean that the business side should ignore the risks of the choices the technical team has made.  It doesn&#8217;t mean we don&#8217;t need to have an idea of what we would do if the worst comes and we need to change our assumptions. How long would it take? What would the most likely alternatives be? What is the real risk of doing nothing because you&#8217;ve become a &#8220;deer in headlights&#8221; with all the choices you have to make &#8211; instead of just making decisions, allowing for risks and moving forward to a positive cash flow from a product with a growing, paid user base?</p>
<p>Because we don&#8217;t believe &#8220;doing nothing&#8221; is an option that will lead to success, at <a href="http://www.sciodev.com" target="_blank">Scio</a> we&#8217;ve made a conscious choice among the tools available to us. We&#8217;ve picked a group that we believe deliver business value to our customers.   We have invested our time and resources in this &#8220;platform&#8221; to develop our delivery expertise and are continuing to do so.  I say that not to highlight ourselves &#8211; it is what service companies do. They leverage tools to deliver their services better, repeatably and more competitively.</p>
<p>Do I need to say it? SaaS is a service business. Don&#8217;t succumb to the irrational fear of tools you can leverage to better deliver your expertise and value to your customers. Learn to evalute and manage risk. You cannot be successful if you are totally risk averse.</p>
<p>If you&#8217;d like to know more about how to navigate the operational and technical choices in developing SaaS products &#8211; let me make a suggestion: <a href="http://www.softwarepricing.com/aboutus/jhg-profile.cfm" target="_blank">Jim Geisman</a>, of <a href="http://www.softwarepricing.com">Software Pricing Partners</a> and <a href="http://blog.sciodev.com/author/mdunham/">I</a> will be giving workshops on SaaS following the <a href="http://www.siia.net/aatc/2010/schedule.asp" target="_blank">OpSource/SIIA SaaS Summit 2010 &#8211; &#8220;All About The Cloud</a>,&#8221;  May 10-12 in San Francisco.  We&#8217;re very serious about making this an opportunity that people can take advantage of &#8211; so we&#8217;re &#8220;crowd-sourcing&#8221; the workshop configuration before we open registration. We need feedback from people who are either planning to be in the area for SaaS Summit or are just in the region and interested in attending (you don&#8217;t have to attend SaaS Summit to attend our workshops &#8211; but we encourage it).</p>
<p>Would you give us some feedback on the workshop configuration that would be most useful to you <a href="http://bit.ly/AATC_Website">with this survey</a>?  We would really appreciate your help on this.  And watch for more about the workshop starting next month.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sciodev.com/2010/03/23/saas-irrational-fear-of-platforms/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SaaS: Get a Realistic Roadmap</title>
		<link>http://blog.sciodev.com/2010/03/08/saas-get-a-realistic-roadmap/</link>
		<comments>http://blog.sciodev.com/2010/03/08/saas-get-a-realistic-roadmap/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 22:51:57 +0000</pubDate>
		<dc:creator>Michael Dunham</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[business models]]></category>
		<category><![CDATA[features]]></category>
		<category><![CDATA[ISV]]></category>
		<category><![CDATA[Lean]]></category>
		<category><![CDATA[nearshore]]></category>
		<category><![CDATA[product development]]></category>
		<category><![CDATA[SaaS]]></category>
		<category><![CDATA[Scio]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[startup]]></category>

		<guid isPermaLink="false">http://blog.sciodev.com/?p=817</guid>
		<description><![CDATA[I've seen a lot of different "roadmaps" for SaaS products lately. Some of them are good guides for specific questions. Some are simply misleading or poorly focused. But only a few of us are talking about the guiding thoughts behind a realistic roadmap that are critical to success.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.sciodev.com%2F2010%2F03%2F08%2Fsaas-get-a-realistic-roadmap%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sciodev.com%2F2010%2F03%2F08%2Fsaas-get-a-realistic-roadmap%2F&amp;source=michaeldunham&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>I&#8217;ve seen a lot of different &#8220;roadmaps&#8221; for SaaS products lately. Some of them are good guides for specific questions. Some are simply misleading or poorly focused. But only a few of us are talking about the two guiding thoughts behind a realistic roadmap that are critical to success:</p>
<ol>
<li>Developing a product that customers <strong>want</strong>, will <strong>pay for</strong> and will <strong>advocate</strong></li>
<li><strong>Finding</strong> and <strong>scaling</strong> an <strong>economically viable</strong> business model <strong>without waste</strong>d time or money</li>
</ol>
<p>These two points form the basis for a slowly building consensus among founders of successful (and some failed) SaaS companies and those of us who have been involved in multiple projects over time. If you haven&#8217;t come across them, you will if you need to go for funding of any kind or show a business model these days. These folks are in the business of making money from the SaaS business model and developing companies with a worth that is many times their investment.</p>
<p>People who are unfamiliar with the <a href="http://en.wikipedia.org/wiki/Lean_manufacturing" target="_blank">Lean concept</a> often think that it means developing a product that is at best, minimal and at worst, a product that is too basic and that no one will actually want. We&#8217;re used to the idea that it can easily require a two-year development cycle to get a fully-featured product to market. So, when someone says, &#8220;<strong>We can develop a SaaS product in six months or less!</strong>&#8221; there is a tendency to dismiss them as novice product managers or marketers.</p>
<p>If this has been your thought, I don&#8217;t blame you.  You should question what is behind that type of claim. If it is just the size of the development team that can be brought to bear on the project, I would remind you of the old joke in production engineering:</p>
<blockquote><p>&#8220;While we know that it is true a woman can produce a baby in nine months, this does not mean it is also true nine women can produce a baby in one month.&#8221;</p></blockquote>
<p>For our own part, we&#8217;ve developed <a href="http://blog.sciodev.com/2010/02/24/lean-software-product-development-in-4-phases/" target="_blank">our concept of lean product development</a> based on careful analysis of what we could provide to our customers to help them be successful. Rather than repeat the entire mantra &#8211; let me call out some leading references you should be familiar with for evaluating your roadmap:</p>
<ul>
<li><a href="http://www.bvp.com/About/Investment_Practice/Default.aspx?id=3986" target="_blank">Bessemer Cloud Computing Law #1</a> &#8211; Less is More! Leverage the cloud. Don&#8217;t spend money to build features that don&#8217;t provide direct value to the end user.  Go into the market and &#8220;rent&#8221; services. Services allow you to concentrate your resources (time, talent and money) on your core value. They will in fact be richer and more cost effective than anything you can afford to develop.</li>
<li><a href="http://steveblank.com/2010/03/04/perfection-by-subtraction-the-minimum-feature-set/" target="_blank">Steve Blank &#8211; Perfection by Subtraction</a> &#8211; Having a clear, tight vision helps to keep development scope down, but it isn&#8217;t the key to the &#8220;minimum viable product&#8221; often mentioned in discussions about product development.  The key is to get a product in front of customers who can understand the vision and who can become evangelists for it because &#8211; They have a problem your vision will solve. They understand they have the problem. They have been actively looking for a solution. They have put together some parts of a solution themselves. They have or can get a budget for something that solves the problem.  These customers can validate the vision and will actively pull it into the shape that fits their context. With them behind you &#8211; you can develop a beta product that is much closer to what the market needs.  This is also part of <a href="http://www.bvp.com/cloud/law5" target="_blank">Bessemer&#8217;s Law #5 &#8211; Build Employee Software</a> &#8211; which talks about the &#8220;consumerization of software&#8221; that SaaS has enabled.</li>
<li><a href="http://www.forentrepreneurs.com/business-models/why-startups-fail/" target="_blank">David Skok &#8211; Why Startups Fail</a> &#8211; The business model is just as important as the feature set in the end. We&#8217;ve all heard of great products that never sold enough to return their investment before failing. Learning if you have a market fit, if you can actually scale your operations profitably, if the cost of acquiring a customer (CAC) is less than the average lifetime value (LTV), and if you are going to have enough cash when it comes time to hit the marketing accelerator pedal &#8211; these are differences between success and crash and burn. They come down to having a roadmap that gets you into the market early, allows you to test your business model and your product before you have burned all your cash.</li>
<li><a href="http://gigaom.com/2009/08/11/the-promise-of-the-lean-startup/" target="_blank">Eric Reis &#8211; The Promise of the Lean Startup</a> &#8211; Leverage the Agile methodology and philosophy to develop progressively based on customer pull rather than a miracle of market anticipation. We&#8217;d all like to be Apple, but we&#8217;re not &#8211; and getting there is a lot harder and more expensive than we need to expend ourselves on.  The SaaS multi-tenant model allows incremental releases and fixes, usage monitoring, and real feedback-driven products that customers pay for. Eric has a <a href="http://www.slideshare.net/startuplessonslearned/eric-ries-lean-startup-presentation-for-web-20-expo-april-1-2009-a-disciplined-approach-to-imagining-designing-and-building-new-products" target="_blank">very good presentation</a> with the difference between two companies he was with &#8211; that brought him into Lean thinking.</li>
<li>And finally &#8211; <a href="http://blog.tridentcap.com/2010/03/criteria-for-determining-a-companys-saasyness.html?utm_source=feedburner&amp;utm_medium=email&amp;utm_campaign=Feed%3A+tridentcap%2FEdBh+(Trident+Capital+Blog)" target="_blank">Evangelous Simoudis &#8211; Criteria for Determining a Company’s SaaSyness</a> &#8211; This brings all the previous ideas together with having a successful business model and product <strong>BEFORE</strong> you go for funding. This puts funding when it will do the most good &#8211; when you can use the extra acceleration to get the proven product in the market and when in the classic hockey stick market model, it will be easier to get cash with attractive terms.</li>
</ul>
<p>But &#8211; that means having a roadmap that allows you to make these things happen with a reasonable investment. It means signing up customers and getting cashflow before you reach what you might otherwise think was a full-featured product. It means a company with a product in a licensed model will have to think a little differently than a startup to retain their existing customers, but the larger picture should remain stable.</p>
<p>So, coming back to the premise of this article &#8211; a realistic roadmap for SaaS should allow you to -</p>
<ul>
<li>Validate your vision with early adopter/evangelist customers as soon as you can show them your the core of your product&#8217;s business value.</li>
<li>Test your marketing, sales and operations during a beta that is still less than a full-market version, but allows you to show your vision to the broader market and get further feedback.</li>
<li>Leverage services and products that allow you to focus on developing the core value and keep your choices in line with business outcomes &#8211; lower initial cost and faster time to market.</li>
<li>Keep your investment to a reasonable level, particularly in advance of breakeven, and allow high power funding to come when it can do the most good &#8211; when you have a proven product and customers.</li>
<li>Allow early cashflow by having a product driven by paid customer demand.</li>
<li>Be Agile and flexible in both your product development and your business model.</li>
</ul>
<p>At Scio &#8211; we have used these points to come up with a general roadmap that we customize for each customer&#8217;s situation.</p>
<p style="text-align: center;"><a href="http://blog.sciodev.com/wp-content/uploads/2010/02/Lean-Product-Dev.jpg"><img class="aligncenter size-medium wp-image-793" title="Lean Product Dev" src="http://blog.sciodev.com/wp-content/uploads/2010/02/Lean-Product-Dev-300x217.jpg" alt="" width="402" height="291" /></a></p>
<p>Our choice of methodologies, tools and technologies is similarly aligned to ensure we can execute successfully at each stage. Every outsourcing company will decide where they need to focus but for us this means:</p>
<ul>
<li><a href="http://www.microsoft.com/NET/" target="_blank">Using the .NET framework as our core techology base</a>. This allows us to apply common skills across a variety of devices and applications and to tap into a much larger commercial resource pool for staffing. It also keeps costs low because we can focus on building best practices and development patterns while leveraging a large pool of libraries that are available for .Net.</li>
<li>Building on a SaaS application server &#8211; <a href="http://apprenda.com/" target="_blank">SaaSGrid</a> &#8211; that lowers the total cost of development and provides the common SaaS monitoring and operational needs. Sticking to one &#8220;best of breed&#8221; application server that we understand the internals of lowers risk and &#8220;discovery&#8221; associated with learning new development patterns and allows us to focus on the problem of delivering business value to end users.</li>
<li>Leveraging Agile and Lean methodologies internally to allow us to deliver useable software early with feedback from customers and operate with high efficiency.</li>
<li>Use a Nearshore model to put us in closer contact with our customer base and to better enable the promise of collaborative software development embodied in Agile.</li>
<li>A production model that can apply consistent approaches and learning across engagements rather than approaching each project as a &#8220;one-time shot.&#8221;</li>
<li>And finally &#8211; a business model that not coincidentally has a lot in parallel with the concepts we expect our customers to embrace.</li>
</ul>
<p>That is just the choices we&#8217;ve made.  Making these choices is a lot like we ask our customers to do when picking a feature set. We purposely left &#8220;opportunistic&#8221; approaches off the table that would mean we had to spread ourselves a lot thinner to support them at the same level as our core. It also means we can concentrate on improving our core value set without compromising the services we deliver.  We concentrate on our core &#8211; developing successful SaaS products repeatably, economically, and quickly &#8211; and let our customers do the same for their clients.</p>
<p>So what is your roadmap? Does it align with the ideas we and others have offered in recent articles on developing Internet-based products? It&#8217;s all about using the delivery technology that underlies SaaS products to your best advantage in the end.  Whether you develop your product in house or with a product developer like <a href="http://sciodev.com" target="_blank">Scio</a> &#8211; I strongly suggest you consider your roadmap and the driving vision behind it. It can save you a great deal and lower your risk greatly.  Worth considering&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sciodev.com/2010/03/08/saas-get-a-realistic-roadmap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>6 Points for Successful SaaS</title>
		<link>http://blog.sciodev.com/2010/01/05/6-points-for-successful-saas/</link>
		<comments>http://blog.sciodev.com/2010/01/05/6-points-for-successful-saas/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 23:13:31 +0000</pubDate>
		<dc:creator>Michael Dunham</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[business models]]></category>
		<category><![CDATA[customer service]]></category>
		<category><![CDATA[ISV]]></category>
		<category><![CDATA[long-tail]]></category>
		<category><![CDATA[On-Demand]]></category>
		<category><![CDATA[OPD]]></category>
		<category><![CDATA[PaaS]]></category>
		<category><![CDATA[product management]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[startup]]></category>

		<guid isPermaLink="false">http://blog.sciodev.com/?p=742</guid>
		<description><![CDATA[When I wrote the recent article "SaaS: 10 Trends for 2010" I used the phrase "Best Case SaaS." I realized from feedback and some thinking afterward though that many people don't share my vision of what it is.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.sciodev.com%2F2010%2F01%2F05%2F6-points-for-successful-saas%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sciodev.com%2F2010%2F01%2F05%2F6-points-for-successful-saas%2F&amp;source=michaeldunham&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>When I wrote the recent article &#8220;<a href="http://blog.sciodev.com/2009/12/30/saas-10-trends-for-2010/" target="_blank">SaaS: 10 Trends for 2010</a>&#8221; I used the phrase &#8220;Best Case SaaS.&#8221; I realized from feedback and some thinking afterward though that many people don&#8217;t share my vision of what it is.</p>
<p>What I was trying to say is there really is a path to success for SaaS products through the thicket of options out there.  But since we don&#8217;t all share an understanding of all the options &#8211; that becomes pretty nebulous.  We&#8217;ve written about the <a href="http://blog.sciodev.com/2009/10/08/saas-10-ways-to-fail-part-1/" target="_blank">10 Ways to Fail at SaaS</a> &#8211; What about Success?</p>
<p>Whether you call it &#8220;best practices,&#8221; &#8220;optimum implementation,&#8221; or best case &#8211; to have a discussion of what it takes to field a successful product we need to have a common understanding of SaaS itself. One of the people who has been pretty clear about a vision has been <a href="http://blogs.zdnet.com/SAAS/" target="_blank">Phil Wainewright</a> &#8211; but there are several others who are advocating for various aspects. My concern is a lot of them tend to be involved in the technical side of SaaS and not a straight- forward business discussion.  Of course, it takes an understanding of technology to bring a SaaS product to market, but in truth, you can hire that expertise if you have a clear business strategy to back it up.</p>
<p>Before I list the six points I have outlined &#8211; let&#8217;s get our definition clear.  Software-as-a-Service (SaaS) is <span style="text-decoration: underline;"><span style="color: #ff6600;"><strong>not</strong></span></span> as simple as, &#8220;<em>A application delivered over the Internet on a subscription basis</em>.&#8221; That definition is what most people think, but in truth it is far to limiting by itself. If you want to keep it simple, you could just say, &#8220;an online service&#8221; but that might be a little broad. To cover both sides of the fence, vendor and user, I&#8217;ve been using, &#8220;<em>an application delivered across a network to a client in a pay for service model.</em>&#8221; On reflection &#8211; even that definition has its faults.</p>
<p>The point of this little exercise in definitions is that we need to realize that what we once called &#8220;<em>Business-to-Business</em> (B2B or B-to-B)&#8221; or even the slightly more exotic sounding &#8220;<em>B2B2C</em>&#8221; would be called SaaS today.  Does that mean <a href="http://www.priceline.com" target="_blank">Priceline</a> is a SaaS product? Well &#8211; Yes! The simple end-user travel services they offer are monetized on a transaction basis, but we should also understand that behind that stands an even more important service disposing of excess inventory for the hospitality and travel industry. Somewhere in the middle is an advertising platform that allows the &#8220;inventory customers&#8221; sell through Priceline directly. Does Priceline care which service you use? Not really, they make money from all sides of the transaction and with any service you select. It truly is a <a href="http://www.longtail.com/the_long_tail/2009/10/the-long-tail-of-travel.html" target="_blank">Long Tail</a> offering in every way.  The same could be said of the <a href="http://www.amazon.com" target="_blank">Amazon</a> platform <a href="http://blog.sciodev.com/2009/01/06/saas-top-long-tail-aggregators/" target="_blank">only more so</a>.</p>
<p>So &#8211; really we could just say SaaS is &#8220;an online service&#8221; or &#8220;service automation delivered in a pay for service model&#8221; and be accurate? When we do that we begin to realize there is a whole field of service companies that use applications to automate and deliver aspects of their services &#8211; but aren&#8217;t usually considered as &#8220;SaaS companies.&#8221;</p>
<p>With that in mind, let&#8217;s go forward and look at &#8220;Best Case, Successful SaaS.&#8221; The points build on each other &#8211; so follow along through them and it will make more sense.</p>
<h3 style="text-align: center;">6 Points for Successful SaaS</h3>
<p><strong>1. Expertise that can be sold to a reasonably large market segment in an online delivery model and can be scaled to meet the market potential over time. </strong></p>
<p>This is of course the &#8220;reason for being&#8221; for SaaS.  Online services are sold on a &#8220;pay as you go model.&#8221; No matter how you look at it, if you don&#8217;t have a target market large enough to give you a <span style="text-decoration: underline;"><strong>positive </strong><strong>return on investment in a reasonable period of time</strong></span>, you aren&#8217;t going to be successful in a SaaS business model. In a vertical, this means offering a service that is attractive to at least second and third tier markets. It could also mean &#8220;tagging along&#8221; with more general offerings that give your service more weight in an &#8220;ecosystem&#8221; model. Regardless, you cannot ignore the simple economics of online services. You cannot afford to run out of cash before you reach a positive cash flow. That means development has to be planned and controlled to yield just enough of a service to sell successfully as soon as possible. It means that you must have a understanding of <a href="http://blog.sciodev.com/2009/02/10/saas-metrics-saasonomics-101/" target="_blank">SaaS Metrics</a> and the critical Customer Lifetime Value Ratio (CLV). It means you need to have a &#8220;<a href="http://blog.sciodev.com/2009/10/08/saas-10-ways-to-fail-part-1/" target="_blank">proof of market</a>&#8221; investigation as a part of product planning and (for heaven&#8217;s sake!) development. It means you have to understand (and monetize) the value your end-users perceive. It means your online service must be planned to evolve after release (see point #2).</p>
<p>Now the second part of our first point is what brings up the application model of SaaS. To scale a service economically, it has to be automated. When you get right down to it &#8211; <strong>SaaS is service automation!</strong> We&#8217;ve been doing that for years &#8211; the most significant difference is that now the Internet offers a delivery vehicle that is pervasive and universally accepted. So &#8211; if you&#8217;re really going to deliver a service online, plan to automate your own business operations from day one or you won&#8217;t scale with enough efficiency to reach positive cash flow in time. You might be able to onboard your first 100 customers manually &#8211; but if your market plan says you need to take on 1,000 customers with 20 seats each in your first year &#8211; your operational costs will quickly eat your cash reserves &#8211; <strong>IF</strong> you are able to handle the work that involves. (See point #5).</p>
<p><strong>2. A strategic roadmap that allows the product to be brought to market early in the design cycle and to adapt to user and market feedback.</strong></p>
<p>Taking the first point to heart means really understanding you can&#8217;t do everything and you <a href="http://www.bvp.com/About/Investment_Practice/Default.aspx?id=3986" target="_blank">shouldn&#8217;t if you want to be successful</a>. You need to have a plan, a roadmap. You need to provide a valuable service from day one the <strong>market will pay for</strong>, but you also need to have a strategic plan for where your service is going over time.  Within that plan, you need to be flexible (see point #3) and responsive to user feedback (see point #4) and market forces.</p>
<p>Bringing the product to market early also means not taking on development of features that don&#8217;t support the direct value to end-users. As mentioned in point #1 &#8211; you need to automate your service &#8211; but do you really need to build all your operational automation (see point #5) to bring a product to market? <strong>No.</strong> There are many <a href="http://blog.sciodev.com/2009/11/12/saas-diy-or-eat-your-own-dog-food/" target="_blank">operational services you can leverage</a> to lower your development complexity (risk), time to market and total development cost.  The general rule of thumb is you will save as much as 60% of your development effort and about 40% of your total costs before launch. The services you use become part of your overhead and need to be part of your metrics. Can you develop them into your service at a later date when the cost is justified by growth? If you take point #3 into account &#8211; yes.</p>
<p><strong>3. An extensible, service-oriented technical architecture that will support the expected growth and change over the long term, <span style="text-decoration: underline;">economically</span>.</strong></p>
<p>Before anyone calls me on it &#8211; the last word in this point covers a lot of sins that have been visited on the SaaS business model. Let&#8217;s be straight-forward. We&#8217;re interested in SaaS because we want to <strong>MAKE MONEY</strong>. If we want to do that we have to be able to operate, deliver and maintain our application economically and reliably over the long run. <strong>That means we need a multi-tenant database structure</strong>. I don&#8217;t know any other way to say it. You cannot scale on individual instances for each customer or maintain them over time and make money.</p>
<p>It doesn&#8217;t mean however we have one big spinning top that runs everything forever.  As your service grows, you will use several strategies to extend your application over multiple instances, and to balance your service among several applications perhaps. Do you have the idea that Amazon is one big application? Of course not. Your service might present one &#8220;interface&#8221; for users &#8211; but that doesn&#8217;t mean it is just one application. Architecturally, that is just the &#8220;presentation layer.&#8221; We have to have an understanding of the technical strategies that allow online services to scale, embed other services, extend our services outside the application, and change our service without extensive rewrites over time while continuing to make a profit.</p>
<p>With that understanding, we can plan our roadmap to help us decide the battles we need to take on and when. Do we need to buy infrastructure if we can rent it? Not if the market price, availability and reliability meets our needs. Do we need to build a pricing and settlement system to monetize our service? Not if there is one available at a price that can be incrementally applied as we scale and with the level of maturity we need.  Can we eliminate some maintenance concerns with virtualization? Yes &#8211; when it makes business sense &#8211; if we have a properly architected application that is built for the online environment.</p>
<p>What about &#8220;lock in?&#8221; they ask. There are two things to consider: #1 &#8211; Can you afford to spend thousands of extra dollars over some extended period of time before you put your service in the water, take on customers and begin making money?  For most of us the answer is no.  #2 &#8211; If your application is properly architected and you have developed a roadmap with proper risk avoidance, the services and platforms you use are tools you use to reach your maket sooner and with less up-front investment. Do you want to buy that store on the mall or rent it? If you rent &#8211; can buy or build when you have a proven market? In most cases &#8211; yes.</p>
<p>All this implies you or your team has technical background in online services. But if you are a entrepreneur or service company without a strong technical team &#8211; can you still survive in the SaaS world? Yes. There are companies with services that will fill that void &#8211; (shameless plug for the people who bring you this blog) <a href="www.sciodev.com">Hello</a>&#8230;.</p>
<p><strong>4. Customer and user collaboration tools embedded in the service and the business operations that surround it.</strong></p>
<p>If you absorbed the last three points &#8211; you should have gotten one thing clearly: Release 1.0 day is not the end of the development cycle for online services. Because of Google, SalesForce, Amazon, and service portals like <a href="http://fedex.com" target="_blank">FedEx</a> operates, we all expect, even require, online services to evolve. It should be no surprise that online services need to evolve dynamically to meet customer needs and stay ahead of the market. The question is how?</p>
<p>Just like nearly everything else in online services, the answer comes with some level of automation. Inside the application, monitoring must be embedded to help evaluate feature use in a user context. We need to know if user admins are able to use the tools they have effectively. We need to know what percent of their day our line of business users spend in the application and how often they use it to complete &#8220;high value tasks.&#8221; With that information as a baseline, we can evaluate the impact of new features, improved help, better support strategies. Without it &#8211; we&#8217;re clueless and we might as well be selling licensed software to silos behind firewalls.</p>
<p>To leverage our delivery platform even more we need to embed direct user engagement with blogs, forums and community tools like <a href="http://uservoice.com/" target="_blank">UserVoice</a> and <a href="http://getsatisfaction.com/" target="_blank">Get Satisfaction</a>.  These are services you subscribe to (point #3) not build. These are not the endpoint for user engagement however, they are just the tools. As tools, they are used by product management, support, sales and marketing to help guide service development, to retain customers, up sell and grow best practice communities.  What you should be beginning to realize is this really means a successful online service needs to rethink the timeworn model of &#8220;key stakeholder engagement&#8221; and get <a href="http://blog.sciodev.com/2009/06/11/saas-towards-an-agile-business-architecture/" target="_blank">directly to the end user</a>. To do that the business organization behind the service needs to be aligned to leverage the tools and integrate what they yield into decisions. (Enter points #5 &amp; 6).</p>
<p><strong>5. Integrated business operations for the service itself embedded in the same delivery model used to deliver to end-users.</strong></p>
<p>Once again &#8211; SaaS products are classic service automation. If you are going to sell a service &#8211; if you are going to build an application to deliver your services &#8211; shouldn&#8217;t you also automate the pricing, settlement, onboarding, user management and all the other operational aspects of your business directly in the application itself?</p>
<p>This is a point that seems to have eluded many service companies and ISVs with licensed products. You cannot<strong> scale to reach profit</strong> in online services with manual or loosely connected internal business processes. SaaS is all about making a profit from volume.  But, as point #2 cautions, you cannot build all the operational aspects of your service directly into the application without placing considerable risk on your costs, application complexity and time to market. If you have planned your product with the architecture discussed in point #3, you can leverage available services that will provide these critical aspects of business operations for you and embed them in the product platform itself. This gives you the best of both worlds &#8211; fully integrated business operations using the data and infrastructure you already have online and a cost that is applied incrementally based on use.</p>
<p><strong>6. Agile business philosophy embodied in every aspect of product development, operations and services.</strong></p>
<p>You nearly have it &#8211; successful SaaS is all about service automation and dynamic business. It delivers what we need, when we need it, at a cost that is measured by use on every side of the platform. That means you and your customer alike are benefiting from the investment in the application and involved in its continued success intimately.</p>
<p>To handle the continued development and change involved in SaaS, most technical teams use Agile methodologies. To feed development and manage the product roadmap then, we also need to consider an organizational <a href="http://blog.sciodev.com/2009/06/11/saas-towards-an-agile-business-architecture/" target="_blank">alignment with agile philosophy</a>. When we really consider the organizational impact of being an online service, we start to understand there is really no option. To be successful at SaaS, we need to be an agile business top to botttom.</p>
<p>This is a lot to absorb. It is a different way of doing business. I don&#8217;t want to underplay the significance of any one of these six points. We at <a href="http://www.sciodev.com" target="_blank">Scio</a> made a strategic decision last month &#8211; we&#8217;re alining our services to deliver best case SaaS to our product customers <strong>and nothing else</strong>.  To help people put this into their own context, we&#8217;re giving a workshop on <a href="http://blog.sciodev.com/2009/10/21/saas-workshop-charting-your-course-to-saas/" target="_blank">January 28th in Dallas as part of SaaS University</a>. I strongly encourage you to join us if you have any interest in developing an online service in the coming year.</p>
<p>So &#8211; what is your take? Did this list suprise you? I hope not &#8211; but I&#8217;d love to hear your point of view.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sciodev.com/2010/01/05/6-points-for-successful-saas/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SaaS Case Study: Using Innovation Games for New Products</title>
		<link>http://blog.sciodev.com/2009/11/19/saas-case-study-using-innovation-games-for-new-products/</link>
		<comments>http://blog.sciodev.com/2009/11/19/saas-case-study-using-innovation-games-for-new-products/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 19:32:57 +0000</pubDate>
		<dc:creator>Luis Aburto</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[innovation]]></category>
		<category><![CDATA[ISV]]></category>
		<category><![CDATA[OPD]]></category>
		<category><![CDATA[PaaS]]></category>
		<category><![CDATA[product development]]></category>
		<category><![CDATA[product management]]></category>
		<category><![CDATA[product manager]]></category>
		<category><![CDATA[SaaS]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://blog.sciodev.com/?p=691</guid>
		<description><![CDATA[We recently started a project with a new client from the UK to develop a SaaS application for them using Innovation Games and found them to be very useful in developing and prioritizing product features and development plans.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.sciodev.com%2F2009%2F11%2F19%2Fsaas-case-study-using-innovation-games-for-new-products%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sciodev.com%2F2009%2F11%2F19%2Fsaas-case-study-using-innovation-games-for-new-products%2F&amp;source=michaeldunham&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>At<a href="http://www.sciodev.com" target="_blank"> Scio</a>, we use <a href="http://www.innovationgames.com/" target="_blank">Innovation Games</a> with our clients in several contexts, from new product definition to ongoing product management. For a new product design, the games help us work with our client team to uncover customer requirements that are still loosely defined, as well as to help our development team understand the key selling points of a product. For ongoing product management, the games help us work with client product managers to come up with new ideas, develop and prioritize their product roadmap and identify issues hampering their success.</p>
<p>Innovation Games are a series of <a href="http://en.wikipedia.org/wiki/Serious_game" target="_blank">serious games</a> developed by <a href="http://www.enthiosys.com/" target="_blank">Enthiosys</a>, an Agile Product Management consultancy based in the Silicon Valley. Enthiosys developed these games to drive innovation by facilitating communication between clients, users and the development team in a structured but fun approach. By using a “game” approach, the activities remove personal agendas and psychological barriers that frequently exist when trying to reach alignment between stakeholders. Luke Hohmann, CEO of Enthiosys, has written a book about the games and methods behind them &#8211; <a href="http://www.amazon.com/Innovation-Games-Creating-Breakthrough-Collaborative/dp/0321437292/ref=ntt_at_ep_dpi_1" target="_blank">Innovation Games: Creating Breakthrough Products Through Collaborative Play</a>.</p>
<p>We recently started a project with a new client from the UK to develop a SaaS application for them using <a href="http://apprenda.com/platform/" target="_blank">SaaSGrid</a> (SaaSGrid is a SaaS Application Server developed by <a href="http://apprenda.com/" target="_blank">Apprenda</a>). As part of the project kick-off and Product Design phase, three members of the client team spent a week at our Development Center in Mexico including the their <a href="http://www.scrumalliance.org/articles/44-being-an-effective-product-owner" target="_blank">product owner</a>, the project manager and a development manager.</p>
<p>The visit was part of Sprint 0 (product definition and design), which is the first phase of our <a href="http://www.sciodev.com/engagement-model/agile-development-practice" target="_blank">Agile Development process</a>. The visit had five key objectives:</p>
<ul>
<li>Finalize the high-level product requirements.</li>
<li>Define the technical architecture.</li>
<li>Define the UI approach and look &amp; feel</li>
<li>Finalize the project execution plan.</li>
<li>Get the development team underway with the certainty that they had an accurate understanding of the project goals, the product key features and the overall vision and expectations of our client.</li>
</ul>
<p>During this visit we used Innovation Games to reach some of the objectives we had in mind. We used four games:</p>
<ol>
<li>Product Box – day 1, morning</li>
<li>Start your Day – day 1, afternoon</li>
<li>20/20 Vision – day 3, afternoon</li>
<li>Remember the Future – day 4, morning</li>
</ol>
<p>Our client provided their application requirements as part of their development partner selection process and those were used to estimate project scope and provide our price quote. It was understood at the beginning that the requirements were not 100% complete and some ideas about new requirements or the approach to implementing some elements had changed since the  document was written.</p>
<p>We began our games with <a href="http://www.innovationgames.com/the-games/Product+Box" target="_blank">Product Box</a>. Our aim was to quickly surface the key features (and key selling points) of the product. After reviewing what came out of that game, we discussed in more detail the full set of application requirements, the company goals, and the overall project expectations.  We then followed with a session of <a href="http://www.innovationgames.com/the-games/Start+Your+Day" target="_blank">Start Your Day</a>. In preparation for this game, we had printed daily, weekly and yearly calendars on full poster-size paper. We played the game for all <a href="http://zenagile.wordpress.com/2009/08/14/personas-in-agile/" target="_blank">Personas</a>, and with this activity we wanted to identify patterns of use for each persona.</p>
<p>On the third day, after we worked on defining user stories in greater detail and across all modules, we played <a href="http://www.innovationgames.com/the-games/20+%2F+20+Vision" target="_blank">20/20 Vision</a>. We printed all the features (each feature contained one or more user stories) on letter-size paper, and with masking tape, we started to place them on the wall. The client team went through an iterative process of placing features on the wall and moving them up and down, where the features at the top were deemed to provide more value to end users, and the ones at the bottom less value. This exercise helped us prioritize the product backlog. This prioritization, together with technical dependencies, is used to define the sequence of application development for the user stories.</p>
<p>On the final day of the visit, we worked with the client team in the <a href="http://www.innovationgames.com/the-games/Remember+the+Future" target="_blank">Remember the Future</a> game. The scenario we set for the game was: “The date is exactly three months after the launch of the product, what will the ideal situation look like?”. This brought up expectations about the number of paying customer they would have, the quality and performance of the application, etc. Then we asked, “what will each of our teams have done to make that happen?”. We worked backwards to bring out all the activities and milestones in marketing, development, testing, etc. that will be needed to get to that ideal situation.</p>
<p>Using Innovation Games was very productive for this project.</p>
<ul>
<li>Product Box it helped us see that some of the requirements that we thought were secondary were actually part of the key selling points of the product.</li>
<li>In Start your Day we realized that some users will concentrate their usage of the system to specific hours of the day, where they will need to process data in batch modes. This suggested that we needed to design a UI optimized for sequential data capture for those users. Additionally, we discovered that we will have peaks in some batch processes, such as invoicing, at certain times during the month, as well as some reporting that needs to be generated once a year for tax return purposes.</li>
<li>20/20 Vision was useful to prioritize features using end-user value, rather than how cool a feature would be or how attached a member of the client team was to a piece of functionality.</li>
<li>Remember the Future helped us see the dependencies between the work that each of us (Scio and Client) has to do to make the project successful, as well as establish a timeline that we will need to adhere to.</li>
</ul>
<p>When as part of the agenda for the visit, we mentioned that we were going to use “Innovation Games,” our client was of course, curious about the idea. It is easy to imagine a &#8220;game&#8221; but not necessarily the business value behind it. We explained that the games are strong facilitation techniques that would be fun and productive, so they engaged with enthusiasm and played along happily. The results were great, and at the end of the week we all agreed that we accomplished a lot.</p>
<p>Although it is possible to obtain similar results using other facilitation approaches, using Innovation Games is a more engaging and fun approach to exposing all the different aspects of a product that surface during the games, which would otherwise be missed or discovered too late.</p>
<p>So let’s keep on playing &#8211; Serious games that is.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sciodev.com/2009/11/19/saas-case-study-using-innovation-games-for-new-products/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SaaS: DIY or Eat Your Own Dog Food?</title>
		<link>http://blog.sciodev.com/2009/11/12/saas-diy-or-eat-your-own-dog-food/</link>
		<comments>http://blog.sciodev.com/2009/11/12/saas-diy-or-eat-your-own-dog-food/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 15:48:25 +0000</pubDate>
		<dc:creator>Michael Dunham</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[business models]]></category>
		<category><![CDATA[ISV]]></category>
		<category><![CDATA[On-Demand]]></category>
		<category><![CDATA[OPD]]></category>
		<category><![CDATA[PaaS]]></category>
		<category><![CDATA[product development]]></category>
		<category><![CDATA[product management]]></category>
		<category><![CDATA[SaaS]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[startup]]></category>

		<guid isPermaLink="false">http://blog.sciodev.com/?p=657</guid>
		<description><![CDATA[I've noticed there are broadly two camps when it comes to developing new services for the Internet: Those entrepreneurs that feel they must do everything themselves regardless of the hurdles they face and those that want to focus on their core expertise and leverage outside services where possible.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.sciodev.com%2F2009%2F11%2F12%2Fsaas-diy-or-eat-your-own-dog-food%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sciodev.com%2F2009%2F11%2F12%2Fsaas-diy-or-eat-your-own-dog-food%2F&amp;source=michaeldunham&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p><img class="size-medium wp-image-661 aligncenter" title="Which Way?" src="http://blog.sciodev.com/wp-content/uploads/2009/11/pe03513_-274x300.png" alt="Which Way?" width="274" height="300" /></p>
<p>I&#8217;ve noticed there are broadly two camps when it comes to developing new services for the Internet: Those entrepreneurs that feel they must do everything themselves regardless of the hurdles they face and those that want to focus on their core expertise and leverage outside services where possible.</p>
<p>Of course, there are also those that sit on the fence and never make a clear decision either way, but since for the most part the fence-sitters haven&#8217;t and won&#8217;t develop a service anytime soon &#8211; they fall outside the scope of this discussion. And frankly &#8211; they are hard to address until they make a choice that works for them.</p>
<p>The DIY (Do-It-Yourself) mindset comes from a long tradition in software development. The idea of the lone visionary, working in a makeshift office in the garage late at night against all odds, is an <a href="http://www.hp.com/hpinfo/abouthp/histnfacts/garage/" target="_blank">iconic image for Silicon Valley</a> entrepreneurs. The folks who took that route are the stuff of legends in the business &#8211; and rightfully so.</p>
<p>But today&#8217;s business is a lot different from the days when people like <a href="http://en.wikipedia.org/wiki/William_Reddington_Hewlett" target="_blank">Bill Hewlett</a>, <a href="http://en.wikipedia.org/wiki/David_Packard">Dave Packard</a>, <a href="http://en.wikipedia.org/wiki/Steve_Jobs">Steve Jobs </a>and <a href="http://en.wikipedia.org/wiki/Bill_Gates">Bill Gates</a> started. There are options, services and alternatives that can be strategically leveraged on the road to product release that didn&#8217;t exist just a few years ago. We&#8217;ve gone through many cycles of change and innovation that have both raised user expectations and created a number of issues that entrepreneurs are expected to understand and deal with at an early stage.</p>
<p>Since I focus on helping &#8220;as a Service&#8221; and cloud-based businesses &#8211; I also have to point out another interesting aspect of this strategic choice for entrepreneurs. If you are expecting to sell a service delivered on the Internet &#8211; are you taking your own medicine? Are you considering services you can leverage to help you deliver your service more efficiently, faster and with more options than you might otherwise be able to offer with a reasonable compromise between cost and effort?  If you&#8217;re not &#8211; are you in a good position to advocate someone else should make a different decision when they look at your new service? It&#8217;s an interesting thought&#8230;</p>
<p>To add one more log to the fire &#8211; the first rule of Bessemer Venture Partners <a href="http://bvp.com/saas/default.aspx" target="_blank">Top 10 Laws of Cloud Computing and SaaS</a> is:</p>
<blockquote><p><strong><a href="http://bvp.com/About/Investment_Practice/Default.aspx?id=3986" target="_blank">BESSEMER CLOUD COMPUTING LAW #1: Less is more!</a></strong></p>
<p>Leverage the cloud everywhere you practically can, both for your internal systems as well as for your own product offering(s) and “just say no” to on-premises deployments! This will not only give you a direct understanding of the customer experience and best-of-breed strategies of Cloud Businesses, but it will free up your technical resources and balance sheet to focus on your core product and customers.</p></blockquote>
<p>There is another side of the discussion too &#8211; There is a large segment of the SaaS market that is made up of service-based businesses that use custom applications to manage and extend their services to their clients. These companies often don&#8217;t see the applications they use as more than an aspect of their service. They do not see themselves as software developers but they do develop, integrate and leverage application-based services for their service offerings. In today&#8217;s environment, many of these companies are extending their services to the Internet in one way or another.</p>
<p>What are some of the options available as services to developers of &#8220;as a Service&#8221; products today?</p>
<ul>
<li><strong>Infrastructure Virtualization</strong> &#8211; Whether you call them &#8220;cloud services&#8221; or Infrastructure as a Service (IaaS) or virtualization, there is a broad set of services available to eliminate the need to own, provision, maintain and scale the servers, CPU, memory, storage, networks, databases and operating systems required to offer a service on the internet. In the best case, these services are use-based and can scale up and down with demand. They can eliminate or lower the costs of buying and deploying infrastructure and the resources necessary to operate and maintain it. On the resource side, this may be a expensive skill set not present in the existing vendor team that could be less burdensome if many of the tasks are automated. That said, IaaS is an often abused term in my opinion. Just as everything on the Internet is being identified as a &#8220;cloud service&#8221; &#8211; infrastructure services come in many shapes and flavors and some deliver more promises than value. Knowing what is possible, what you are actually getting and what you need is key when you begin to engage with cloud providers.</li>
<li><strong>Operational Services</strong> &#8211; This is another broad class that covers what we often call the &#8220;plumbing&#8221; of an on-demand service. It includes areas like billing and settlement, pricing, client administration, reporting, integration, user community management, sales automation, product management, and content management. If developed from scratch, the combined effort to put these services into a product can easily reach 60% of the cost of a project. In fact, because of the cost and expertise required, these services often end up being very constrained or left to manual processes which greatly impede growth and reliability of the product.</li>
<li><strong>Platform Services</strong> &#8211; If IaaS is an often abused term, Platform as a Service (PaaS) is rarely ever described in terms that actually speak to their business value for as a Service companies. 90% of what is offered today as PaaS is either a development environment or a BPM (business process management or workflow) system. I don&#8217;t want to disparage the value of those two approaches to a software development effort &#8211; <strong><span style="color: #0000ff;">but</span> </strong>- they need to be separated from the PaaS offerings that also address the operational needs of a service-based business as described above.  A PaaS that addresses operational needs does several things for a new service &#8211; it lowers the effort and cost required for development and it lowers the time to market and risk associated with larger, more complex development efforts. In addition, most PaaS offerings include levels of infrastructure virtualization that lower the need to deploy and manage the servers and their associated hardware, software and networks.</li>
<li><strong>Resources</strong> &#8211; While outsourced development is a very obvious option for building the application (<a href="http://www.sciodev.com" target="_blank">Scio</a> is after all, a software development provider) , there are many types of resources available for specific tasks such as planning, marketing, sales, and support. It is critical that the selected service provider understands the issues that &#8220;as a service&#8221; businesses face, but when they do they can greatly reduce risk, false starts and strategic errors. In considering outsourced resources it is important to remember there will always be a &#8220;cheaper&#8221; resource somewhere. The provider you select needs to deliver value for cost and in SaaS and cloud-based businesses that comes from knowledge and practical field experience.</li>
</ul>
<p>So, let&#8217;s say you&#8217;re one of the entrepreneurs that are either considering or actively leveraging services as a part of your product strategy. What do you need to understand to be successful at picking or using services?</p>
<ol>
<li><strong>Pick for Value, Not Cost</strong> &#8211; Value can be measured many ways but the key in services is not the cost, it is value delivered. In most cases this should be realized in lowered or offset development effort, risk, complexity, time to market, or  increased expertise (or all of the above). Depending on the type of service, the offset could be in the form of on-going overhead &#8211; as it would be if you use a billing service for instance. In the best case, all overhead for service-based businesses should be tied to use. This means the overhead cost per period can be divided by the number clients or users so it can be understood and budgeted as an operational cost. In this scenario, the cost should also fall if the basis (users or amount of bandwidth or whatever the metric is) also goes down. A service cost that only rises in stair steps can quickly become a serious liability if there is a lot of subscription churn or usage variability in your product.</li>
<li><strong>Build for Flexibility </strong>- Just as the features you offer in your product today will invariably need to change over time, so too will your service strategy. When you have reached a point in your growth curve that it makes sense to recapture the overhead devoted to a service, you may decide to build that function into your application directly. If you have built on a flexible architecture, this should be a choice that is available to you whenever you decide the time is right. This same line of thought addresses changes in service providers. Just as you might decide to change your bank to capture a better interest rate or more services, you should also be able to change your service provider if competition puts a better choice in front of you or your existing provider goes under. This is a risk in every aspect of business and part of the trade-offs you have to consider. Not planning for risks is wrong but expecting you have eliminated all risks by taking on the responsibility yourself is equally shortsighted. Properly balanced service usage and risk planning is a serious competitive advantage in the long run.</li>
<li><strong>Pick Your Battles </strong>- Understanding service value means really knowing what your business needs. You will not have every use case for pricing in place the day you roll out your service. Building a pricing engine at that point means you may have to completely redesign your system while doing manual workarounds when it is realized you need a different pricing strategy. In this case, a feature-rich service could provide a window into many approaches you hadn&#8217;t considered. On the other hand, if your service requires a great deal of analytics, a library of analytic routines may be of value to lower development overhead, but if you do not completely understand how the library works and the results are obtained, it could be providing unreliable results. Just as in selecting features, you need to understand what your service needs to be effective and pick your battles carefully. Don&#8217;t build what you don&#8217;t have to but don&#8217;t accept black boxes that you don&#8217;t understand. <span style="color: #0000ff;"><strong>Do proof of concept runs and don&#8217;t accept marketing at face value</strong>.</span> What works for another provider may be entirely different in your context.</li>
<li><strong>Focus on Delivering Your Expertise and Satisfying Your Customers</strong> &#8211; Really this is just part of picking your battles, but it is a core strategy just the same. The point of an effective services strategy is that it must free your team to focus on the value you provide to your customers .  If managing a service is more work than doing it yourself, there is something wrong. Effective services clear out operational hurdles, provide market-led options, and grow with you. This also means understanding your core expertise and not extending yourself into areas where you don&#8217;t need to go to be successful. Service-based business is quite different than providing licensed software. Leverage service providers who have the field expertise you need while you continue to define and deliver the value your customers are paying for. Would you want your airline pilot to also be the maintenance team that keeps a modern passenger jet operational? It might sound good on the surface, but in reality, there is enough in each field that it just isn&#8217;t practical or safe. Focus on what you need to do to keep your customers and let qualified resources keep the engines running.</li>
</ol>
<p>I would be remiss if I didn&#8217;t also say that we help our clients pick services everyday. There is no one size fits all and every choice has a trade-off. We spend a fair amount of time dissecting services and trying to understand the technical and business cases for their use. I can&#8217;t recommend a set of services that will work in every situation &#8211; but I hope these &#8220;pointers&#8221; will give you an idea of what is involved in the choices you have.</p>
<p>What have you found? What situations have you faced? Join the conversation and let me know.</p>
<h2><span style="color: #0000ff;">Addendum -</span></h2>
<p>I&#8217;m going to the <a href="http://www.cloudfutures.com/usa/">Cloud Futures conference in San Jose, December 7-8, 2009</a>. If you&#8217;re going to be there let me know <a href="http://twitter.com/michaeldunham" target="_blank">on Twitter</a> or by leaving me a comment here. I&#8217;d love to get a chance to meet with some of the community there and heaven knows, none of us have gotten out to many conferences in the last couple of years.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sciodev.com/2009/11/12/saas-diy-or-eat-your-own-dog-food/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SaaS: 10 Ways to Fail &#8211; Part 2</title>
		<link>http://blog.sciodev.com/2009/10/09/saas-10-ways-to-fail-part-2/</link>
		<comments>http://blog.sciodev.com/2009/10/09/saas-10-ways-to-fail-part-2/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 19:17:23 +0000</pubDate>
		<dc:creator>Michael Dunham</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[business models]]></category>
		<category><![CDATA[customer service]]></category>
		<category><![CDATA[ISV]]></category>
		<category><![CDATA[Metrics]]></category>
		<category><![CDATA[product management]]></category>
		<category><![CDATA[product marketing]]></category>
		<category><![CDATA[SaaS]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[startup]]></category>

		<guid isPermaLink="false">http://blog.sciodev.com/?p=610</guid>
		<description><![CDATA[In Part 1 of this list we covered the first five points - so if you haven't read that already, I encourage you to go and read that first. For everyone else - here's the remaining five points in my hit parade.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.sciodev.com%2F2009%2F10%2F09%2Fsaas-10-ways-to-fail-part-2%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sciodev.com%2F2009%2F10%2F09%2Fsaas-10-ways-to-fail-part-2%2F&amp;source=michaeldunham&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>In Part 1 of this list we covered the first five points &#8211; so if you haven&#8217;t read that already, I encourage you to <a href="http://blog.sciodev.com/2009/10/08/saas-10-ways-to-fail-part-1/" target="_self">go and read that first</a>. For everyone else &#8211; here&#8217;s the remaining five points in my hit parade:</p>
<h3>6. Plan a yearly release cycle in conjunction with industry trade shows.</h3>
<p>For marketing, product managers and developers with any experience in the software industry &#8211; this is a natural tendency. For the <a href="http://blogcritics.org/scitech/article/the-infinite-spiral-the-software-industry/">past 30 years</a>, release schedules have rode the waves of industry events like clockwork. Because of the close association with end-users, a subscription renewal cycle which is frequently 30 days, and the &#8220;standards&#8221; set by industry leaders like Salesforce, Amazon, and Google &#8211; SaaS users expect a steady drip of improvements that have no set schedule. Waiting for some arbitrary &#8220;release date&#8221; is unnecessary and counterproductive. If the application is properly maintained and architected, the update will take place without any disruption to service.</p>
<p>Unlike upgrades to locally maintained applications &#8211; where IT departments  had to schedule and plan for application upgrades and possible failures &#8211; those issues are now considered to be the domain of the service vendor. It has been outsourced &#8211; this is a core part of the service clients are paying for. Frankly &#8211; end users don&#8217;t care how it is done as long as there is no significant business disruption. Instead they are delighted to find a new feature that solves one of their problems &#8211; assuming all parts of the SaaS operation are meshed and working properly. The steady drip of improvement builds user loyalty and increases application &#8220;stickiness.&#8221;</p>
<h3>7. Provide customized versions and features for specific customers.</h3>
<p>In software development, this is known as <a href="http://en.wikipedia.org/wiki/Fork_(software_development)">&#8220;forking&#8221; your development </a>or branching to produce a different, but concurrent, version of an application.  Developers try to avoid it like the plague because it greatly increases risk &#8211; later changes may not be compatible with the customization done for a specific instance. In traditional installed software, with long release cycles, it was often done by system integrators or vendor professional services. It is an expensive practice that necessarily limits the ability of the customer installation to take the next version. So &#8211; they &#8220;sandbox&#8221; new versions and thoroughly test them before deployment. This may put them several months behind the release schedule of new versions, but it has always been considered a necessary evil in enterprise software deployment.</p>
<p>In SaaS, the tactical reasons for allowing individual instances and customer specific customization become operational nightmares. Now the steady flow of upgrades (point 6) becomes a significant cost issue for service maintenance. It requires more resources, planning, and risk. With the narrow margin of most SaaS operations, it can quickly become an issue that impacts reliability and profitability.</p>
<p>Proper SaaS product management provides two ways to get around this potential bump in the road:</p>
<ul>
<li>SaaS applications are architected to be configurable (rather than one-off customizations) to meet the demands of their market. Available configurations are consistent across the application and limited (if at all) only by feature bundling and pricing. Configurations are tested as a part of the normal development cycle without any special conditions. If a new customer requires a new element in configuration, product development evaluates the market and development effort required and makes a decision at the strategic level as to when and if the new configuration might be available. When it is completed &#8211; it is available to all clients and part of the standard application.</li>
<li>If the customization would be to enable integration with other applications in the client portfolio &#8211; this is handled at the API level and possibly by external services (like <a href="http://www.boomi.com/">Boomi</a>) that can transform data for specific purposes. This separates the client side needs from the application and allows them to be &#8220;loosely coupled&#8221; instead of tightly integrated. Product development has to insure that the API remains consistent or at least clients with API integration are notified before critical changes &#8211; but beyond that &#8211; the service is available to all users consistently &#8211; not a limited few who have special needs that have to be evaluated individually.</li>
</ul>
<h3>8. Start with a free version to test the market.</h3>
<p>This has been a common mistake by SaaS vendors &#8211; led by the many general consumer services available from companies like Google. Few vendors have the income of a Google and advertising-led income is really only possible for the most successful consumer applications.</p>
<p>Let&#8217;s say it clearly <strong>- The initial assumption of worth is equal to what you charge</strong>. If you charge nothing, you will get a lot of drive-by users who have no interest beyond trying to see what the service is all about. Taking input from free &#8220;hanger-ons&#8221; that have no intention of becoming paid subscribers is very dangerous. Where they want to lead you has nothing to do with profit and user retention at the subscribed end of the market.</p>
<p>That doesn&#8217;t mean a 30 day free trial is not a great way to onboard users initially. But &#8211; there still has to be a limitation and a stated worth. Users may decide it isn&#8217;t worth the price after trying for a few days. They will allow their test subscription to lapse and they will drop off. The rate of conversion from trial to subscribed becomes a clear indicator of the effectiveness of marketing (funnel formation) and product development (trial conversion and subscriber retention). It also doesn&#8217;t mean that &#8220;<a href="http://en.wikipedia.org/wiki/Freemium">Freemium</a>&#8221; packages can&#8217;t work &#8211; where the basic application is free but key services have a cost.</p>
<p><a href="http://blog.sciodev.com/2009/08/31/haut-tech-conversations-pricing-subscription-services-how/">Pricing is a delicate dance</a> between value received and money paid. In service offerings, the best case is always to provide more perceived value than the service costs. At worst, they can be roughly equal &#8211; but if they are out of balance to the cost side, subscriber retention will suffer greatly.</p>
<h3>9. Build the richest, most complex offering for day one.</h3>
<p>This approach is symptomatic of technical marketing and traditional software sales. For years, applications have been sold as technology with comparisons of feature lists. So, the natural tendency is to say &#8211; &#8220;<strong>We do it all! We&#8217;ve got all the bases covered!</strong>&#8221;</p>
<p>This approach leads to <a href="http://blog.scoutapp.com/articles/2009/10/06/we-just-undid-three-months-of-dev-work-heres-what-we-learned">several issues in SaaS:</a></p>
<ul>
<li>Long, costly development cycles that produce a large feature set with no user-driven demand. How do we know the features we&#8217;re building are critical? What tells us the money and time spent will be returned in subscriptions? Go back to point 2 in this article. <em>80% of value is derived from 20% of features</em>. There are always features that are necessary regardless of value, but as they rise, they increase cost and complexity for end-users.</li>
<li>Developing new features into a very complex application becomes increasingly difficult over time. A smart SaaS vendor will generally break out potentially complex new capabilities into additional but separate services as Salesforce has done with Force.com. This keeps the core application focused and allows the new offering to &#8220;stand on its&#8221; own and seek its own audience.</li>
<li>Complex applications require more time for users to become productive, training, and support. These are all costs, whether they are borne by the vendor or the client. They reduce adoption and put retention at risk. If the complexity is truly necessary it needs to be compartmentalized so that users can either take it on gradually or upgrade to &#8220;professional&#8221; versions when they are comfortable with basic functionality. Time to initial productivity with a service needs to be as near zero as possible.</li>
<li>Complexity doesn&#8217;t sell itself. In fact &#8211; it drives people away. Think &#8220;<strong>Evolution &#8211; Not Revolution</strong>.&#8221;</li>
</ul>
<h3>10. Ignore change and agility.</h3>
<p>Taking the sum of all the previous points, you should be able to see one thing stand out &#8211; A SaaS business is not your father&#8217;s software business. It is driven by change and renewal. It responds organically to market and user demands. It grows based on successful market <span style="text-decoration: underline;">adaption</span>. I call this an <a href="http://blog.sciodev.com/2009/06/11/saas-towards-an-agile-business-architecture/">agile business</a> and so do many others. It is nothing less than a complete rethinking of how a business organization &#8220;works&#8221; at every level. It is both cultural and process-led.</p>
<p>This is not the <a href="http://agilemanifesto.org/">Agile Manifesto</a> &#8211; while still acknowledging it comes out of the same guiding principles. Putting a homily up in reception will not make it happen. Ignoring the issue will not make it go away. You can let the issue grind you down over time or you can accept it, plan for it and execute strategically.</p>
<p>So &#8211; that&#8217;s my list. What&#8217;s yours? What&#8217;s tops on your agenda?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sciodev.com/2009/10/09/saas-10-ways-to-fail-part-2/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>SaaS: All PaaS are Not Created Equal</title>
		<link>http://blog.sciodev.com/2009/03/27/saas-all-paas-are-not-created-equal/</link>
		<comments>http://blog.sciodev.com/2009/03/27/saas-all-paas-are-not-created-equal/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 21:54:38 +0000</pubDate>
		<dc:creator>Michael Dunham</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[PaaS]]></category>
		<category><![CDATA[product development]]></category>
		<category><![CDATA[SaaS]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://blog.sciodev.com/?p=408</guid>
		<description><![CDATA[We've given a couple of webinars recently with our partners Apprenda (archived copy here) and OpSource focused on the key issues ISVs need to consider when developing a SaaS product. One of the areas we covered that received a lot of interest was "Platform as a Service" - PaaS and what it can bring to a SaaS product development project.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.sciodev.com%2F2009%2F03%2F27%2Fsaas-all-paas-are-not-created-equal%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sciodev.com%2F2009%2F03%2F27%2Fsaas-all-paas-are-not-created-equal%2F&amp;source=michaeldunham&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>We&#8217;ve given a couple of webinars recently with our partners <a href="http://apprenda.com">Apprenda</a> (<a href="http://apprenda.com/sink-or-swim-transitioning-your-software-business-to-saas-archived-webinar/" target="_blank">archived copy here</a>) and <a href="http://opsource.net" target="_blank">OpSource</a> focused on the key issues ISVs need to consider when developing a SaaS product. One of the areas we covered that received a lot of interest was &#8220;Platform as a Service&#8221; &#8211; PaaS and what it can bring to a SaaS product development project.</p>
<p>Let me start out by saying that in the fog of high tech marketing hype &#8211; a great number of products are described as &#8220;platforms&#8221; for SaaS development. I&#8217;m not going to try to parse which specific products are or are not &#8220;really&#8221; platforms &#8211; it is too easy to get tied up in semantics and still not reach useful conclusions. In this article, I&#8217;m going to break down some of the services that are often called platforms and put them in a SaaS context.</p>
<p>First &#8211; let&#8217;s define what functions you must perform &#8211; somehow &#8211; to effectively provide a software application as a service across the Internet:</p>
<ul>
<li><strong>Pricing</strong> &#8211; A pricing engine or methodology must provide accurate, consistent pricing.  In order to be really useful the engine or service should be flexible and allow for changes in the pricing system to accommodate new services or promotions.</li>
<li><strong>Billing &amp; Payment Processing</strong> &#8211; Because SaaS is generally based on a recurring payment for services, a system or engine needs to be provided to bill clients and process payments. If there are elements of the service that are usage or transaction based, a part of the application needs to be dedicated to measuring and recording those factors.</li>
<li><strong>Tenant &amp; Subscription Management </strong>- Each client account and the services they subscribe to along with their account status needs to be managed and linked to billing and payment processing.</li>
<li><strong>Service Provisioning</strong> &#8211; As each new tenant is added to the service, their &#8220;instance&#8221; needs to be provisioned. How this is accomplished varies a great deal and depends on the &#8220;<a href="http://blog.sciodev.com/2009/02/25/saas-paas-what-is-the-value/">maturity</a>&#8221; of the service offering.</li>
<li><strong>Usage &amp; Performance Monitoring</strong> &#8211; This is a very broad category of functionality that spans everything from monitoring individual user activities to the infrastructure that underpins the service. It should also include the accumulation of the raw data that will allow <a href="http://blog.sciodev.com/2009/02/10/saas-metrics-saasonomics-101/" target="_blank">metrics</a> to be derived for operations management.</li>
<li><strong>Subscriber Management &amp; Self-Service</strong> &#8211; Each tenant should have ways of modifying their subscription, adding users, changing user roles and monitoring their current usage.</li>
</ul>
<p>We sometimes refer to these functions as &#8220;SaaS Plumbing&#8221; because they are operationally necessary regardless of the business rules and expertise that defines your specific product. Of course, the best case is for all of this to be handled within the application &#8220;stack&#8221; in more or less of an automated fashion. In addition, a true multitenant architecture addresses these issues in the context of a single application instance. To develop a SaaS application that includes these functions in a multenant architecture typically takes from <strong>20 to 50%</strong> of the whole development effort. If you do not want to incur this overhead in your application, you have two choices &#8211; do some or all of the work manually or use some type of service that provides the functionality for you.</p>
<p style="text-align: left;">With this background, the basis for the various services and platforms that are available to SaaS developers begins to fall into various levels of functionality and value. To help separate the &#8220;wheat from the chaff&#8221; a little further &#8211; let&#8217;s consider what the true, multitenant SaaS &#8220;stack&#8221; looks like:</p>
<div class="mceTemp mceIEcenter" style="text-align: left;">
<dl id="attachment_419" class="wp-caption aligncenter" style="width: 310px;">
<dt class="wp-caption-dt" style="text-align: center;"><img class="size-medium wp-image-419" title="stack2" src="http://blog.sciodev.com/wp-content/uploads/2009/03/stack2-300x241.png" alt="SaaS Multitenant Application Stack" width="300" height="241" /></dt>
<dd class="wp-caption-dd">SaaS Multitenant Application Stack</dd>
</dl>
</div>
<p style="text-align: left;">The layers of the stack include:</p>
<ul style="text-align: left;">
<li><strong>Infrastructure </strong>- Network, Servers, Storage, Load Balancing, etc.</li>
<li><strong>Technology Stack</strong> &#8211; OS (Windows, Linux, etc), Database, Application Environment (.NET, Ruby, PHP, etc) and associated services.</li>
<li><strong>SaaS Functionality</strong> &#8211; The &#8220;SaaS Plumbing&#8221; and services outlined above.</li>
<li><strong>Application Logic</strong> &#8211; The core business rules and functionality of the service to tenants.</li>
</ul>
<p style="text-align: left;">With this common understanding of the SaaS stack, we can start to break down platforms and services for SaaS according to the layer(s) of the stack they address.</p>
<p style="text-align: left;">Most &#8220;platforms&#8221; are common to all application development. These address infrastructure and technology stack layers in one way or another.  A common example would be something like <a href="http://www.rackspace.com/solutions/managed_hosting/index.php" target="_blank">Rackspace Managed Hosting</a>. A platform in this category can include anything from a single dedicated server to a virtualized cluster, along with the OS, environment, database, reporting and monitoring that application installations typically require. Depending on the services the provider offers and you select, these platforms can greatly reduce the overhead in infrastructure and server deployment. They can improve reliability and provide development environments that lower development effort and improve application reliability. <strong>But </strong>- they do not specifically address the functionality that is required to operate a SaaS application.</p>
<p style="text-align: center;"><strong>This is where we start to run into problems&#8230;</strong></p>
<p style="text-align: left;">The marketing for most products described as &#8220;PaaS&#8221; for SaaS today includes some combination of the infrastructure and technology levels of the stack and quite often impacts the way the application logic is expressed. They rarely address multitenant architecture or any of the SaaS functionality that impacts the operational needs of your service. Depending on how they are configured, they can often represent a certain amount of risk through &#8220;lock-in&#8221; to their service. A recent example of this is the Coghead system which provided the infrastructure and deployment services but in the process provided a development environment that was unique to itself and hard to break away from when the service began to close. These factors <span style="text-decoration: underline;">don&#8217;t lessen the advantages of these platforms</span>, but they do shed some light on their utility for SaaS development specifically. They can be invaluable in the SaaS stack but it is critical to assess up front how they will impact service costs, risk and what they leave on the table that still needs to be developed.</p>
<p style="text-align: left;">At this time, finding a more complete stack is still a bit of a challenge. <a href="http://apprenda.com/" target="_blank">Apprenda&#8217;s SaaSGrid</a>, <a href="http://www.salesforce.com/platform/" target="_blank">Force.Com</a> and <a href="http://www.zoho.com/creator/developer-zone/developer-zone.html" target="_blank">Zoho Creator</a> are some of the platforms that in one way or another directly address SaaS. Each has its own pluses and minuses in terms of the functionality they provide and the impact they have on application development. Beyond those, you can use services that address SaaS functionality on top of one of the more general application platforms.   This brings on another level of risk &#8211; you are now piling together the general platform and perhaps services from several other sources &#8211; but this is not uncommon in eCommerce or business-to-business applications so you&#8217;re not really breaking new ground if you have experience developing applications for the Internet. Each service addresses a specific range of functionality and again &#8211; you need to go back to the list of SaaS functionality to see what you are getting in return for the cost and risk. A good place to start is the <a href="http://www.saas-showplace.com/saasproviderdirectory/enablingtechsuppliers.html" target="_blank">SaaS Showplace</a>.</p>
<p style="text-align: left;">In addition, there are hosting providers &#8211; like <a href="http://opsource.net" target="_blank">OpSource</a> &#8211; that provide a mix of services for SaaS applications as a part of or on top of their infrastructure. This type of offering lowers the risk because they are centrally controlled and generally provided across the data center instead of across the Internet.</p>
<p style="text-align: left;">In truth however, there is no PaaS that will addresses all the needs of a specific SaaS operation <strong>but</strong> &#8211; we do find <strong><em>repeatedly</em></strong> that using services and platforms allows the  product team to focus on the value features of an application, reduces the time-to-market and costs of development. Assessing what is needed and what is of most value is necessary in the front end of every project and quite often the hardest thing to explain to clients until they get into the &#8220;plumbing&#8221; themselves.  Making the decisions necessary takes planning and consideration, but re-architecting a service after it is on the market is &#8211; as anyone who has tried it can tell you &#8211; not something you &#8220;want&#8221; to do without serious pain to prod you.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sciodev.com/2009/03/27/saas-all-paas-are-not-created-equal/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Agile is an Attitude, Not a Method</title>
		<link>http://blog.sciodev.com/2008/11/20/agile-is-an-attitude-not-a-method/</link>
		<comments>http://blog.sciodev.com/2008/11/20/agile-is-an-attitude-not-a-method/#comments</comments>
		<pubDate>Thu, 20 Nov 2008 20:58:13 +0000</pubDate>
		<dc:creator>Luis Aburto</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://blog.sciodev.com/?p=25</guid>
		<description><![CDATA[The adoption of Agile approaches in software development has grown very rapidly in recent years. I remember that a couple of years ago a lot of people in the IT world hadn’t even heard about Agile. Today, most of the development groups I talk to claim to adhere to Agile, at least to a certain extent. But the reality is that many of them are not realizing the benefits in productivity and quality that they expected.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.sciodev.com%2F2008%2F11%2F20%2Fagile-is-an-attitude-not-a-method%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sciodev.com%2F2008%2F11%2F20%2Fagile-is-an-attitude-not-a-method%2F&amp;source=michaeldunham&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>The adoption of <a href="http://en.wikipedia.org/wiki/Agile_software_development">Agile</a> approaches in software development has grown very rapidly in recent years. I remember that a couple of years ago a lot of people in the IT world hadn’t even heard about Agile. Today, most of the development groups I talk to claim to adhere to Agile, at least to a certain extent. But the reality is that many of them are not realizing the benefits in productivity and quality that they expected.</p>
<p>The truth is, many groups are really using Agile as an excuse to take shortcuts and avoid doing the things they didn’t like to do in the first place, so there is no surprise there that Agile is “not working” for them. However, other groups are making conscious efforts to adhere to Agile principles and they are still failing to realize the benefits they expect. Because of this, Agile advocates like James Shore <a href="http://jamesshore.com/Blog/The-Decline-and-Fall-of-Agile.html" target="_blank">are becoming concerned that Agile might be getting a bad reputation</a> , and that the movement may be in decline despite its popularity.</p>
<p>For us, it took two attempts to “get it right”. As with many other software groups, when we learned about Agile we were very attracted to its promises. As a team dedicated to developing software for external clients, we saw in Agile both a way to give better, faster results to our clients, and an approach that would actually make it more fun and rewarding to do our jobs. So we started using Agile with a pilot team. After reviewing the alternatives available, we selected Scrum as our framework. We studied the literature, defined the processes and artifacts we would use, and implemented it on a new project. At the beginning it was very exciting to be working with Agile. We were doing everything by the book and we felt ahead of the curve. However, after a few weeks, our burn rate chart showed very little progress. In the daily Scrum meetings the typical report was that the team would try to finish today the tasks they were supposed to finish yesterday. But the next day the report was still the same. We abandoned Scrum on that project after 6 weeks and moved back to a waterfall approach. Needless to say, it was a very disappointing experience.</p>
<p><strong>&#8230;fortunately, we persisted.</strong></p>
<p>Despite the disappointment of the first attempt, we were convinced that the principles of being Agile could work for us and our clients. So we analyzed what had gone wrong, not only in the first Scrum project we had, but in all of the projects where we had had challenges. We arrived at the conclusion that most of the problems in projects arose from “people issues”, not because of the flavor of the project management approach we were using. People issues ran from communications, to visibility of goals, to commitment. So we set to work on those issues, realizing that as a growing company we had to reinforce the culture of participation, collaboration and commitment that was so natural for the founding team, but that was probably not so obvious to the stream of new team members we were integrating to the company. This time, Agile fit like a glove. It provided the framework to foster those precise values and attitudes we identified that needed improvement. And I am happy to say that moving to Agile delivered on its promises. Our customers are getting better quality, better control, better visibility and faster results. And our teams are more motivated, getting recognition from customers and internally, working in a more integrated way within the company and with the customer team, and overall, more satisfied with a job well done.</p>
<p>So in our experience, as long as the behavioral and attitude principles behind the spirit of Agile are present, Agile will deliver the expected results. And that is where I think the challenge for most organizations lies. <em>Following an Agile methodology “by the book” will always fall short of expectations </em>if the people involved in the process don’t work as a collaborative team of peers, with the needed visibility, and taking responsibility for their individual pieces of the puzzle. So moving to Agile is more than changing methodologies, it really requires a cultural shift.</p>
<p>For more on the topic, please see <a href="http://www.cio.com/article/print/464169">When Agile Projects Go Bad</a> &#8211; and <span style="text-decoration: underline;"><strong>Good Luck</strong></span> in your efforts!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sciodev.com/2008/11/20/agile-is-an-attitude-not-a-method/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
