<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>multipart/mixed</title>
    <link rel="alternate" type="text/html" href="http://joshcarter.com/" />
    <link rel="self" type="application/atom+xml" href="http://joshcarter.com/atom.xml" />
   <id>tag:joshcarter.com,2010://1</id>
    <updated>2010-03-01T16:36:10Z</updated>
    
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.1</generator>
 

<entry>
    <title>Coming to a Bookstore Near You</title>
    <link rel="alternate" type="text/html" href="http://joshcarter.com/books/pragprowrimo_2009/coming_to_a_bookstore_near_you" />
    <id>tag:joshcarter.com,2010://1.162</id>
    
    <published>2010-03-01T16:27:07Z</published>
    <updated>2010-03-01T16:36:10Z</updated>
    
    <summary>First, thanks to all the readers who followed my PragProWriMo 2009 writing--your support was invaluable. I&apos;m happy to announce that Pragmatic Bookshelf picked up my book in December and I&apos;m busy finishing the first draft. I&apos;m not sure how long...</summary>
    <author>
        <name>Josh Carter</name>
        <uri>http://multipart-mixed.com/about.html</uri>
    </author>
    
        <category term="PragProWriMo 2009" />
    
    <content type="html" xml:lang="en" xml:base="http://joshcarter.com/">
        <![CDATA[<p>First, thanks to all the readers who followed my PragProWriMo 2009 writing--your support was invaluable. I'm happy to announce that <a href="http://pragprog.com">Pragmatic Bookshelf</a> picked up my book in December and I'm busy finishing the first draft. I'm not sure how long the whole process will take, the optimist in me wants to believe I can finish by the end of the year. Either way I'm very excited to bring this book to fruition and the folks at Pragmatic are fantastic to work with.</p>
]]>
        
    </content>
</entry>

<entry>
    <title>Quality: Beginning vs. Afterward</title>
    <link rel="alternate" type="text/html" href="http://joshcarter.com/books/pragprowrimo_2009/quality_beginning_vs_afterward" />
    <id>tag:joshcarter.com,2009://1.161</id>
    
    <published>2009-12-02T06:05:52Z</published>
    <updated>2009-12-02T06:07:00Z</updated>
    
    <summary>Yes, PragProWriMo 2009 was over yesterday. However, I can&#8217;t introduce the topic of quality and then just stop there, can I? After this it&#8217;s time to start working on my book proposal. There are two approaches to building a quality...</summary>
    <author>
        <name>Josh Carter</name>
        <uri>http://multipart-mixed.com/about.html</uri>
    </author>
    
        <category term="PragProWriMo 2009" />
    
    <content type="html" xml:lang="en" xml:base="http://joshcarter.com/">
        <![CDATA[<p class="disclaimer">Yes, PragProWriMo 2009 was over yesterday. However, I can&#8217;t introduce the topic of quality and then just stop there, can I? After this it&#8217;s time to start working on my book proposal.</p>

<p>There are two approaches to building a quality product: build it in from the beginning, or beat it in afterward. The former approach requires a lot of discipline and effort from the engineering team. The latter requires a lot of testing and, again, effort from the engineering team.</p>
]]>
        
          <![CDATA[ <p><a href="http://joshcarter.com/books/pragprowrimo_2009/quality_beginning_vs_afterward">Continue reading "Quality: Beginning vs. Afterward" &raquo;</a></p> ]]>
        
    </content>
</entry>

