<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Ryan Rinaldi</title><link>http://ryanrinaldi.com/</link><description>.net development served with a slice of sarcasm</description><generator>Graffiti CMS 1.3 Alpha (build 1.3.0.0)</generator><lastBuildDate>Fri, 09 Jul 2010 14:57:58 GMT</lastBuildDate><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/RyanRinaldi" /><feedburner:info uri="ryanrinaldi" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><title>Programming by coincidence</title><link>http://feedproxy.google.com/~r/RyanRinaldi/~3/iGg1ptpjQNY/</link><pubDate>Thu, 25 Mar 2010 09:38:07 GMT</pubDate><guid isPermaLink="false">http://ryanrinaldi.com/blog/programming-by-coincidence/</guid><dc:creator>Ryan Rinaldi</dc:creator><slash:comments>1</slash:comments><category domain="http://ryanrinaldi.com/blog/">Blog</category><description>&lt;p&gt;&lt;i&gt;I’m using Twitter. Follow me &lt;a href="http://twitter.com/rrinaldi"&gt;@rrinaldi&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="display: inline; margin-left: 0px; margin-right: 0px" align="right" src="http://wakkanew.files.wordpress.com/2009/09/i-know-internets.jpg" width="262" height="281" /&gt;&lt;/p&gt;  &lt;p&gt;As a developer it’s of super duper importance that we understand what each and every line of code that we write does and how it works.&amp;#160; While a lot of code that we write leverages libraries to provide wonderful abstractions over complex implementations we owe it to ourselves, the businesses that we work for and other developers on our teams to understand what these libraries are doing and how they are doing it.&lt;/p&gt;  &lt;p&gt;But why?&amp;#160; Because when they fail (and they will fail!) you need to know where to begin troubleshooting and without an understanding of what the code is doing you are up a creek.&amp;#160; So since you can’t troubleshoot you need to find an alternate implementation that does work.&amp;#160; But an alternate implementation of what?!?&amp;#160; You don’t have the foggiest idea what the code was doing in the first place so how can you write (or, sigh, find) code that does the same *thing* but in a different way?&lt;/p&gt;  &lt;p&gt;This leads developers to go down the rabbit hole of CPDD (Copy Paste Driven Development).&amp;#160; A few copy-pastes later from the &lt;/p&gt; &lt;a href="http://www.codinghorror.com/blog/2009/05/the-bathroom-wall-of-code.html"&gt;bathroom wall of code&lt;/a&gt; and you have a mess of code that nobody really understands but “works” (for a very small value of “works”).&amp;#160; Now you back where you started.&amp;#160; A bunch of code that appears to be doing what you want and you are oblivious to the implementation details.  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;So the next time you are copying some code from &lt;a href="http://stackoverflow.com"&gt;Stack Overflow&lt;/a&gt; do me a favor, heck do us all a favor, and just ask yourself “What is this code doing?”.&amp;#160; Once you have the answer, and you are satisfied that it is working the way you really intended feel free to paste away.&amp;#160; But until then, don’t infect your codebase with germy disgusting code that you got off the bathroom wall. &lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/g2M7nyP-mVMJKm1sLtvzu0JMXA0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/g2M7nyP-mVMJKm1sLtvzu0JMXA0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/g2M7nyP-mVMJKm1sLtvzu0JMXA0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/g2M7nyP-mVMJKm1sLtvzu0JMXA0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RyanRinaldi?a=iGg1ptpjQNY:L1whXBwlFrc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RyanRinaldi?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RyanRinaldi?a=iGg1ptpjQNY:L1whXBwlFrc:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RyanRinaldi?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RyanRinaldi?a=iGg1ptpjQNY:L1whXBwlFrc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RyanRinaldi?i=iGg1ptpjQNY:L1whXBwlFrc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><feedburner:origLink>http://ryanrinaldi.com/blog/programming-by-coincidence/</feedburner:origLink></item><item><title>MIX10 – Windows 7 Series Phone Architecture</title><link>http://feedproxy.google.com/~r/RyanRinaldi/~3/TVq7HqSKZY4/</link><pubDate>Wed, 17 Mar 2010 04:49:02 GMT</pubDate><guid isPermaLink="false">http://ryanrinaldi.com/blog/mix10-ndash-windows-7-series-phone-architecture/</guid><dc:creator>Ryan Rinaldi</dc:creator><slash:comments>0</slash:comments><category domain="http://ryanrinaldi.com/blog/">Blog</category><description>&lt;p&gt;Rearchitected from the ground up&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Hardware Architecture&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Capacitive touch – 4 or more contact points&lt;/li&gt;      &lt;li&gt;Sensors &lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;GPS&lt;/li&gt;        &lt;li&gt;Accelerometers&lt;/li&gt;        &lt;li&gt;Compass&lt;/li&gt;        &lt;li&gt;Light&lt;/li&gt;        &lt;li&gt;Proxmity&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Camera&lt;/li&gt;      &lt;li&gt;Multimedia&lt;/li&gt;      &lt;li&gt;Memory&lt;/li&gt;      &lt;li&gt;GPU&lt;/li&gt;      &lt;li&gt;CPU&lt;/li&gt;      &lt;li&gt;Only 2 resolutions&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Software Architecture&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Built on WinCE&lt;/li&gt;      &lt;li&gt;MS is writing almost all of the device drivers instead of OEM&lt;/li&gt;      &lt;li&gt;App updating, Licensing built in&lt;/li&gt;      &lt;li&gt;New UI model&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Shell frame&lt;/li&gt;        &lt;li&gt;Direct3D&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;XBox LIVE, Bing, Location, Push notifications&lt;/li&gt;      &lt;li&gt;Apps all built on CLR (no unmanaged code)&lt;/li&gt;      &lt;li&gt;Silverlight, XNA, HTMl/JavaScript&lt;/li&gt;      &lt;li&gt;Frameworks built for you to access all phone features&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;App Model&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;What is an app?&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Uniquely identifiable and servicable product packaged as XAP&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Application deployment&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Windows phone marketplace&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Application license&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Crypto-verifable object issued to grant rights to the applications&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Phone only installs .xap pakcages signed by marketplace&lt;/li&gt;      &lt;li&gt;phone handles all aspects of .xap installation based on manifest&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;you cannot make arbitrary changes to the phone during install&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Users control install, update and uninstall, while the marketplace controls revocation&lt;/li&gt;      &lt;li&gt;Phone only runs apps that have a valid marketplace license&lt;/li&gt;      &lt;li&gt;Apps are sandboxed into separate security accounts while installed and at runtime&lt;/li&gt;      &lt;li&gt;Resource allocation policy keeps the foreground app responsive&lt;/li&gt;      &lt;li&gt;Resource management policy ensures the user can always use Start to run an app.&lt;/li&gt;      &lt;li&gt;App hosting&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Each app executes inside an isolated, least-privileged host process&lt;/li&gt;        &lt;li&gt;all app code is transparent and CLS-verifiable&lt;/li&gt;        &lt;li&gt;Frameworks enable app code to interact with app model, UI model, phone functionality&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Frameworks&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;CLR&lt;/li&gt;        &lt;li&gt;Silverlight &lt;/li&gt;        &lt;li&gt;Device &amp;amp; phone&lt;/li&gt;        &lt;li&gt;Cloud&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;UI Model&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Concepts&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Application – UI and logic for functionality exposed through pages&lt;/li&gt;        &lt;li&gt;Page&amp;#160; a single screen of user interaction elements&lt;/li&gt;        &lt;li&gt;Session – An ordered workflow of user interactions spanning applications&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;UI metaphor – Web&lt;/li&gt;      &lt;li&gt;Sessions can be paged out when inactive.&lt;/li&gt;      &lt;li&gt;Page State – Contains data that describes an instance of a page, analogous to browser cookie&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Allows the phone to discard all UI info when app is inactive&lt;/li&gt;        &lt;li&gt;Rehydrates page ui based on Page State info&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Graphics composition&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Each page gets it’s own layer on top of the Direct3D&amp;#160; surface&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;Cloud Integration Services&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;built-in user experiences and APIs&lt;/li&gt;      &lt;li&gt;Familar APIs for interactingwith existing web 2.0 services&lt;/li&gt;      &lt;li&gt;Rich support for incorporating custom web services&lt;/li&gt;      &lt;li&gt;Location Service&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;support for consuming GPS, AGPS and Wi-Fi based location&lt;/li&gt;        &lt;li&gt;reverse geo-coding&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Push notification service&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Managed APIs for notification-driven interaction&lt;/li&gt;        &lt;li&gt;When battery is low the service may shut down&lt;/li&gt;        &lt;li&gt;This is not guaranteed message delivery.&lt;/li&gt;        &lt;li&gt;Based on the state of the phone, message could be delayed, batched, or dropped.&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Gamer Services APIs&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/GV2UvfU3P4T_L_meUvVQx8sPsuI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GV2UvfU3P4T_L_meUvVQx8sPsuI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/GV2UvfU3P4T_L_meUvVQx8sPsuI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GV2UvfU3P4T_L_meUvVQx8sPsuI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RyanRinaldi?a=TVq7HqSKZY4:UBqGLZPMZ4w:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RyanRinaldi?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RyanRinaldi?a=TVq7HqSKZY4:UBqGLZPMZ4w:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RyanRinaldi?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RyanRinaldi?a=TVq7HqSKZY4:UBqGLZPMZ4w:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RyanRinaldi?i=TVq7HqSKZY4:UBqGLZPMZ4w:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><feedburner:origLink>http://ryanrinaldi.com/blog/mix10-ndash-windows-7-series-phone-architecture/</feedburner:origLink></item><item><title>Mercurial? sure, why not?</title><link>http://feedproxy.google.com/~r/RyanRinaldi/~3/4q4eRZs0dNU/</link><pubDate>Sun, 14 Mar 2010 11:18:40 GMT</pubDate><guid isPermaLink="false">http://ryanrinaldi.com/blog/mercurial-sure-why-not/</guid><dc:creator>Ryan Rinaldi</dc:creator><slash:comments>0</slash:comments><category domain="http://ryanrinaldi.com/blog/">Blog</category><description>&lt;p&gt;Some of the new super cool things on the block are Distributed Version Control Systems and being somebody that is into super cool new things I figured I would spend some time and get to know them.&lt;/p&gt;
&lt;p&gt;A couple months ago &lt;a href="http://stevenkuhn.net"&gt;Steve&lt;/a&gt; and I had a hack-a-thon weekend and he introduced me to &lt;a href="http://git-scm.com/"&gt;Git&lt;/a&gt;. I have to say that I didn&amp;rsquo;t really like Git.&amp;nbsp; I found it a bit cumbersome and confusing.&amp;nbsp; Honestly, that is probably more my fault than Git&amp;rsquo;s because I had no idea how DVCSs worked and Git is a little to powerful to be put in the hands of a novice.&amp;nbsp; Needless to say handing me Git was like handing me a .45 and pointing it at my foot.&amp;nbsp; It was only a matter of time until I shot myself.&lt;/p&gt;
&lt;p&gt;So after blowing off both of my feet and a few other appendages I wrote DVCS off as a bad idea.&amp;nbsp; Luckily &lt;a href="http://www.joelonsoftware.com/"&gt;Joel Spolsky&lt;/a&gt; wrote a very awesome &lt;a href="http://hginit.com/"&gt;intro to Mercurial&lt;/a&gt; that peeked my interest again.&amp;nbsp; Reading the intro filled in a lot of the blanks in my mental model of how DVCS works.&amp;nbsp; I suggest you spend some time reading the intro and then do as I did and go purchase the really awesome &lt;a href="http://tekpub.com/preview/hg"&gt;Mastering Mercurial&lt;/a&gt; series from TekPub.&amp;nbsp; Once you watch that I think you&amp;rsquo;ll find Mercurial (and Git) a very compelling SCM solution.&amp;nbsp; I found it compelling enough to get a &lt;a href="http://kilnhg.com"&gt;Kiln&lt;/a&gt; account and try it out on a real honest to goodness (private) project.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_t3j_TMVW301H8Rxk4zJP0u9ukg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_t3j_TMVW301H8Rxk4zJP0u9ukg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/_t3j_TMVW301H8Rxk4zJP0u9ukg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_t3j_TMVW301H8Rxk4zJP0u9ukg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RyanRinaldi?a=4q4eRZs0dNU:IGjbds8Zqi0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RyanRinaldi?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RyanRinaldi?a=4q4eRZs0dNU:IGjbds8Zqi0:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RyanRinaldi?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RyanRinaldi?a=4q4eRZs0dNU:IGjbds8Zqi0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RyanRinaldi?i=4q4eRZs0dNU:IGjbds8Zqi0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><feedburner:origLink>http://ryanrinaldi.com/blog/mercurial-sure-why-not/</feedburner:origLink></item><item><title>MIX10 – ASP.NET MVc bootcamp</title><link>http://feedproxy.google.com/~r/RyanRinaldi/~3/nFEw8zVNkKg/</link><pubDate>Sun, 14 Mar 2010 10:37:14 GMT</pubDate><guid isPermaLink="false">http://ryanrinaldi.com/blog/mix10-ndash-asp-net-mvc-bootcamp/</guid><dc:creator>Ryan Rinaldi</dc:creator><slash:comments>0</slash:comments><category domain="http://ryanrinaldi.com/blog/">Blog</category><description>&lt;p&gt;Presented by Jon Galloway (&lt;a href="http://twitter.com/jongalloway"&gt;Twitter&lt;/a&gt;, &lt;a href="http://weblogs.asp.net/jgalloway/"&gt;Blog&lt;/a&gt;, &lt;a href="http://herdingcode.com/"&gt;Podcast&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;2 different templates for MV2&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;MVC 2 Web Application &lt;/li&gt;    &lt;li&gt;MVC 2 Empty Web Application &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;(BTW, this is code heavy demo so there might not be a lot of notes.)&lt;/p&gt;  &lt;p&gt;I’m going to point out that Jon couldn’t get his first demo to compile. :P&amp;#160; &lt;/p&gt;  &lt;p&gt;We are building a store&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Home page &lt;/li&gt;    &lt;li&gt;Store      &lt;ul&gt;       &lt;li&gt;List page &lt;/li&gt;        &lt;li&gt;Details page &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Routes map between URLs and Controller Actions.&lt;/p&gt;  &lt;p&gt;Controller actions and views are mapped by convention.&lt;/p&gt;  &lt;p&gt;New HtmlHelper in MVC2 – EditorFor and EditorForModel (Interesting stuff!)&lt;/p&gt;  &lt;p&gt;Support for Display and Editor templates&lt;/p&gt;  &lt;p&gt;(Templating stuff looks very interesting.&amp;#160; Need to find a real project to try this stuff out on.)&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/oE6OONxFbNRWJ0jMJfJvjcX8d_A/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oE6OONxFbNRWJ0jMJfJvjcX8d_A/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/oE6OONxFbNRWJ0jMJfJvjcX8d_A/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oE6OONxFbNRWJ0jMJfJvjcX8d_A/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RyanRinaldi?a=nFEw8zVNkKg:OgLitwaLGo0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RyanRinaldi?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RyanRinaldi?a=nFEw8zVNkKg:OgLitwaLGo0:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RyanRinaldi?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RyanRinaldi?a=nFEw8zVNkKg:OgLitwaLGo0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RyanRinaldi?i=nFEw8zVNkKg:OgLitwaLGo0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><feedburner:origLink>http://ryanrinaldi.com/blog/mix10-ndash-asp-net-mvc-bootcamp/</feedburner:origLink></item><item><title>MIX10 – Design Fundamentals for Developers – Part 2</title><link>http://feedproxy.google.com/~r/RyanRinaldi/~3/783z6uNXr2I/</link><pubDate>Sun, 14 Mar 2010 07:32:36 GMT</pubDate><guid isPermaLink="false">http://ryanrinaldi.com/blog/mix10-ndash-design-fundamentals-for-developers-ndash-part-2/</guid><dc:creator>Ryan Rinaldi</dc:creator><slash:comments>1</slash:comments><category domain="http://ryanrinaldi.com/blog/">Blog</category><description>&lt;p&gt;Design is composition&lt;/p&gt;  &lt;p&gt;Everything needs to work together and support each other&lt;/p&gt;  &lt;p&gt;“Unity”&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Determines the total impact of a design&lt;/li&gt;    &lt;li&gt;Unity is relationships&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Manage relationships so the work together&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Order&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Simple&lt;/li&gt;      &lt;li&gt;Triumph of design is Complex Seems Simple&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Grid&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Things that are close together and aligned are implicitly connected&lt;/li&gt;          &lt;li&gt;The Grid is old. Simple grids used in scrolls way back when&lt;/li&gt;          &lt;li&gt;old old old old old&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;Appeals to us and our sense of order.&lt;/li&gt;        &lt;li&gt;Powerful way to organize a lot of information.&lt;/li&gt;        &lt;li&gt;Zune app is a great example of grid layout&lt;/li&gt;        &lt;li&gt;The grid is made to be broken.&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Dominance&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Things that are more dominant on a page are more important&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Size, color or shape&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;Dominance matters when you have density in information.&lt;/li&gt;        &lt;li&gt;Sometimes Dominance is an entry point or sometimes it’s a way to show relative importance of different things&lt;/li&gt;        &lt;li&gt;Don’t use too much dominance&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Hierarchy&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;3 levels of hierarchy works.&amp;#160; More than that really doesn’t&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Important&lt;/li&gt;          &lt;li&gt;unimportant&lt;/li&gt;          &lt;li&gt;everything else&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;Containment&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;Harmony&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;To make harmony use theme&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;“On the road” by Jack Kerouac – Read it&lt;/li&gt;        &lt;li&gt;Speakvisual.com – Great use of theme&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Gestalt&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;tendency to perceive things holistically and find meaning in the way the parts relate&lt;/li&gt;        &lt;li&gt;Similiarity – implied realtionship between things that are the same&lt;/li&gt;        &lt;li&gt;Contrast – things that are different are implicilty somehow different&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Color&lt;/li&gt;          &lt;li&gt;Shipe&lt;/li&gt;          &lt;li&gt;size&lt;/li&gt;          &lt;li&gt;position&lt;/li&gt;          &lt;li&gt;orientation&lt;/li&gt;       &lt;/ul&gt;     &lt;/ul&gt;      &lt;li&gt;Avoid the trap of “sameness”.&lt;/li&gt;      &lt;li&gt;Increase contrast and you have the ability to say more things&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;increases your visual “vocab”&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Chunking&lt;/li&gt;      &lt;li&gt;Figure/Ground&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;What’s on top and what’s the background&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Closure&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Use negative space to imply other shapes&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Good Continuation&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Balance&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Whitespace&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Negative space&lt;/li&gt;        &lt;li&gt;Empty space&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Empty space doesn’t have to be empty (WTF)&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;Same damn thing as figure/ground&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Yes, space can be wasted&lt;/li&gt;      &lt;li&gt;Empty space is not wasted space (sometimes)&lt;/li&gt;      &lt;li&gt;Empty space is not there to be filled. It is there to be manipulated.&lt;/li&gt;      &lt;li&gt;Benefits&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Feeling of quality&lt;/li&gt;        &lt;li&gt;Legibility and readability&lt;/li&gt;        &lt;li&gt;Reinforce order and structure.&lt;/li&gt;        &lt;li&gt;Create interest.&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt; &lt;/ul&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7LiZMg740RyCHFZx4mAtoqcdGSI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7LiZMg740RyCHFZx4mAtoqcdGSI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7LiZMg740RyCHFZx4mAtoqcdGSI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7LiZMg740RyCHFZx4mAtoqcdGSI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RyanRinaldi?a=783z6uNXr2I:lfoqjwfL4BI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RyanRinaldi?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RyanRinaldi?a=783z6uNXr2I:lfoqjwfL4BI:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RyanRinaldi?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RyanRinaldi?a=783z6uNXr2I:lfoqjwfL4BI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RyanRinaldi?i=783z6uNXr2I:lfoqjwfL4BI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><feedburner:origLink>http://ryanrinaldi.com/blog/mix10-ndash-design-fundamentals-for-developers-ndash-part-2/</feedburner:origLink></item><item><title>MIX10 – Design Fundamentals for Developers</title><link>http://feedproxy.google.com/~r/RyanRinaldi/~3/bKrWYDxFr20/</link><pubDate>Sun, 14 Mar 2010 06:14:19 GMT</pubDate><guid isPermaLink="false">http://ryanrinaldi.com/blog/mix10-ndash-design-fundamentals-for-developers/</guid><dc:creator>Ryan Rinaldi</dc:creator><slash:comments>0</slash:comments><category domain="http://ryanrinaldi.com/blog/">Blog</category><description>&lt;p&gt;Just arrived in my first workshop. (And yes, I was able to knock the cobwebs loose and I remembered which workshops I signed up for!)&lt;/p&gt;  &lt;p&gt;Presentation is by Robby Ingebretsen – Created &lt;a href="http://www.kaxaml.com/"&gt;KAXAML&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;-----&lt;/p&gt;  &lt;p&gt;Design is everywhere and design touches everything. The process of design is the process of creating.&lt;/p&gt;  &lt;p&gt;We all need to consider the implications of design.&lt;/p&gt;  &lt;p&gt;If you create things, you design them.&lt;/p&gt;  &lt;p&gt;Stop evaluating yourself as a developer versus designer.&amp;#160; Just be both.&lt;/p&gt;  &lt;p&gt;Time for us to get Smart about design&lt;/p&gt;  &lt;li&gt;Improve design vocab &lt;/li&gt;  &lt;li&gt;Add to design knowledge &lt;/li&gt;  &lt;li&gt;Increase design confidence    &lt;p&gt;Design &lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Design is order &lt;/li&gt;      &lt;li&gt;The more “invisible” the design the better the design is &lt;/li&gt;      &lt;li&gt;Design should “fad away” &lt;/li&gt;      &lt;li&gt;Design is problem solving &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;Check out the book “How to Think Like a Great Graphic Designer”.&lt;/p&gt; &lt;/li&gt;  &lt;p&gt;Be empathetic.&amp;#160; Put yourself in end users shoes.&amp;#160; It allows you to communicate with them in more effective ways.&lt;/p&gt;  &lt;p&gt;Art has a subjective goal.&amp;#160; It is something that you want to make.&lt;/p&gt;  &lt;p&gt;Design has an objective goal. You are trying to create something that solves a problem.&lt;/p&gt;  &lt;p&gt;Design by&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Process&lt;/li&gt;    &lt;li&gt;People&lt;/li&gt;    &lt;li&gt;Synthesis&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Creative process is really 2 things: Flow and Edit&lt;/p&gt;  &lt;p&gt;First part of flow is research.&lt;/p&gt;  &lt;p&gt;After research is brainstorming&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Apple uses a 10/3/1 rule&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Come up with 10 pixel perfect designs&lt;/li&gt;      &lt;li&gt;Choose 3&lt;/li&gt;      &lt;li&gt;Refine those 3&lt;/li&gt;      &lt;li&gt;Choose 1&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;“Babies” and “Ponies”&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;“Babies” -&amp;#160; Don’t fall in love with designs that you spend a lot of time on if they don’t solve the problem&lt;/li&gt;    &lt;li&gt;“Ponies” – Things that stakeholders want that don’t add to the design.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Process docs&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Brief&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Kick off a project&lt;/li&gt;      &lt;li&gt;Spec&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Pitch&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;A first response to the creative brief&lt;/li&gt;      &lt;li&gt;In the end you need to land on a direction to go&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Wireframe/Sketch&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Describes the Information architecture&lt;/li&gt;      &lt;li&gt;layout&lt;/li&gt;      &lt;li&gt;Navigation&lt;/li&gt;      &lt;li&gt;user flow&lt;/li&gt;      &lt;li&gt;high level information structure&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Interaction Spec&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Doc that describes how people will interact between the design and observer&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Motion guide&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;a guide to the personality and tone of the of the animation and movement in the application&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Comp&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;establish the final visual design&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Prototype&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;a complete or semi-complete sample of the final design&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;Love the quote “Saul Bass is awesome” :P&lt;/p&gt;  &lt;p&gt;“Anybody in the room can be a great designer, err at least a passable one” – At least he is honest!&lt;/p&gt;  &lt;p&gt;The trick to being a great designer is:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Hard work&lt;/li&gt;    &lt;li&gt;Observe the world around you synthesize it.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;-----&lt;/p&gt;  &lt;p&gt;More after the break. :)&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/bp2bl9hUajqy__1YkD45lUerxRs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bp2bl9hUajqy__1YkD45lUerxRs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/bp2bl9hUajqy__1YkD45lUerxRs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bp2bl9hUajqy__1YkD45lUerxRs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RyanRinaldi?a=bKrWYDxFr20:zKmxILrQNI8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RyanRinaldi?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RyanRinaldi?a=bKrWYDxFr20:zKmxILrQNI8:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RyanRinaldi?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RyanRinaldi?a=bKrWYDxFr20:zKmxILrQNI8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RyanRinaldi?i=bKrWYDxFr20:zKmxILrQNI8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><feedburner:origLink>http://ryanrinaldi.com/blog/mix10-ndash-design-fundamentals-for-developers/</feedburner:origLink></item><item><title>MIX10 – Expect many posts</title><link>http://feedproxy.google.com/~r/RyanRinaldi/~3/jbQcXGRLZgM/</link><pubDate>Sun, 14 Mar 2010 05:15:54 GMT</pubDate><guid isPermaLink="false">http://ryanrinaldi.com/blog/mix10-ndash-expect-many-posts/</guid><dc:creator>Ryan Rinaldi</dc:creator><slash:comments>0</slash:comments><category domain="http://ryanrinaldi.com/blog/">Blog</category><description>&lt;p&gt;Just like every other conference I go to, I will be writing a blog post for each session I attend. My coworkers &lt;a href="http://stevenkuhn.net"&gt;Steve&lt;/a&gt; and Angela (no url for her, yet!) are in this session with me and I believe Steve will also be blogging a bit during MIX so feel free to check out his site for more info.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/iT_36UTYf6ZYbimJpNLk6V4m6bM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iT_36UTYf6ZYbimJpNLk6V4m6bM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/iT_36UTYf6ZYbimJpNLk6V4m6bM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iT_36UTYf6ZYbimJpNLk6V4m6bM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RyanRinaldi?a=jbQcXGRLZgM:T6GEhUd6gO4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RyanRinaldi?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RyanRinaldi?a=jbQcXGRLZgM:T6GEhUd6gO4:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RyanRinaldi?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RyanRinaldi?a=jbQcXGRLZgM:T6GEhUd6gO4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RyanRinaldi?i=jbQcXGRLZgM:T6GEhUd6gO4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><feedburner:origLink>http://ryanrinaldi.com/blog/mix10-ndash-expect-many-posts/</feedburner:origLink></item><item><title>MIX10 – Day 0</title><link>http://feedproxy.google.com/~r/RyanRinaldi/~3/wKzZLBRidKw/</link><pubDate>Sun, 14 Mar 2010 04:00:12 GMT</pubDate><guid isPermaLink="false">http://ryanrinaldi.com/blog/mix10-ndash-day-0/</guid><dc:creator>Ryan Rinaldi</dc:creator><slash:comments>0</slash:comments><category domain="http://ryanrinaldi.com/blog/">Blog</category><description>&lt;p&gt;Getting all set for a day of pre-con sessions.&amp;#160; Already caffeinated and just waiting for my lazy coworkers to get downstairs so we can get all registered!&lt;/p&gt;  &lt;p&gt;I hope the tell me what pre-con sessions I signed up for.&amp;#160; I completely forgot what which one I have this morning!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/s8CQSDSeualSW3ubRj5Scf2kmIU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/s8CQSDSeualSW3ubRj5Scf2kmIU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/s8CQSDSeualSW3ubRj5Scf2kmIU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/s8CQSDSeualSW3ubRj5Scf2kmIU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RyanRinaldi?a=wKzZLBRidKw:C7JgeBHt6b8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RyanRinaldi?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RyanRinaldi?a=wKzZLBRidKw:C7JgeBHt6b8:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RyanRinaldi?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RyanRinaldi?a=wKzZLBRidKw:C7JgeBHt6b8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RyanRinaldi?i=wKzZLBRidKw:C7JgeBHt6b8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><feedburner:origLink>http://ryanrinaldi.com/blog/mix10-ndash-day-0/</feedburner:origLink></item><item><title>Research and Prototyping with Scrum.</title><link>http://feedproxy.google.com/~r/RyanRinaldi/~3/XA5eFIaJ-vk/</link><pubDate>Wed, 28 Oct 2009 01:04:26 GMT</pubDate><guid isPermaLink="false">http://ryanrinaldi.com/blog/research-and-prototyping-with-scrum/</guid><dc:creator>Ryan Rinaldi</dc:creator><slash:comments>0</slash:comments><category domain="http://ryanrinaldi.com/blog/">Blog</category><description>&lt;p&gt;Today is day 3 of our first Sprint. Yesterday was our first Daily Scrum and so far I’m digging it but I don’t have enough experience to really know if Scrum “is working” yet.&lt;/p&gt;  &lt;p&gt;When we were doing our Sprint Planning meeting it became exceptionally clear to me that it’s really, really hard to create 4-16 hour tasks when a lot of a Sprint involves research &amp;amp; prototyping.&amp;#160; We are working on implementing an &lt;a href="http://en.wikipedia.org/wiki/Enterprise_service_bus"&gt;Enterprise Service Bus&lt;/a&gt; and for this first Sprint a lot of us have to spend some time just learning the tooling.&amp;#160; How do you plan tasks effectively when you have no real idea how long something is going to take?&amp;#160; We wound up actually trying to plan how we will go about doing our research and how long we will spend on prototypes but it just feels like those sprint tasks are wild ass guesses.&amp;#160; &lt;/p&gt;  &lt;p&gt;In the future I’m going to advocate that we break the 4-16 hour task rule when we don’t know the potential solution and use &lt;a href="http://www.gettingagile.com/2007/10/22/research-spikes-tracer-bullets-oh-my/"&gt;“Spikes”, “Tracer Bullets”, and “Research”&lt;/a&gt; to wrap our heads around the Product Backlog before we do a Sprint Planning.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/nod40YdCbn8vIQ7SKflNuMUPZTE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nod40YdCbn8vIQ7SKflNuMUPZTE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/nod40YdCbn8vIQ7SKflNuMUPZTE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nod40YdCbn8vIQ7SKflNuMUPZTE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RyanRinaldi?a=XA5eFIaJ-vk:LR2qdA6cMUs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RyanRinaldi?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RyanRinaldi?a=XA5eFIaJ-vk:LR2qdA6cMUs:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RyanRinaldi?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RyanRinaldi?a=XA5eFIaJ-vk:LR2qdA6cMUs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RyanRinaldi?i=XA5eFIaJ-vk:LR2qdA6cMUs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><feedburner:origLink>http://ryanrinaldi.com/blog/research-and-prototyping-with-scrum/</feedburner:origLink></item><item><title>Scrum: One team multiple projects?</title><link>http://feedproxy.google.com/~r/RyanRinaldi/~3/W87QNTdCrUU/</link><pubDate>Sun, 25 Oct 2009 15:05:29 GMT</pubDate><guid isPermaLink="false">http://ryanrinaldi.com/blog/scrum-one-team-multiple-projects/</guid><dc:creator>Ryan Rinaldi</dc:creator><slash:comments>4</slash:comments><category domain="http://ryanrinaldi.com/blog/">Blog</category><description>&lt;p&gt;At work we are in the process of implementing Scrum (actually tomorrow is our first Sprint Planning meeting. Really looking forward to it.)&lt;/p&gt;  &lt;p&gt;Everybody on the team has read the books on Scrum and we are all very excited to finally be formalizing our processes but we are in disagreement about how best to actually implement Scrum.&lt;/p&gt;  &lt;p&gt;The problem is that we are a small team responsible for a set of pretty independent applications.&amp;#160; All of these applications are in various states: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;“Done” – These apps only see bug fixes and very small feature work. Until the business processes around them change there will be little to no work required to maintain them.&lt;/li&gt;    &lt;li&gt;“Maintenance” – Apps that are recently released. As the business adopts them they will require small feature changes and bug fixes.&lt;/li&gt;    &lt;li&gt;“Greenfield” – Brand new apps that haven’t yet reached 1.0. Lots of work.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Greenfield apps have more than enough work to fill a sprint. Maintenance and Done apps, not so much. So how do you fit work on projects into a sprint if each app has it’s own backlog but might not have enough work for a full sprint?&amp;#160; &lt;/p&gt;  &lt;p&gt;I’ve searched for an answer and I’ve found the following sites that address it but nobody seems to be in complete agreement.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;a title="http://blog.xebia.com/2008/08/21/agile-maintenance-one-team-multiple-projects/" href="http://blog.xebia.com/2008/08/21/agile-maintenance-one-team-multiple-projects/"&gt;http://blog.xebia.com/2008/08/21/agile-maintenance-one-team-multiple-projects/&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a title="http://www.infoq.com/news/2007/12/multiple-projects-one-agile-team" href="http://www.infoq.com/news/2007/12/multiple-projects-one-agile-team"&gt;http://www.infoq.com/news/2007/12/multiple-projects-one-agile-team&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a title="http://stackoverflow.com/questions/412525/how-does-scrum-work-when-you-have-multiple-projects" href="http://stackoverflow.com/questions/412525/how-does-scrum-work-when-you-have-multiple-projects"&gt;http://stackoverflow.com/questions/412525/how-does-scrum-work-when-you-have-multiple-projects&lt;/a&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;We have tentatively agreed that we will have one Product Backlog for all of our projects and a sprint can (and probably will) include work for multiple projects. We will have one person that will manage the Product Backlog and will work with the various Product Owners to make sure they understand how and why the work for their projects is placed in the Product Backlog.&lt;/p&gt;  &lt;p&gt;So to all the Scrum people out there, is this a common scenario? Is one Product Backlog for multiple projects seem like a reasonable idea? If not how else can we address our situation?&amp;#160; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/0Rhgb5DXgxYxyafkglDqyDgTp8I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0Rhgb5DXgxYxyafkglDqyDgTp8I/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/0Rhgb5DXgxYxyafkglDqyDgTp8I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0Rhgb5DXgxYxyafkglDqyDgTp8I/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RyanRinaldi?a=W87QNTdCrUU:UFDVQLf6hzs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RyanRinaldi?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RyanRinaldi?a=W87QNTdCrUU:UFDVQLf6hzs:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RyanRinaldi?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RyanRinaldi?a=W87QNTdCrUU:UFDVQLf6hzs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RyanRinaldi?i=W87QNTdCrUU:UFDVQLf6hzs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><feedburner:origLink>http://ryanrinaldi.com/blog/scrum-one-team-multiple-projects/</feedburner:origLink></item></channel></rss>
