<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>BUY Cialia ONLINE WITHOUT PRESCRIPTION</title>
	<atom:link href="http://elegantcode.com/2008/06/08/where-to-start-a-new-program/feed/" rel="self" type="application/rss+xml" />
	<link>http://elegantcode.com/2008/06/08/where-to-start-a-new-program/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=where-to-start-a-new-program</link>
	<description></description>
	<lastBuildDate>Tue, 08 May 2012 09:13:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>BUY Cialia ONLINE WITHOUT PRESCRIPTION</title>
		<link>http://elegantcode.com/2008/06/08/where-to-start-a-new-program/comment-page-1/#comment-23358</link>
		<dc:creator>Matthew Botos</dc:creator>
		<pubDate>Mon, 09 Jun 2008 16:04:09 +0000</pubDate>
		<guid isPermaLink="false">http://elegantcode.com/2008/06/08/where-to-start-a-new-program/#comment-23358</guid>
		<description>I&#039;d agree with the domain model being the right place to start these days. ORM will basically build your database from that, and the performance-critical pieces can then be tweaked. With more enterprise software being integrated, the GUI has become just one endpoint the domain model feeds in addition to syndication feeds, web services, and other interfaces.</description>
		<content:encoded><![CDATA[<p>I&#8217;d agree with the domain model being the right place to start these days. ORM will basically build your database from that, and the performance-critical pieces can then be tweaked. With more enterprise software being integrated, the GUI has become just one endpoint the domain model feeds in addition to syndication feeds, web services, and other interfaces.</p>
]]></content:encoded>
	</item>
	<item>
		<title>BUY Cialia ONLINE WITHOUT PRESCRIPTION</title>
		<link>http://elegantcode.com/2008/06/08/where-to-start-a-new-program/comment-page-1/#comment-23325</link>
		<dc:creator>Reflective Perspective - Chris Alcock &#187; The Morning Brew #110</dc:creator>
		<pubDate>Mon, 09 Jun 2008 07:27:45 +0000</pubDate>
		<guid isPermaLink="false">http://elegantcode.com/2008/06/08/where-to-start-a-new-program/#comment-23325</guid>
		<description>[...] Where to start a new program - Chris Brandsma talks about where to start on a new project, outlining a number of possible ways to get started. [...]</description>
		<content:encoded><![CDATA[<p>[...] Where to start a new program &#8211; Chris Brandsma talks about where to start on a new project, outlining a number of possible ways to get started. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>BUY Cialia ONLINE WITHOUT PRESCRIPTION</title>
		<link>http://elegantcode.com/2008/06/08/where-to-start-a-new-program/comment-page-1/#comment-23319</link>
		<dc:creator>David Starr</dc:creator>
		<pubDate>Mon, 09 Jun 2008 03:52:03 +0000</pubDate>
		<guid isPermaLink="false">http://elegantcode.com/2008/06/08/where-to-start-a-new-program/#comment-23319</guid>
		<description>@Chris

I start the UI doscussions on a whiteboard and only move them into code after the vocabulary is understood. It sounds like we work similarly, actually.

Too bad. Agreement is not typically as fun as arguing :)</description>
		<content:encoded><![CDATA[<p>@Chris</p>
<p>I start the UI doscussions on a whiteboard and only move them into code after the vocabulary is understood. It sounds like we work similarly, actually.</p>
<p>Too bad. Agreement is not typically as fun as arguing <img src='http://elegantcode.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>BUY Cialia ONLINE WITHOUT PRESCRIPTION</title>
		<link>http://elegantcode.com/2008/06/08/where-to-start-a-new-program/comment-page-1/#comment-23313</link>
		<dc:creator>Chris Brandsma</dc:creator>
		<pubDate>Mon, 09 Jun 2008 01:21:12 +0000</pubDate>
		<guid isPermaLink="false">http://elegantcode.com/2008/06/08/where-to-start-a-new-program/#comment-23313</guid>
		<description>@David: You bring the ERD diagram, I&#039;ll bring the hot dogs and beer.  

I am also finding more value in mocking up the UI, just pictures, no code, before hand.  It gives the customer some degree of assurance.  Which promptly get trashed when the real world UI constraints get thrown in.

But after that, you have a bunch of pretty pictures and no code, no tables.  Do you start creating the UI, just attached to nothing?  

I still think it makes sense to start with the domain at that point.  You need to have your naming scheme down, and I use that to help drive the UI.  But in case you missed that last part...I&#039;m only creating the parts of the domain that I need right then...for the UI that I&#039;m going to be working on.  Agile development is still the name of the game.</description>
		<content:encoded><![CDATA[<p>@David: You bring the ERD diagram, I&#8217;ll bring the hot dogs and beer.  </p>
<p>I am also finding more value in mocking up the UI, just pictures, no code, before hand.  It gives the customer some degree of assurance.  Which promptly get trashed when the real world UI constraints get thrown in.</p>
<p>But after that, you have a bunch of pretty pictures and no code, no tables.  Do you start creating the UI, just attached to nothing?  </p>
<p>I still think it makes sense to start with the domain at that point.  You need to have your naming scheme down, and I use that to help drive the UI.  But in case you missed that last part&#8230;I&#8217;m only creating the parts of the domain that I need right then&#8230;for the UI that I&#8217;m going to be working on.  Agile development is still the name of the game.</p>
]]></content:encoded>
	</item>
	<item>
		<title>BUY Cialia ONLINE WITHOUT PRESCRIPTION</title>
		<link>http://elegantcode.com/2008/06/08/where-to-start-a-new-program/comment-page-1/#comment-23293</link>
		<dc:creator>David Starr</dc:creator>
		<pubDate>Sun, 08 Jun 2008 23:26:20 +0000</pubDate>
		<guid isPermaLink="false">http://elegantcode.com/2008/06/08/where-to-start-a-new-program/#comment-23293</guid>
		<description>OK, I will disagree. Sort of.

I fervently agree that starting with the data tier is flat wrong. I recently told a tem at work that if they bring an ERD to a sprint review I will take in into the parking lot and burn it. As an example :)

On the other side, I find trememdous value in building mockups (not working code at all, just some pictures) of the User&#039;s Experience in an application and a domain vocabulary at the same time.

I would propose that this makes more sense than starting with a middle tier, becuase your customer rarely thinks in those terms. If I am designing a system for end users, the UI is their world. Let them live in it and let them force the build of the common vocabulary in that paradigm.

Typical users (and this may not mean client) do not know about the middle tier. This means that we need to be aware of our biz layer as we work though that UI with the client. When they come up with a potential screen that you can see conflicting in that biz layer, work it out with them before you get to code.

So, in a nutshell, mockups and vocabulary first. Iterate on the mockups and vocabulary with the client before you write a line of code.

Then thin slice the application as you build it out a feature and a screen at a time, including the domain. Evolve the domain as the features actually come online.</description>
		<content:encoded><![CDATA[<p>OK, I will disagree. Sort of.</p>
<p>I fervently agree that starting with the data tier is flat wrong. I recently told a tem at work that if they bring an ERD to a sprint review I will take in into the parking lot and burn it. As an example <img src='http://elegantcode.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>On the other side, I find trememdous value in building mockups (not working code at all, just some pictures) of the User&#8217;s Experience in an application and a domain vocabulary at the same time.</p>
<p>I would propose that this makes more sense than starting with a middle tier, becuase your customer rarely thinks in those terms. If I am designing a system for end users, the UI is their world. Let them live in it and let them force the build of the common vocabulary in that paradigm.</p>
<p>Typical users (and this may not mean client) do not know about the middle tier. This means that we need to be aware of our biz layer as we work though that UI with the client. When they come up with a potential screen that you can see conflicting in that biz layer, work it out with them before you get to code.</p>
<p>So, in a nutshell, mockups and vocabulary first. Iterate on the mockups and vocabulary with the client before you write a line of code.</p>
<p>Then thin slice the application as you build it out a feature and a screen at a time, including the domain. Evolve the domain as the features actually come online.</p>
]]></content:encoded>
	</item>
	<item>
		<title>BUY Cialia ONLINE WITHOUT PRESCRIPTION</title>
		<link>http://elegantcode.com/2008/06/08/where-to-start-a-new-program/comment-page-1/#comment-23279</link>
		<dc:creator>Bryan Watts</dc:creator>
		<pubDate>Sun, 08 Jun 2008 21:09:11 +0000</pubDate>
		<guid isPermaLink="false">http://elegantcode.com/2008/06/08/where-to-start-a-new-program/#comment-23279</guid>
		<description>I work for a consulting company which produces custom software.

Most often we start by designing/creating the database, then doing the &quot;administration&quot; side which is basically CRUD for that schema. Once done, we move on to the front end, or the &quot;interesting part&quot;.

I have become frustrated with this monolithic approach. The admin portion resembles how *we*, the developers, think about the data, not how the client does.

It also ensures that the client hates the admin portion unless they don&#039;t know any better.

The entire enterprise comes down to a single question: are you making this problem easier on yourself, the developer, or on the user? Any UI based on direct CRUD operations is definitely the former.

When you start &quot;in the middle&quot;, i.e. a domain sans UI or storage, you get a &quot;pure&quot; view of the problem: no contorting it to meet the needs of a particular application layer.

This allows you to project your domain to UI or storage as needed. It also allows you to define your nouns and verbs without regard for their connotations in a particular layer.

Point being, when you start with the UI, you code your problem for the UI; when you start with the DB, your code your problem for the DB; when you start with the domain, you code your problem for the solution.</description>
		<content:encoded><![CDATA[<p>I work for a consulting company which produces custom software.</p>
<p>Most often we start by designing/creating the database, then doing the &#8220;administration&#8221; side which is basically CRUD for that schema. Once done, we move on to the front end, or the &#8220;interesting part&#8221;.</p>
<p>I have become frustrated with this monolithic approach. The admin portion resembles how *we*, the developers, think about the data, not how the client does.</p>
<p>It also ensures that the client hates the admin portion unless they don&#8217;t know any better.</p>
<p>The entire enterprise comes down to a single question: are you making this problem easier on yourself, the developer, or on the user? Any UI based on direct CRUD operations is definitely the former.</p>
<p>When you start &#8220;in the middle&#8221;, i.e. a domain sans UI or storage, you get a &#8220;pure&#8221; view of the problem: no contorting it to meet the needs of a particular application layer.</p>
<p>This allows you to project your domain to UI or storage as needed. It also allows you to define your nouns and verbs without regard for their connotations in a particular layer.</p>
<p>Point being, when you start with the UI, you code your problem for the UI; when you start with the DB, your code your problem for the DB; when you start with the domain, you code your problem for the solution.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