<entry>
    <title>Quality is Job 0.99999</title>
    <link rel="alternate" type="text/html" href="http://joshcarter.com/books/pragprowrimo_2009/quality_intro" />
    <id>tag:joshcarter.com,2009://1.160</id>
    
    <published>2009-12-01T05:49:37Z</published>
    <updated>2009-12-01T05:51:05Z</updated>
    
    <summary>This is intended to introduce a chapter on quality. There&#8217;s a myriad of topics here; this post is merely setting the stage. I take it as a given that any product should be a high-quality product. Why bother making it...</summary>
    <author>
        <name>Josh Carter</name>
        <uri>http://multipart-mixed.com/about.html</uri>
    </author>
    
        <category term="PragProWriMo 2009" />
    
    <content type="html" xml:lang="en" xml:base="http://joshcarter.com/">
        <![CDATA[<p class="disclaimer">This is intended to introduce a chapter on quality. There&#8217;s a myriad of topics here; this post is merely setting the stage.</p>

<p>I take it as a given that any product should be a high-quality product. Why bother making it otherwise? This seems like a straightforward goal, but the technology industry has had a hell of a time figuring out how to build quality software. There&#8217;s a joke that&#8217;s been around for at least a decade:</p>

<blockquote>
  <p>There&#8217;s word in business circles that the computer industry likes to measure itself against the Big Three auto-makers. The comparison goes this way: If automotive technology had kept pace with Silicon Valley, motorists could buy a V-32 engine that goes 10,000 m.p.h. or a 30-pound car that gets 1,000 miles to the gallon&#8212;either one at a sticker price of less than $50. Detroit&#8217;s response: &#8220;OK. But who would want a car that crashes twice a day?&#8221; </p>
</blockquote>

<p>Any good joke has an element of truth to it&#8212;this one especially so. Auto makers can build cars that&#8217;ll drive hundreds of thousands of miles, but Windows 95 would crash after 49.7 days of continuous operation&#8212;a bug that took <em>four years</em> to discover <a href="http://news.cnet.com/2100-1040-222391.html">1</a> because other bugs would crash Windows 95 long before 49.7 days could pass.</p>
]]>
        
          <![CDATA[ <p><a href="http://joshcarter.com/books/pragprowrimo_2009/quality_intro">Continue reading "Quality is Job 0.99999" &raquo;</a></p> ]]>
        
    </content>
</entry>

<entry>
    <title>Millie Berger</title>
    <link rel="alternate" type="text/html" href="http://joshcarter.com/gallery/portraits/millie_berger" />
    <id>tag:joshcarter.com,2009://1.159</id>
    
    <published>2009-11-29T05:25:14Z</published>
    <updated>2009-11-29T05:37:46Z</updated>
    
    <summary> Portrait of my grandmother. I don&apos;t consider myself a portrait artist but I do get lucky once in a while. On-site lighting was two flashes bounced off the ceiling. Photo toned to black-and-white using Exposure 2 and vignetted with...</summary>
    <author>
        <name>Josh Carter</name>
        <uri>http://multipart-mixed.com/about.html</uri>
    </author>
    
        <category term="Portraits" />
    
    <content type="html" xml:lang="en" xml:base="http://joshcarter.com/">
        <![CDATA[<img src="/images/gallery/millie_berger.jpg" class="photo_center" alt="Photo"/>

<p>
Portrait of my grandmother. I don't consider myself a portrait artist but I do get lucky once in a while. On-site lighting was two flashes bounced off the ceiling. Photo toned to black-and-white using Exposure 2 and vignetted with Bokeh.
</p>]]>
        
    </content>
</entry>

<entry>
    <title>Platforms</title>
    <link rel="alternate" type="text/html" href="http://joshcarter.com/books/pragprowrimo_2009/platforms" />
    <id>tag:joshcarter.com,2009://1.158</id>
    
    <published>2009-11-28T04:16:52Z</published>
    <updated>2009-11-28T04:21:30Z</updated>
    
    <summary>It used to be that the &#8220;user interface&#8221; for a computer was assembly language and its &#8220;user manual&#8221; was the programming manual. Back in those days, the distinction between the physical machine and its programming interface was somewhat academic. These...</summary>
    <author>
        <name>Josh Carter</name>
        <uri>http://multipart-mixed.com/about.html</uri>
    </author>
    
        <category term="PragProWriMo 2009" />
    
    <content type="html" xml:lang="en" xml:base="http://joshcarter.com/">
        <![CDATA[<p>It used to be that the &#8220;user interface&#8221; for a computer was assembly language and its &#8220;user manual&#8221; was the programming manual. Back in those days, the distinction between the physical machine and its programming interface was somewhat academic.</p>

<p>These days, there&#8217;s a lot more layers involved. Taking the &#8220;simple&#8221; example of C++, the layers could look like this:</p>

<p><img src="http://joshcarter.com/images/books/pragprowrimo_2009/software_stack.png" class="photo_center"/></p>

<p>In this example, the physical machine is a x86, 64 bit. The machine&#8217;s architecture has various ramifications, for example a 64 bit machine can allow a single process to address much more memory than a 32 bit machine. The operating system has numerous implications; any &#8220;system call&#8221; like accessing a file goes through the operating system. Then there&#8217;s the libraries, for example the C standard library which provides functions like <code>printf()</code> for formatted output. Then there&#8217;s the programming language itself.</p>
]]>
        
          <![CDATA[ <p><a href="http://joshcarter.com/books/pragprowrimo_2009/platforms">Continue reading "Platforms" &raquo;</a></p> ]]>
        
    </content>
