<?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>Kurt Grandis &#187; Entrepreneurship</title>
	<atom:link href="http://kurtgrandis.com/blog/category/entrepreneurship/feed/" rel="self" type="application/rss+xml" />
	<link>http://kurtgrandis.com/blog</link>
	<description>Software Engineering &#38; Entrepreneurship</description>
	<lastBuildDate>Sat, 29 May 2010 14:21:55 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Python + Django vs. C# + ASP.NET: Productivity Showdown</title>
		<link>http://kurtgrandis.com/blog/2010/02/24/python-django-vs-c-asp-net-productivity-showdown/</link>
		<comments>http://kurtgrandis.com/blog/2010/02/24/python-django-vs-c-asp-net-productivity-showdown/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 07:33:57 +0000</pubDate>
		<dc:creator>kurt</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Data]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[Entrepreneurship]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[storypoints]]></category>
		<category><![CDATA[velocity]]></category>

		<guid isPermaLink="false">http://kurtgrandis.com/blog/?p=148</guid>
		<description><![CDATA[People are often asking me how and why my department shifted from an ASP.NET environment to Django. I&#8217;ve finally gotten around to writing about the process leading up to our decision. I hope people out there find it useful in their own development groups and discussions.
Almost two years ago I was in a rather unlikely [...]]]></description>
			<content:encoded><![CDATA[<p>People are often asking me how and why my department shifted from an ASP.NET environment to Django. I&#8217;ve finally gotten around to writing about the process leading up to our decision. I hope people out there find it useful in their own development groups and discussions.</p>
<p>Almost two years ago I was in a rather unlikely situation in that I was running a software engineering department containing both a C# team and a Python team. The Python group was focused on building scientific computing and NLP-type applications, whereas the C# team was focused on building web applications.</p>
<p>A few of us Python folks in the department had already started playing around with Django&#8211;building internal web applications and projects outside of work. It did not take long for us to realize the power of Django and how quickly we were able to produce high-quality applications with little effort. This was my (strong) impression, but in order to propose a corporate platform shift I was going to need some data to support my claims.</p>
<p>It slowly dawned on me that I had a perfect test bed. Here we had two teams using different technology stacks within the same department. The same department. That means they shared the same development processes, project management tools, quality control measures, defect management processes. Everything was the same between these groups except for the technologies. Perfect! So like any good manager I turned my teams into unwitting guinea pigs.</p>
<h3>The Hypothesis</h3>
<p style="text-align: center;"><em>We can accomplish more with Python + Django than with C# + ASP.NET given the same amount of time without sacrificing quality</em></p>
<h3>Measuring Productivity</h3>
<p>For the sake of this study, I defined productivity as a normalized team velocity: how many story points were completed / developer / week. I record the normalized team velocity for each team&#8217;s sprint for later analysis.</p>
<p>For those of you unfamiliar with the concept story points I highly recommend Mike Cohn&#8217;s <a title="Agile Estimation and Planning" href="http://www.amazon.com/Agile-Estimating-Planning-Mike-Cohn/dp/0131479415">Agile Estimation and Planning</a>.</p>
<h3>WAIT! You can&#8217;t compare story points between teams!</h3>
<p>I hear this a lot. Yes, you can. The problem is that most people do not bother creating a common scale or continually calibrate their estimations (within or between groups). Generally, it&#8217;s way more work than most groups need to deal with and it doesn&#8217;t deliver much utility to most groups so it isn&#8217;t often discussed or practiced.</p>
<p>The methods described below should outline the additional calibration work that was performed to ensure a common estimation scale between the two teams.</p>
<h3>Methods</h3>
<p>Both teams continued business as usual working on projects in parallel. Each sprint consisted of 3-4 developers. It is worth noting that Team ASP.NET did not make use of MS MVC Framework, but they did use Linq-to-SQL for its ORMy powers.</p>
<p>Special care was taken to maintain linkage between the two team&#8217;s effort estimates. During sprint planning, each team would use a common story point calibration reference when making estimates. In order to detect any potential deviations in calibration, during several planning poker sessions I included stories that had already been estimated during previous sprints or by the other team; no significant deviations were found.</p>
<p>At the end of each sprint I would calculate the normalized developer velocity ( # of completed story points / developer / week ). These values were recorded for both teams. It should be noted that only Django-based sprints were used in analysis for Team Python.</p>
<p>I recorded results for approximately 6 months.</p>
<h3>Results</h3>
<div id="attachment_261" class="wp-caption alignnone" style="width: 497px"><a rel="attachment wp-att-261" href="http://kurtgrandis.com/blog/2010/02/24/python-django-vs-c-asp-net-productivity-showdown/django_asp_histo-2/"><img class="size-full wp-image-261   " title="Normalized Developer Velocities: C# + ASP.NET and Python + Django" src="http://kurtgrandis.com/blog/wp-content/uploads/2010/02/django_asp_histo1.png" alt="Normalized Sprint Velocities: C# + ASP.NET and Python + Django" width="487" height="367" /></a><p class="wp-caption-text">Normalized Developer Velocities: C# + ASP.NET and Python + Django</p></div>
<p>The above histogram shows the distribution of normalized velocities associated with each completed sprint. The table below summarizes the distribution of velocities associated each team.</p>
<table style="height: 150px;" border="1" width="470">
<tbody>
<tr style="text-align: center;">
<td style="text-align: left;">units:<br />
story points /<br />
developer /<br />
week</td>
<th>C#/ASP.NET</th>
<th>Python/Django</th>
</tr>
<tr style="text-align: center;">
<th style="text-align: left;">mean</th>
<th>5.8</th>
<th>11.6</th>
</tr>
<tr style="text-align: center;">
<td style="text-align: left;">stdev</td>
<td>2.9</td>
<td>2.7</td>
</tr>
<tr style="text-align: center;">
<td style="text-align: left;">min</td>
<td>.3</td>
<td>8.5</td>
</tr>
<tr style="text-align: center;">
<td style="text-align: left;">max</td>
<td>9.3</td>
<td>15.8</td>
</tr>
</tbody>
<caption>Summary statistics of each team&#8217;s normalized developer velocities</caption>
</table>
<p>The distribution of velocities between the two samples are similarly shaped, but have clear differences in their mean. <strong>The average velocity of a  C#/ASP.NET developer was found to be 5.8 story points/week. A Python/Django developer has an average velocity of 11.6 story points/week. Independent t-tests reveal these differences as being statistically significant (t(15) = 4.19, p&lt;7.8e-4).</strong></p>
<h3><strong>Discussions and Conclusion</strong></h3>
<p>Given our development processes <strong>we found the average productivity of a single Django developer to be equivalent to the output generated by two C# ASP.NET developers. Given equal-sized teams, Django allowed our developers to be twice as productive as our ASP.NET team.</strong></p>
<p>I suspect these results may actually reflect a lower bound of the productivity differences. It should be noted that about half of the Team Python developers, while fluent in Python, had not used Django before. They quickly learned Django, but it is possible this fluency disparity may have caused an unintended bias in results&#8211;handicapping overall Django velocity.</p>
<h3>Epilogue</h3>
<p>The productivity differences quantified by our findings were then included as part of an overall rationale to shift web-based development platforms. Along with overall velocity differences, the costs associated with maintaining each environment were considered: OS licensing and database licensing for development and production environments, as well as costs associated with development tools. I&#8217;m happy to say we are now a Python and Django shop.</p>
<p><strong>Updated:</strong></p>
<p>Several good questions over at <a href="http://news.ycombinator.com/item?id=1148748">Hacker News</a></p>
]]></content:encoded>
			<wfw:commentRss>http://kurtgrandis.com/blog/2010/02/24/python-django-vs-c-asp-net-productivity-showdown/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Protosprout : Promoting Entrepreneurship &amp; Start-Up Culture in North Carolina</title>
		<link>http://kurtgrandis.com/blog/2008/11/18/protosprout-promoting-entrepreneurship-start-up-culture-in-north-carolina/</link>
		<comments>http://kurtgrandis.com/blog/2008/11/18/protosprout-promoting-entrepreneurship-start-up-culture-in-north-carolina/#comments</comments>
		<pubDate>Tue, 18 Nov 2008 07:32:49 +0000</pubDate>
		<dc:creator>kurt</dc:creator>
				<category><![CDATA[Entrepreneurship]]></category>
		<category><![CDATA[Local Business]]></category>
		<category><![CDATA[nc]]></category>
		<category><![CDATA[protosprout]]></category>
		<category><![CDATA[startup]]></category>
		<category><![CDATA[techshop]]></category>

		<guid isPermaLink="false">http://kurtgrandis.com/blog/?p=15</guid>
		<description><![CDATA[A couple of weeks ago I emerged from my development trance and decided to venture back out into the wilds of the Triangle entrepreneurial scene. The timing worked out so that I could trek out to Raleigh earlier this month to attend the inaugural Protosprout Community Program Meeting.
Protosprout ( http://protosprout.com ) is a NC-based company [...]]]></description>
			<content:encoded><![CDATA[<p>A couple of weeks ago I emerged from my development trance and decided to venture back out into the wilds of the Triangle entrepreneurial scene. The timing worked out so that I could trek out to Raleigh earlier this month to attend the inaugural Protosprout Community Program Meeting.</p>
<p><strong><a href="http://protosprout.com">Protosprout</a></strong> ( <a href="http://protosprout.com">http://protosprout.com</a> ) is a NC-based company founded by Justis Peters that is looking to bring local entrepreneurs together and foster an energized, start-up community. I think it was a successful first meeting. Justis pulled folks together and lead some interesting and informal discussions including how the community could work together to provide support and value to one another. Ideas included things like skill and service bartering, community forums, general networking, official Protosprout mentorship and startup programs. A local skill bartering system would be great for a lot of startups ( ala programmer meets designer ) as would a tighter knit community for bouncing ideas off of or even testing your prototypes.</p>
<p>Part of the evening included time for pitching your startups and Q&amp;A. Even <a href="http://wayne-sutton.com">Wayne Sutton</a> got up and pitched an idea. I&#8217;ll take a moment to mention one really cool company that pitched: <a href="http://www.durham.techshop.ws/"><strong>Durham TechShop</strong></a> ( <a href="http://www.durham.techshop.ws/">http://www.durham.techshop.ws</a> )</p>
<p>The TechShop will be a a DIY workshop with a slew of tools and machines for any number of tasks ( electronics, woodworking, plastics, machining, welding, 3d printing, even blacksmithing! ). They&#8217;ll offer classes so that you can get certified to use the various tools and then you&#8217;re off to create whatever you want. I am really excited to see this in action, so all you folks with checkbooks contact Scott Saxon over at the TechShop and get this puppy funded!</p>
<p>I met a lot of interesting people that night and look forward to attending the next Protosprout meeting. You should check it out over at <a href="http://protosprout.com">http://protosprout.com</a> . I think Justis is doing a great job getting this organized.</p>
<p>You can also follow Protosprout on Twitter  ( <a href="http://twitter.com/protosprout">http://twitter.com/protosprout</a> )</p>
]]></content:encoded>
			<wfw:commentRss>http://kurtgrandis.com/blog/2008/11/18/protosprout-promoting-entrepreneurship-start-up-culture-in-north-carolina/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ALT Summit Debrief</title>
		<link>http://kurtgrandis.com/blog/2008/05/29/alt-summit-debrief/</link>
		<comments>http://kurtgrandis.com/blog/2008/05/29/alt-summit-debrief/#comments</comments>
		<pubDate>Fri, 30 May 2008 04:11:11 +0000</pubDate>
		<dc:creator>kurt</dc:creator>
				<category><![CDATA[Entrepreneurship]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Local Business]]></category>

		<guid isPermaLink="false">http://kurtgrandis.com/blog/2008/05/29/alt-summit-debrief/</guid>
		<description><![CDATA[The North Carolina Advanced Learning Technologies Association (NC ALTA) did a great job organizing the first Advanced Learning Technologies (ALT) Summit, which aimed to bring industry and though leaders together to discuss the state and future of advanced learning technologies. Some time has passed now, but I wanted to mention the summit and some of [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://ncalta.org/">North Carolina Advanced Learning Technologies Association (NC ALTA)</a> did a great job organizing the first <a href="http://altsummit.com">Advanced Learning Technologies (ALT) Summit</a>, which aimed to bring industry and though leaders together to discuss the state and future of advanced learning technologies. Some time has passed now, but I wanted to mention the summit and some of the highlights.</p>
<h1>Something Big is a Brewing</h1>
<p>I think NC ALTA has really started a powerful ball rolling by creating a common focus on which a number of industries and research disciplines are beginning to converge. To demonstrate this let me list areas represented by the some of the people I encountered at the conference:</p>
<ul>
<li>Game engine developers</li>
<li>Serious game developers</li>
<li>Developers of virtual worlds including frameworks like Second Life or Croquet. This also includes the corporate facet aimed at facilitating remote work and collaboration via a virtualized workplace.</li>
<li>Researchers dealing with immersive visualizations and virtual experiences. This includes some of the cool immersive environments hosted by RENCI.</li>
<li>Second (or third?) generation of e-learning companies and their interest in assessment, monitoring, and integration into larger learning management systems.</li>
<li>Educators interested in getting these technologies out in the schools and in the hands of students. As well as educators interested in seeing proper learning theory incorporated into program design.</li>
</ul>
<p>Now imagine the intersection of all (or some) of these groups.</p>
<h1>Parallel Tinkering and Research</h1>
<p>I attended one birds-of-a-feather discussion that dealt with educational games and simulations in higher ed. I was surprised at the number of professors and students who have already begun building, deploying, and testing their educational games within their universities. Some folks met up after the round table and shared war stories, common hang-ups, and I think even identified some future collaborations. Exciting stuff!</p>
<p>One thing that came up a number of times during that session was the fact that we did have a number of independent development efforts going on. Essentially, each project required the development of a slew of management frameworks, authentication, integration with LMSs, middleware, etc. Everyone needed these same components and so everyone wrote their own.</p>
<p>Libby Evans of UNC and several others identified the need for some common, modular solutions to these problems. Establishing a framework of common solutions would allow researchers to focus on the interesting problems and it would encourage compatibility and collaboration. So it seems like a nice next step would be to look at the number of developed solutions and start distilling out some design patterns.</p>
<h1>The Efficacy of Games in Education</h1>
<p>Do games actually work in education? can they be used as a tool to teach or explore? I am particularly interested in this topic and have begun looking at this in terms of math games. Marrilea Mayo of the Kauffman Foundation was kind enough to share a tremendous amount of her own findings from reviewing the disparate literature.</p>
<p>Many of us have heard a number of positive anecdotal (or underpowered, small n) successes, positive pilots, but few full-blown psychometric studies on the efficacy of games in learning. In fact, I have not found any commercially available shrink-wrapped math games with associated efficacy studies. I have seen products claiming they are &#8220;scientifically-based&#8221;, because the product is designed around a number of accepted practices not that their actual efficacies were tested.</p>
<p>While I have personally been focused on the efficacy in K-12 and higher ed, there were also a number of discussions dealing with the same concepts in corporate space. How do we measure the success of our corporate training programs? ROI? So, it seems like efficacy and the ability to measure and monitor success is a common theme and something we need to start incorporating into our designs. Luckily, I think this is solvable once we begin embedding the means to track psychometrically-valid metrics.</p>
<p>So, I walked away from the ALT Summit pretty excited that we had begun a conversation that I think will develop into something revolutionary down the road. I encourage you to keep tuned in and check out NC ALTA.</p>
]]></content:encoded>
			<wfw:commentRss>http://kurtgrandis.com/blog/2008/05/29/alt-summit-debrief/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
