<?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>Ben Scofield &#187; process</title>
	<atom:link href="http://benscofield.com/tags/process/feed/" rel="self" type="application/rss+xml" />
	<link>http://benscofield.com</link>
	<description></description>
	<lastBuildDate>Wed, 07 Jul 2010 11:20:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Design-first development</title>
		<link>http://benscofield.com/2010/01/design-first-development/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=design-first-development</link>
		<comments>http://benscofield.com/2010/01/design-first-development/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 12:00:06 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[process]]></category>

		<guid isPermaLink="false">http://benscofield.com/?p=319</guid>
		<description><![CDATA[The first RubyConf talk I gave was entitled Cleanliness Is Next to Domain-Specificity; in it, I spoke about DSLs, and gave an example of how you might want to create one (I also spent some time talking about regional variation in Little Bunny Foo Foo, but that&#8217;s neither here nor there). At the time, I said that [...]]]></description>
			<content:encoded><![CDATA[<p>The first RubyConf talk I gave was entitled <a href="http://rubyconf2007.confreaks.com/d3t1p6_cleanliness_is_next_to_domain_specificity.html"><em>Cleanliness Is Next to Domain-Specificity</em></a>; in it, I spoke about DSLs, and gave an example of how you might want to create one (I also spent some time talking about regional variation in <em>Little Bunny Foo Foo</em>, but that&#8217;s neither here nor there). At the time, I said that the best way to design a DSL was to write out what you wanted it to look like, and then write the code that made that functional.</p>
<p>I&#8217;ve since become convinced that this process is in fact the best way to design <em>any </em>code, not just DSLs. API? Write out how you want to call it, then write the code that responds to those calls. Routing in a web app? Write out the URLs you want people to hit, then create the code and routes that will make those work. A web page? Design the page, build it out into HTML, and then write the code that makes it live. Each of these is an example of design-first development.</p>
<p>You may be wondering if I&#8217;m abandoning the lean/agile fold for waterfall with this idea. Happily, I&#8217;m not. If you think about it, this is how TDD (or BDD) works: you write a test or spec that runs some code (in the process, designing how you&#8217;ll interact with the code), and then you write the code that makes it pass. The sort of design I&#8217;m talking out isn&#8217;t fossilized in spec documents, but is actually executable when you finish writing the code to make it work.</p>
<p>The key to all of this is realizing that design happens at a number of different levels. In the examples above, I described design the level of writing code (DSL), of integrating with systems (API), of browser interaction (routing), and of user interface (web page).</p>
<p>I think that more and more people are realizing the power of this approach at various levels, but I&#8217;m convinced that recognizing each of those levels as an instance of using design-first development may provide better insights into the process overall.</p>
]]></content:encoded>
			<wfw:commentRss>http://benscofield.com/2010/01/design-first-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter lists and the App Store</title>
		<link>http://benscofield.com/2009/11/twitter-lists-and-the-app-store/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=twitter-lists-and-the-app-store</link>
		<comments>http://benscofield.com/2009/11/twitter-lists-and-the-app-store/#comments</comments>
		<pubDate>Sat, 14 Nov 2009 15:04:55 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[process]]></category>

		<guid isPermaLink="false">http://benscofield.com/?p=275</guid>
		<description><![CDATA[Twitter's lists are a fascinating new feature, and people are using them in a bewildering variety of ways. I think one of the most unexpected effects they've had, though, has been the exposure of yet another problem with Apple's App Store approval process: it's just not agile enough.]]></description>
			<content:encoded><![CDATA[<p><span><span style="color: #000000; font-size: small;"><span style="font-size: small;">Twitter&#8217;s lists are a fascinating new feature, and people are using them in a bewildering variety of ways. I think one of the most unexpected effects they&#8217;ve had, though, has been the exposure of yet another problem with Apple&#8217;s App Store approval process: it&#8217;s <strong>just not agile enough</strong>.</span></span></span></p>
<p><span><span style="color: #000000; font-size: small;"><span style="font-size: small;"><span><span style="color: #000000; font-size: small;"><span style="font-size: small;">Say I was selling a Twitter client on the App Store. In an ideal world (read: the web), the primary bottleneck to delivering a new version of the product is the development time – Twitter releases lists, I burn the midnight oil a bit to incorporate them into my app, and I&#8217;m done.</span></span></span></span></span></span></p>
<p><span><span style="color: #000000; font-size: small;"><span style="font-size: small;"><span><span style="color: #000000; font-size: small;"><span style="font-size: small;">When you&#8217;re developing for the iPhone, however, the main bottleneck isn&#8217;t the development time, but the approval process. Every update to the core functionality of the application has go through the approval queue just like a new application, which means that it can be weeks or months before it gets onto your customers&#8217; phones. (Or never, as has been the case with <a href="http://daringfireball.net/linked/2009/11/13/app-store-rogue-amoeba">a recently rejected app update</a>.)</span></span></span></span></span></span></p>
<p><span><span style="color: #000000; font-size: small;"><span style="font-size: small;"><span><span style="color: #000000; font-size: small;"><span style="font-size: small;">Similarly, entirely new applications face the same problem. <a href="http://www.avc.com/">Fred Wilson</a> just posted a <a href="http://www.avc.com/a_vc/2009/11/twitter-list-iphone-apps.html">Twitter list-powered application idea</a>, but there&#8217;s no way a native app could be released to the public quickly to take advantage of it.</span></span></span></span></span></span></p>
<p><span><span style="color: #000000; font-size: small;"><span style="font-size: small;"><span><span style="color: #000000; font-size: small;"><span style="font-size: small;">This has always been something of a problem for desktop development, of course – particularly before online patch distribution – but the iPhone has taken it to new heights. Web clients were able to add support for lists as quickly as they could push their developers, but native applications are left to lose their audience until Apple deigns to approve their updates. I&#8217;m surprised that the effect isn&#8217;t greater, actually, since the web-based Twitter clients should be promoting the heck out of mobile-optimized views of their sites with list functionality. <a href="http://scobleizer.com/">Scoble</a>&#8216;s favored way of interacting with Twitter is a <a href="http://seesmic.com/app/">web-based client</a>, <a href="http://scobleizer.com/2009/11/13/twitter-lists-lifechangin/">in part because of its list support</a> (see the last paragraph).</span></span></span></span></span></span></p>
<p><span><span style="color: #000000; font-size: small;"><span style="font-size: small;"><span><span style="color: #000000; font-size: small;"><span style="font-size: small;">This is just one more problem with the App Store approval process, but it has the potential to be one of the most serious. As more and more mobile applications rely on web services for their functionality, the mismatch in time-to-market between the moderated App Store market and the quick-as-you-can web ecosystem will cause more (and more serious) problems.</span></span></span></span></span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://benscofield.com/2009/11/twitter-lists-and-the-app-store/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