</entry>

<entry>
    <title>Programming Languages</title>
    <link rel="alternate" type="text/html" href="http://joshcarter.com/books/pragprowrimo_2009/programming_languages" />
    <id>tag:joshcarter.com,2009://1.157</id>
    
    <published>2009-11-21T06:48:28Z</published>
    <updated>2009-11-21T06:50:36Z</updated>
    
    <summary>There are few topics that can get programmers riled up more than programming languages. Language flame-wars have been raging on Usenet since about the dawn of Usenet. They&#8217;ll continue burning until, as best I can tell, the end of time....</summary>
    <author>
        <name>Josh Carter</name>
        <uri>http://multipart-mixed.com/about.html</uri>
    </author>
    
        <category term="PragProWriMo 2009" />
    
    <content type="html" xml:lang="en" xml:base="http://joshcarter.com/">
        <![CDATA[<p>There are few topics that can get programmers riled up more than programming languages. Language flame-wars have been raging on Usenet since about the dawn of Usenet. They&#8217;ll continue burning until, as best I can tell, the end of time. Why? The programming language is your most-used tool (second only to your text editor) and it takes a long time to master, so it&#8217;s reasonable that people get attached to their languages.</p>

<p>In college you likely focused on one &#8220;do it all&#8221; language like Java. There&#8217;s nothing wrong with Java, in fact it&#8217;s a great language. The problem is the &#8220;do it all&#8221; part&#8212;no language does it all, at least not well. You simply cannot be productive and versatile without knowing a couple programming languages.</p>
]]>
        
          <![CDATA[ <p><a href="http://joshcarter.com/books/pragprowrimo_2009/programming_languages">Continue reading "Programming Languages" &raquo;</a></p> ]]>
        
    </content>
</entry>

<entry>
    <title>Optimism</title>
    <link rel="alternate" type="text/html" href="http://joshcarter.com/books/pragprowrimo_2009/optimism" />
    <id>tag:joshcarter.com,2009://1.156</id>
    
    <published>2009-11-20T05:34:48Z</published>
    <updated>2009-11-20T05:40:13Z</updated>
    
    <summary>In the 90&#8217;s Bare Bones Software released a text editor called BBEdit with the tagline &#8220;It Doesn&#8217;t Suck.&#8221; It retains the tagline to this day. Truly brilliant marketing. Who&#8217;s their market? Programmers. Programmers are pessimistic and sarcastic lot. The vast...</summary>
    <author>
        <name>Josh Carter</name>
        <uri>http://multipart-mixed.com/about.html</uri>
    </author>
    
        <category term="PragProWriMo 2009" />
    
    <content type="html" xml:lang="en" xml:base="http://joshcarter.com/">
        <![CDATA[<p>In the 90&#8217;s Bare Bones Software released a text editor called BBEdit with the tagline &#8220;It Doesn&#8217;t Suck.&#8221; It retains the tagline to this day. Truly brilliant marketing. Who&#8217;s their market? Programmers.</p>

<p>Programmers are pessimistic and sarcastic lot. The vast majority will tell you about a hundred things that suck for every one thing that doesn&#8217;t. The highest praise a programmer will give a product is, &#8220;it doesn&#8217;t suck.&#8221;</p>

<p>Pessimist programmers are in good company. I&#8217;ve read various reports saying the vast majority of projects fail. 80 or 90 percent. Adding insult to injury, it&#8217;s not the <em>good</em> 10 or 20 percent that succeed, it&#8217;s some hodgepodge of good and bad. It almost seems that bland to downright crappy products are <em>more</em> successful, on average, than really good ones. When a programmer says such-and-such sucks, chances are he&#8217;s right.</p>
]]>
        
          <![CDATA[ <p><a href="http://joshcarter.com/books/pragprowrimo_2009/optimism">Continue reading "Optimism" &raquo;</a></p> ]]>
        
    </content>
</entry>

<entry>
    <title>Corporate Myths</title>
    <link rel="alternate" type="text/html" href="http://joshcarter.com/books/pragprowrimo_2009/corporate_myths" />
    <id>tag:joshcarter.com,2009://1.155</id>
    
    <published>2009-11-19T04:36:02Z</published>
    <updated>2009-11-19T04:41:50Z</updated>
    
    <summary> Author&#8217;s Note: it&#8217;s really hard coming up with good examples for the assembly language discussion. Either I make something meaningful that compiles into pages of assembly, or I make something too trivial that compiles into nice snippets. I&#8217;ve tried...</summary>
    <author>
        <name>Josh Carter</name>
        <uri>http://multipart-mixed.com/about.html</uri>
    </author>
    
        <category term="PragProWriMo 2009" />
    
    <content type="html" xml:lang="en" xml:base="http://joshcarter.com/">
        <![CDATA[<p class="disclaimer">
Author&#8217;s Note: it&#8217;s really hard coming up with good examples for the assembly language discussion. Either I make something meaningful that compiles into pages of assembly, or I make something too trivial that compiles into nice snippets. I&#8217;ve tried three times to write about pointers and the balance still isn&#8217;t right. So today I&#8217;m flipping back to corporate life.
</p>

<p>Executives and managers like to think they&#8217;ve got it all together. Walk with some swagger, put on the game face, don&#8217;t show weakness. Just as you learned about your parents, your management doesn&#8217;t always know as much as they say they do. I&#8217;m a manager, I&#8217;d know.</p>

<p>So let&#8217;s take a tour of myths you&#8217;ll probably hear in the corporate world. When you hear these, make a mental note: this guy is a bozo.</p>
]]>
        
          <![CDATA[ <p><a href="http://joshcarter.com/books/pragprowrimo_2009/corporate_myths">Continue reading "Corporate Myths" &raquo;</a></p> ]]>
        
    </content>
</entry>

<entry>
    <title>Functions and Parameters</title>
    <link rel="alternate" type="text/html" href="http://joshcarter.com/books/pragprowrimo_2009/functions_and_parameters" />
    <id>tag:joshcarter.com,2009://1.154</id>
    
    <published>2009-11-17T20:25:46Z</published>
    <updated>2009-11-17T20:28:14Z</updated>
    
    <summary>This entry is a day late because I started writing about pointers, but I realized I needed to discuss function calls first. Now that we&#8217;ve got the foundation of stack frames and the debugger for exploring them, we can use...</summary>
    <author>
        <name>Josh Carter</name>
        <uri>http://multipart-mixed.com/about.html</uri>
    </author>
    
        <category term="PragProWriMo 2009" />
    
    <content type="html" xml:lang="en" xml:base="http://joshcarter.com/">
        <![CDATA[<p class="disclaimer">This entry is a day late because I started writing about pointers, but I realized I needed to discuss function calls first.</p>

<p>Now that we&#8217;ve got the foundation of stack frames and the debugger for exploring them, we can use the stack for more than just local variables. The stack is also used for passing and receiving parameters to functions.</p>

<p>Let&#8217;s say I&#8217;ve got this very-nearly-useless function:</p>

<pre><code>int sum3(int a, int b, int c)
{
    return a + b + c;
}

int main()
{
    sum3(1, 2, 3);
    return 0;
}
</code></pre>
]]>
        
          <![CDATA[ <p><a href="http://joshcarter.com/books/pragprowrimo_2009/functions_and_parameters">Continue reading "Functions and Parameters" &raquo;</a></p> ]]>
        
    </content>
</entry>

<entry>
    <title>Investigating The Stack With the Debugger</title>
    <link rel="alternate" type="text/html" href="http://joshcarter.com/books/pragprowrimo_2009/investigating_the_stack_with_t" />
    <id>tag:joshcarter.com,2009://1.153</id>
    
    <published>2009-11-14T04:25:46Z</published>
    <updated>2009-11-14T04:30:05Z</updated>
    
    <summary>This section assumes I already covered some basics of GDB earlier in the book, which I plan to do. Once you have some concept of registers and the stack, it&#8217;s time to play. Take our original example and save this...</summary>
    <author>
        <name>Josh Carter</name>
        <uri>http://multipart-mixed.com/about.html</uri>
    </author>
    
        <category term="PragProWriMo 2009" />
    
    <content type="html" xml:lang="en" xml:base="http://joshcarter.com/">
        <![CDATA[<p class="disclaimer">This section assumes I already covered some basics of GDB earlier in the book, which I plan to do.</p>

<p>Once you have some concept of registers and the stack, it&#8217;s time to play. Take our original example and save this as <code>stack.c</code>:</p>

<pre><code>int main()
{
    int i = 0x11223344;
    char s[4];
    s[0] = 'f';
    s[1] = 'o';
    s[2] = 'o';
    s[3] = '\0';
    return 0;
}
</code></pre>
]]>
        
          <![CDATA[ <p><a href="http://joshcarter.com/books/pragprowrimo_2009/investigating_the_stack_with_t">Continue reading "Investigating The Stack With the Debugger" &raquo;</a></p> ]]>
        
    </content>
</entry>

<entry>
    <title>The Stack</title>
    <link rel="alternate" type="text/html" href="http://joshcarter.com/books/pragprowrimo_2009/the_stack" />
    <id>tag:joshcarter.com,2009://1.152</id>
    
    <published>2009-11-13T06:23:00Z</published>
    <updated>2009-11-13T06:28:53Z</updated>
    
    <summary>Every thread in every process has a stack. This is where local state is kept, including: All variables declared on the stack. Parameters to function calls. The pointer to the calling function&#8217;s stack base. Let&#8217;s look at an example. Say...</summary>
    <author>
        <name>Josh Carter</name>
        <uri>http://multipart-mixed.com/about.html</uri>
    </author>
    
        <category term="PragProWriMo 2009" />
    
    <content type="html" xml:lang="en" xml:base="http://joshcarter.com/">
        <![CDATA[<p>Every thread in every process has a <em>stack</em>. This is where local state is kept, including:</p>

<ul>
<li><p>All variables declared on the stack.</p></li>
<li><p>Parameters to function calls.</p></li>
<li><p>The pointer to the calling function&#8217;s stack base.</p></li>
</ul>

<p>Let&#8217;s look at an example. Say my C code defined some variables on the stack like so:</p>

<pre><code>int i = 0x11223344;
char s[4];
s[0] = 'f';
s[1] = 'o';
s[2] = 'o';
s[3] = '\0';
</code></pre>
]]>
        
          <![CDATA[ <p><a href="http://joshcarter.com/books/pragprowrimo_2009/the_stack">Continue reading "The Stack" &raquo;</a></p> ]]>
        
    </content>
</entry>

<entry>
    <title>Introducing the Machine</title>
    <link rel="alternate" type="text/html" href="http://joshcarter.com/books/pragprowrimo_2009/introducing_the_machine" />
    <id>tag:joshcarter.com,2009://1.150</id>
    
    <published>2009-11-12T04:50:16Z</published>
    <updated>2009-11-12T04:52:31Z</updated>
    
    <summary>As best I can tell, the Intel 8086/8088 processor and its successors were designed by sadists. In the future, Skynet will win and the machines will destroy humankind because the great-great-[&#8230;]-grandfathers of the 8086 became so unfathomable that nobody could...</summary>
    <author>
        <name>Josh Carter</name>
        <uri>http://multipart-mixed.com/about.html</uri>
    </author>
    
        <category term="PragProWriMo 2009" />
    
    <content type="html" xml:lang="en" xml:base="http://joshcarter.com/">
        <![CDATA[<p>As best I can tell, the Intel 8086/8088 processor and its successors were designed by sadists. In the future, Skynet will win and the machines will destroy humankind because the great-great-[&#8230;]-grandfathers of the 8086 became so unfathomable that nobody could comprehend their function and, therefore, their evil plot.</p>

<p>I will focus on the 32-bit i386 instruction set because:</p>

<ul>
<li><p>i386 32-bit instructions will work on both 32-bit and 64-bit x86 processors.</p></li>
<li><p>Most of the existing documentation, on the web and in books, covers i386.</p></li>
<li><p>If you don&#8217;t have an i386-compatible machine, you can buy one <em>cheap, cheap, cheap</em> and run a free operating system on it.</p></li>
</ul>

<p>I will use the GCC compiler and GDB debugger for my examples. You can get this free for most any operating system; for Windows I would recommend running GCC under cygwin.</p>
]]>
        
          <![CDATA[ <p><a href="http://joshcarter.com/books/pragprowrimo_2009/introducing_the_machine">Continue reading "Introducing the Machine" &raquo;</a></p> ]]>
        
    </content>
</entry>

<entry>
    <title>The Tao of Computing</title>
    <link rel="alternate" type="text/html" href="http://joshcarter.com/books/pragprowrimo_2009/the_tao_of_computing" />
    <id>tag:joshcarter.com,2009://1.149</id>
    
    <published>2009-11-11T04:55:56Z</published>
    <updated>2009-11-11T04:57:55Z</updated>
    
    <summary> Author&#8217;s note: This post is intended to introduce a larger section of the book (at least a chapter), not stand on its own. Expert programmers have all had &#8220;ah-ha&#8221; moments where, all the sudden, several concepts that were all...</summary>
    <author>
        <name>Josh Carter</name>
        <uri>http://multipart-mixed.com/about.html</uri>
    </author>
    
        <category term="PragProWriMo 2009" />
    
    <content type="html" xml:lang="en" xml:base="http://joshcarter.com/">
        <![CDATA[<p class="disclaimer">
<b>Author&#8217;s note:</b> This post is intended to introduce a larger section of the book (at least a chapter), not stand on its own.
</p>

<p>Expert programmers have all had &#8220;ah-ha&#8221; moments where, all the sudden, several concepts that were all unclear crystalize into one revelation and become clear. An expert mechanical engineer described this concept as going &#8220;above the clouds;&#8221; one moment you were lost in the soup, the next moment you break through the clouds and you can see clearly where you are and where you&#8217;re going.</p>
]]>
        
          <![CDATA[ <p><a href="http://joshcarter.com/books/pragprowrimo_2009/the_tao_of_computing">Continue reading "The Tao of Computing" &raquo;</a></p> ]]>
        
    </content>
</entry>

<entry>
    <title>Code Reviews</title>
    <link rel="alternate" type="text/html" href="http://joshcarter.com/books/pragprowrimo_2009/code_reviews" />
    <id>tag:joshcarter.com,2009://1.148</id>
    
    <published>2009-11-09T23:27:14Z</published>
    <updated>2009-11-09T23:29:48Z</updated>
    
    <summary>At some point your code will be the subject of a peer review. Many programmers loathe, detest, and double-plus unlike code reviews, but there&#8217;s really no reason to. In fact, experienced programmers look forward to code reviews&#8212;we&#8217;ll see why shortly....</summary>
    <author>
        <name>Josh Carter</name>
        <uri>http://multipart-mixed.com/about.html</uri>
    </author>
    
        <category term="PragProWriMo 2009" />
    
    <content type="html" xml:lang="en" xml:base="http://joshcarter.com/">
        <![CDATA[<p>At some point your code will be the subject of a peer review. Many programmers loathe, detest, and double-plus unlike code reviews, but there&#8217;s really no reason to. In fact, experienced programmers <em>look forward</em> to code reviews&#8212;we&#8217;ll see why shortly.</p>

<h2>Person and Perspective</h2>

<p>The reason so many code reviews go bad is because the programmer makes a connection between the his <em>code&#8217;s</em> worth and his <em>self</em> worth. When reviewers point out problems in the code, the programmer takes insult, gets defensive, and things go downhill quickly.</p>
]]>
        
          <![CDATA[ <p><a href="http://joshcarter.com/books/pragprowrimo_2009/code_reviews">Continue reading "Code Reviews" &raquo;</a></p> ]]>
        
    </content>
</entry>

<entry>
    <title>Methods of Software Development</title>
    <link rel="alternate" type="text/html" href="http://joshcarter.com/books/pragprowrimo_2009/methods_of_software_developmen" />
    <id>tag:joshcarter.com,2009://1.147</id>
    
    <published>2009-11-07T06:28:21Z</published>
    <updated>2009-11-07T06:30:46Z</updated>
    
    <summary>As a product gets larger and more complex, the development team needs to answer certain questions: &#8220;When will it be done?&#8221; The rest of the company is waiting for the product to ship. They&#8217;ve got a rollout plan, a marketing...</summary>
    <author>
        <name>Josh Carter</name>
        <uri>http://multipart-mixed.com/about.html</uri>
    </author>
    
        <category term="PragProWriMo 2009" />
    
    <content type="html" xml:lang="en" xml:base="http://joshcarter.com/">
        <![CDATA[<p>As a product gets larger and more complex, the development team needs to answer certain questions:</p>

<ul>
<li><em>&#8220;When will it be done?&#8221;</em> The rest of the company is waiting for the product to ship. They&#8217;ve got a rollout plan, a marketing blitz, perhaps manufacturing&#8230; all kinds of stuff that hinges on when the product will be done. So are we there yet?</li>
</ul>
]]>
        
          <![CDATA[ <p><a href="http://joshcarter.com/books/pragprowrimo_2009/methods_of_software_developmen">Continue reading "Methods of Software Development" &raquo;</a></p> ]]>
        
    </content>
</entry>

</feed> 