<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;D08GQHo8fSp7ImA9WhRUFk8.&quot;"><id>tag:blogger.com,1999:blog-8906001972039046802</id><updated>2012-01-26T19:57:01.475-05:00</updated><category term="ruby" /><category term="RUI Programming" /><category term="scala" /><category term="javascript" /><category term="java" /><category term="detroit" /><category term="agile content" /><category term="security" /><category term="programming" /><category term="intro" /><category term="back button" /><category term="code randori" /><category term="Agile coderetreat TDD" /><category term="selenium" /><category term="h+ transhumanism rss" /><category term="socialmedia" /><category term="music pandora radio" /><category term="jvm" /><category term="software development" /><category term="pair programming" /><category term="grails" /><category term="user group" /><category term="ann arbor" /><category term="agile" /><category term="card wall" /><category term="groovy" /><category term="software craftsmanship" /><category term="consulting" /><category term="twitter" /><category term="agile development" /><category term="architect" /><category term="tweaking laptop battery" /><category term="windows os" /><category term="agile tools" /><category term="google plus" /><category term="google apps" /><category term="javascript html firefox bug python" /><category term="learning organization" /><title>Independent in Detroit</title><subtitle type="html">Independent thought and commentary centered around software development and business.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://independentindetroit.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://independentindetroit.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Erik Przekop</name><uri>http://www.blogger.com/profile/08675346953034372641</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_gLZJcMXflOo/SbfSyhC2WFI/AAAAAAAAAFw/rb4U5xwzbV8/S220/erik_head_shot_bw.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>48</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/blogspot/DciRC" /><feedburner:info uri="blogspot/dcirc" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CEYMQXo8fCp7ImA9WhRXFkg.&quot;"><id>tag:blogger.com,1999:blog-8906001972039046802.post-4802608733182203367</id><published>2011-12-23T09:56:00.001-05:00</published><updated>2011-12-23T09:56:20.474-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-23T09:56:20.474-05:00</app:edited><title>Agile and Performance Reviews: Pt II</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/tBX1gFlvfujm6ohswiP8MN3NeYQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tBX1gFlvfujm6ohswiP8MN3NeYQ/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/tBX1gFlvfujm6ohswiP8MN3NeYQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tBX1gFlvfujm6ohswiP8MN3NeYQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Yesterday, I blogged about &lt;a href="http://independentindetroit.blogspot.com/2011/12/agile-and-performance-reviews.html"&gt;lessons learned around performance reviews in an agile environment&lt;/a&gt;.&amp;nbsp; &lt;a href="http://www.linkedin.com/profile/view?id=6737132&amp;amp;authType=name&amp;amp;authToken=3U7U&amp;amp;goback=.amf_37631_6737132&amp;amp;trk=NUS_DISC_Q-ncuc_cmtr"&gt;Marvin Toll&lt;/a&gt; pointed me to &lt;a href="http://www.leanessays.com/2004/08/team-compensation.html"&gt;this essay&lt;/a&gt; on the subject by &lt;span class="post-author vcard"&gt;&lt;span class="fn"&gt;Mary Poppendieck.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="post-author vcard"&gt;&lt;span class="fn"&gt;It's a very worthwhile read, and I think that we're ahead of her recommendations in a some areas.&amp;nbsp; A few things stand out, though:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span class="post-author vcard"&gt;&lt;span class="fn"&gt;It takes a lot of courage to change the compensation process.&amp;nbsp; It also takes a lot of influence - if most of the company thinks that the process is the best/most fair way to allocate the raise budget, you're not likely to change it.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="post-author vcard"&gt;&lt;span class="fn"&gt;It takes a lot of &lt;i&gt;work&lt;/i&gt; to improve performance evaluation.&amp;nbsp; One thing I know firsthand is that if you don't talk about goals and performance at least monthly, people will lose focus.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="post-author vcard"&gt;&lt;span class="fn"&gt;Training is a better place to spend money than merit raises.&amp;nbsp; I don't have any objective data to support this statement, but I am sure that the best developers enjoy going to conferences and being exposed to different perspectives.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="post-author vcard"&gt;&lt;span class="fn"&gt;I have seen some firsthand evidence that fairness in promotions is as important as merit raises.&amp;nbsp; Very few things kill team spirit as quickly as feeling that someone less skilled is valued more than they are.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8906001972039046802-4802608733182203367?l=independentindetroit.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/DciRC/~4/MhZEijbP8aI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://independentindetroit.blogspot.com/feeds/4802608733182203367/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8906001972039046802&amp;postID=4802608733182203367" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/4802608733182203367?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/4802608733182203367?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/DciRC/~3/MhZEijbP8aI/agile-and-performance-reviews-pt-ii.html" title="Agile and Performance Reviews: Pt II" /><author><name>Erik Przekop</name><uri>https://profiles.google.com/117037101454132337471</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-PfQFQgG4TtY/AAAAAAAAAAI/AAAAAAAADxk/hzoUtCVkV-s/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://independentindetroit.blogspot.com/2011/12/agile-and-performance-reviews-pt-ii.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak4NRnk9fSp7ImA9WhRXFUs.&quot;"><id>tag:blogger.com,1999:blog-8906001972039046802.post-7360628076462965690</id><published>2011-12-22T10:47:00.000-05:00</published><updated>2011-12-22T10:49:57.765-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-22T10:49:57.765-05:00</app:edited><title>Agile and Performance Reviews</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/YoeHeF1Ph26nrWHgTLUKaVWt6Dg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YoeHeF1Ph26nrWHgTLUKaVWt6Dg/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/YoeHeF1Ph26nrWHgTLUKaVWt6Dg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YoeHeF1Ph26nrWHgTLUKaVWt6Dg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-KMvkAkLBo0c/TsBkH7b5rKI/AAAAAAACdoE/KlAlaT94vjw/s750/Large3.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="213" src="http://4.bp.blogspot.com/-KMvkAkLBo0c/TsBkH7b5rKI/AAAAAAACdoE/KlAlaT94vjw/s320/Large3.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
I found that one of the most difficult issues to deal with in an agile development shop is performance reviews.&amp;nbsp;&amp;nbsp; There is a scrum process &lt;a href="http://scrum.jeffsutherland.com/2006/11/agile-performance-reviews.html"&gt;that Jeff Sutherland talks about in his blog&lt;/a&gt;, but it doesn't satisfy most of the requirements for the review process where I work.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
I'm not certain that doing reviews at all is a good idea.&amp;nbsp; Left to myself, I'd look for some way to reward entire teams, and empower them to most or all of what a traditional manager does.&amp;nbsp;&amp;nbsp;&amp;nbsp; I don't think my company is ready for such a radical change, so I and my peers have worked out some techniques that (I think) give us a more effective take on the traditional PR.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Hard work warning:&lt;/b&gt;&amp;nbsp; I believe that the only way to do a decent review is to put a lot of effort into it over a long period of time.&amp;nbsp; Ideally, the annual review should summarize dozens conversations and observations that take place throughout the year. &lt;br /&gt;
&lt;br /&gt;
Here are some of the keys as I see them.&amp;nbsp; These are all things that I have applied or that I am currently applying, with varying degrees of success:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Focus the goals&lt;/b&gt; - Each developer has a different sub-goal (or two) to focus on for a given time period.&amp;nbsp; For example, each of the four major goals for my group has 10-20 bullet points that it covers.&amp;nbsp; Telling people that they need to "focus" on 50+ behaviors means that they will call out what they will make up a narrative that shows they did everything on the list, rather than trying to improve anything in particular.&lt;br /&gt;
&lt;br /&gt;
Ask each team member to choose only one (two at most) behaviors or sub-goals to focus on, and reword them to apply to the individual's project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Change over time&lt;/b&gt; - The goals should shift throughout the year.&amp;nbsp; Try to change them quarterly&amp;nbsp; as a guideline.&amp;nbsp; Allow people to decide that a certain goal isn't as worthwhile and change it sooner, while others find that they take longer and extend a goal into the next quarter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&amp;nbsp;Individual ownership&lt;/b&gt; - The master list of goals should be built through conversations with the developers.&amp;nbsp; Even if the major goals are handed down from on high (ours were), you should still be able to make them more specific for a development group, and it is imperative that the people in the group have a say in their wording.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&amp;nbsp;Review at least monthly&lt;/b&gt; - People, especially busy software developers, &lt;i&gt;will&lt;/i&gt; forget long-term things like goals.&amp;nbsp; Having a monthly 1x1 where you review how they're doing really helps keep things on track.&lt;br /&gt;
&lt;b&gt;&amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Focus on strengths, not weaknesses&lt;/b&gt; - Encourage each person to focus on things that they are either already good at, or that they're passionate about being good at.&amp;nbsp; Focusing on "problem areas" usually means that you're asking people to spend more time on things they don't like doing.&amp;nbsp; A recipe for failure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Embedded management&lt;/b&gt; - I'm less sure that this is essential, but I think it is a big help in my case.&amp;nbsp; Having manager/developers allows us to pair with the people on our teams regularly.&amp;nbsp; It makes it easier to "call bullshit" on exaggerated self-reviews, but it also makes it much easier for us to see the little things that our teammates are doing every day to add value, so we can call them out on the reviews.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These things seem to work well for my team.&amp;nbsp; The alternative was more subjective - gathering feedback from stakeholders at the end of the review period.&amp;nbsp; I'm still&amp;nbsp; doing that, but I pick it up in casual conversation now instead of waiting for the end of the fiscal year.&amp;nbsp; This allows me to call out problems while there is still time for people to fix them, rather than forcing them to defend themselves when it's too late.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8906001972039046802-7360628076462965690?l=independentindetroit.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/DciRC/~4/jEoHF_a2E2M" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://independentindetroit.blogspot.com/feeds/7360628076462965690/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8906001972039046802&amp;postID=7360628076462965690" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/7360628076462965690?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/7360628076462965690?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/DciRC/~3/jEoHF_a2E2M/agile-and-performance-reviews.html" title="Agile and Performance Reviews" /><author><name>Erik Przekop</name><uri>https://profiles.google.com/117037101454132337471</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-PfQFQgG4TtY/AAAAAAAAAAI/AAAAAAAADxk/hzoUtCVkV-s/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-KMvkAkLBo0c/TsBkH7b5rKI/AAAAAAACdoE/KlAlaT94vjw/s72-c/Large3.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://independentindetroit.blogspot.com/2011/12/agile-and-performance-reviews.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkAGSXk5fyp7ImA9WhRRGEg.&quot;"><id>tag:blogger.com,1999:blog-8906001972039046802.post-668403097848696595</id><published>2011-12-02T14:35:00.001-05:00</published><updated>2011-12-02T14:38:48.727-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-02T14:38:48.727-05:00</app:edited><title>Mobile First</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/m2ybtT7mjbiExM50woLM-4V_dR4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/m2ybtT7mjbiExM50woLM-4V_dR4/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/m2ybtT7mjbiExM50woLM-4V_dR4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/m2ybtT7mjbiExM50woLM-4V_dR4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;This isn't a new idea by any stretch, but I'm hearing a lot more buzz about it these days.&amp;nbsp; The core concept is that if you create your mobile app first, it will focus on the essential features.&lt;br /&gt;
&lt;br /&gt;
A secondary benefit is that mobile will probably surpass desktop use (particularly when it comes to search) in the near future.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.lukew.com/ff/entry.asp?933"&gt;Luke Wroblewski's blog entry&lt;/a&gt; on the subject is short and clear.&amp;nbsp; If you want a bit more depth, consider skimming &lt;a href="http://www.lucidimagination.com/sites/default/files/file/Eurocon2011/TATE%20-%20Designing%20mobile%20search_eurocon2011.pdf"&gt;this presentation by Tyler Tate&lt;/a&gt;, which focuses on search applications.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8906001972039046802-668403097848696595?l=independentindetroit.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/DciRC/~4/US1KhJ_n3-4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://independentindetroit.blogspot.com/feeds/668403097848696595/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8906001972039046802&amp;postID=668403097848696595" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/668403097848696595?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/668403097848696595?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/DciRC/~3/US1KhJ_n3-4/mobile-first.html" title="Mobile First" /><author><name>Erik Przekop</name><uri>https://profiles.google.com/117037101454132337471</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-PfQFQgG4TtY/AAAAAAAAAAI/AAAAAAAADxk/hzoUtCVkV-s/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://independentindetroit.blogspot.com/2011/12/mobile-first.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkYMQ389eip7ImA9WhdSE0g.&quot;"><id>tag:blogger.com,1999:blog-8906001972039046802.post-7664594588753617176</id><published>2011-07-22T14:09:00.000-04:00</published><updated>2011-07-22T14:09:42.162-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-22T14:09:42.162-04:00</app:edited><title>Building agile teams in a large organization</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/bB3jJpPDLPJMc8c49uKfANbCcgs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bB3jJpPDLPJMc8c49uKfANbCcgs/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/bB3jJpPDLPJMc8c49uKfANbCcgs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bB3jJpPDLPJMc8c49uKfANbCcgs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;I went through a successful agile transformation a couple of years ago, and I think I have some idea why it worked so well.&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
We focused on hiring people who were already agile, or who had a strong desire to become so.&amp;nbsp; We then seeded several teams with developer-coach consultants.&lt;br /&gt;
&lt;br /&gt;
To do something similar with an existing organization, you'd have to either fire &amp;amp; then hire a lot of people, or build teams more slowly.&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
I think this would work well:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;For any given team, put 8 hard-core agilistas and 2 people who have an interest in it from the existing staff.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Every month (give or take a week), add 1 person from existing staff.&lt;/li&gt;
&lt;li&gt;When the team gets to 16, fission into two teams and repeat.&lt;/li&gt;
&lt;li&gt;Keep working your way down to the people who had the least interest in going agile.&lt;/li&gt;
&lt;/ul&gt;That means it would take 7 months to build the first two teams (or if you're willing to bring in 16 contractors at once, the first four teams).&amp;nbsp; It's a big investment, but if my experience is any guide, it's a big payoff, too.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8906001972039046802-7664594588753617176?l=independentindetroit.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/DciRC/~4/8E9-KEobPsM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://independentindetroit.blogspot.com/feeds/7664594588753617176/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8906001972039046802&amp;postID=7664594588753617176" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/7664594588753617176?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/7664594588753617176?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/DciRC/~3/8E9-KEobPsM/building-agile-teams-in-large.html" title="Building agile teams in a large organization" /><author><name>Erik Przekop</name><uri>https://profiles.google.com/117037101454132337471</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-PfQFQgG4TtY/AAAAAAAAAAI/AAAAAAAADxk/hzoUtCVkV-s/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://independentindetroit.blogspot.com/2011/07/building-agile-teams-in-large.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUAARHk8fCp7ImA9WhdTEk4.&quot;"><id>tag:blogger.com,1999:blog-8906001972039046802.post-8574976919730331383</id><published>2011-07-09T13:47:00.001-04:00</published><updated>2011-07-09T13:49:05.774-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-09T13:49:05.774-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="google plus" /><category scheme="http://www.blogger.com/atom/ns#" term="google apps" /><title>Google needs to step things up for Apps users</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/jCdmdyD9-DIXeYrHOTJbFQvAAsY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jCdmdyD9-DIXeYrHOTJbFQvAAsY/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/jCdmdyD9-DIXeYrHOTJbFQvAAsY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jCdmdyD9-DIXeYrHOTJbFQvAAsY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-oWnK6uBJ5QI/ThiSB2BRjyI/AAAAAAAAAA0/DlrggkOxKDg/s1600/Screenshot.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="104" src="http://2.bp.blogspot.com/-oWnK6uBJ5QI/ThiSB2BRjyI/AAAAAAAAAA0/DlrggkOxKDg/s320/Screenshot.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;This is getting really annoying.&lt;br /&gt;
&lt;br /&gt;
As one of the people who actually pays Google for services, it would be nice to be able to access their latest and greatest technologies.&lt;br /&gt;
&lt;br /&gt;
Snowulf has a pretty good description of the problem &lt;a href="http://snowulf.com/2011/07/05/oops-you-need-a-google-profile-to-use-this-feature/"&gt;on his blog&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-fJ4UNaxMKUQ/ThiT2m2U3II/AAAAAAAAAA4/6hH-eQRtuQg/s1600/Screenshot-1.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="60" src="http://3.bp.blogspot.com/-fJ4UNaxMKUQ/ThiT2m2U3II/AAAAAAAAAA4/6hH-eQRtuQg/s200/Screenshot-1.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;If Google Apps gets the vast majority of it's users from very large companies, then I suppose it makes sense for them to enable their more bleeding-edge features last.&amp;nbsp; I didn't find any statistics on the subject, though &lt;a href="http://www.google.com/apps/intl/en/customers/index.html"&gt;this page&lt;/a&gt; implies that there are 30 people per GA account, on average.&lt;br /&gt;
&lt;br /&gt;
I'm the only person on my domain, but I have 20 or so email addresses set up.&amp;nbsp; If they're counting me and others like me in that statistic, most "businesses" their referring to are probably individuals.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8906001972039046802-8574976919730331383?l=independentindetroit.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/DciRC/~4/-zj549jEqrY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://independentindetroit.blogspot.com/feeds/8574976919730331383/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8906001972039046802&amp;postID=8574976919730331383" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/8574976919730331383?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/8574976919730331383?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/DciRC/~3/-zj549jEqrY/google-needs-to-step-things-up-for-apps.html" title="Google needs to step things up for Apps users" /><author><name>Erik Przekop</name><uri>https://profiles.google.com/117037101454132337471</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-PfQFQgG4TtY/AAAAAAAAAAI/AAAAAAAADxk/hzoUtCVkV-s/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-oWnK6uBJ5QI/ThiSB2BRjyI/AAAAAAAAAA0/DlrggkOxKDg/s72-c/Screenshot.png" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://independentindetroit.blogspot.com/2011/07/google-needs-to-step-things-up-for-apps.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8MSHw8cSp7ImA9WhdTEk4.&quot;"><id>tag:blogger.com,1999:blog-8906001972039046802.post-4801572958499810624</id><published>2011-07-09T13:34:00.000-04:00</published><updated>2011-07-09T13:34:49.279-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-09T13:34:49.279-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ruby" /><category scheme="http://www.blogger.com/atom/ns#" term="twitter" /><category scheme="http://www.blogger.com/atom/ns#" term="scala" /><category scheme="http://www.blogger.com/atom/ns#" term="jvm" /><title>Choosing the best language: Twitter moves away from Rails</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/1l3saoYj7l2dZh20L1NuervViE0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1l3saoYj7l2dZh20L1NuervViE0/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/1l3saoYj7l2dZh20L1NuervViE0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1l3saoYj7l2dZh20L1NuervViE0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://a1.twimg.com/a/1310175040/images/logos/full_logo_blue.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="57" src="http://a1.twimg.com/a/1310175040/images/logos/full_logo_blue.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;a href="http://www.infoq.com/articles/twitter-java-use"&gt;This is an interesting article&lt;/a&gt; about Twitter's shrinking use of Ruby and Rails.&amp;nbsp; (My friend and coworker &lt;a href="http://ahabra.tumblr.com/"&gt;Abdul Habra&lt;/a&gt; sent it my way.)&lt;br /&gt;
&lt;br /&gt;
The upshot is that Ruby and Rails are better tools for rapid development with a small team, but that they don't compare to the JVM for encapsulating things so that multiple teams can change things at the same time.&amp;nbsp; There is also a performance gain, but that's a secondary concern.&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Twitter seems to have taken a very smart route here - build their product quickly with "Agile" tools, then change as needed to support a larger user base.&lt;br /&gt;
&lt;br /&gt;
I'm particularly geeked (pun intended) about their choice of JVM language.&amp;nbsp; They went more cutting-edge with Scala as their language of choice for most applications.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8906001972039046802-4801572958499810624?l=independentindetroit.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/DciRC/~4/q_Qn_X3lwbI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://independentindetroit.blogspot.com/feeds/4801572958499810624/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8906001972039046802&amp;postID=4801572958499810624" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/4801572958499810624?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/4801572958499810624?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/DciRC/~3/q_Qn_X3lwbI/choosing-best-language-twitter-moves.html" title="Choosing the best language: Twitter moves away from Rails" /><author><name>Erik Przekop</name><uri>https://profiles.google.com/117037101454132337471</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-PfQFQgG4TtY/AAAAAAAAAAI/AAAAAAAADxk/hzoUtCVkV-s/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://independentindetroit.blogspot.com/2011/07/choosing-best-language-twitter-moves.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QGQ345cCp7ImA9WhZaFUo.&quot;"><id>tag:blogger.com,1999:blog-8906001972039046802.post-3097217512757174220</id><published>2011-07-01T21:47:00.002-04:00</published><updated>2011-07-01T21:48:42.028-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-01T21:48:42.028-04:00</app:edited><title>Android Market - install directly to your device</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/yej1nUKF9QHAQsefs-WEDrexgcA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yej1nUKF9QHAQsefs-WEDrexgcA/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/yej1nUKF9QHAQsefs-WEDrexgcA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yej1nUKF9QHAQsefs-WEDrexgcA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;p&gt;It took me a while to discover this, but much to my surprise, I can shop the Android market on my laptop, and the app will install to my phone!&lt;/p&gt;&lt;p&gt;Google is just cool.&lt;/p&gt;&lt;br /&gt;&lt;img src="http://lh4.ggpht.com/-WFYRz8L6npA/Tg54vVOwr5I/AAAAAAAAAAw/BM-JeuzkRDs/1309571236687.png" /&gt;&lt;br /&gt;&lt;br /&gt;On a related note, the Android Blogger app is pretty nice, too.  (That's where this post came from.)&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8906001972039046802-3097217512757174220?l=independentindetroit.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/DciRC/~4/AjAjDXTBUDE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://independentindetroit.blogspot.com/feeds/3097217512757174220/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8906001972039046802&amp;postID=3097217512757174220" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/3097217512757174220?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/3097217512757174220?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/DciRC/~3/AjAjDXTBUDE/android-market-install-directly-to-your.html" title="Android Market - install directly to your device" /><author><name>Erik Przekop</name><uri>https://profiles.google.com/117037101454132337471</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-PfQFQgG4TtY/AAAAAAAAAAI/AAAAAAAADxk/hzoUtCVkV-s/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/-WFYRz8L6npA/Tg54vVOwr5I/AAAAAAAAAAw/BM-JeuzkRDs/s72-c/1309571236687.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://independentindetroit.blogspot.com/2011/07/android-market-install-directly-to-your.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkUBQno-fCp7ImA9WhZQFE8.&quot;"><id>tag:blogger.com,1999:blog-8906001972039046802.post-1608283399541568652</id><published>2011-04-21T19:14:00.005-04:00</published><updated>2011-04-21T19:24:13.454-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-21T19:24:13.454-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="security" /><category scheme="http://www.blogger.com/atom/ns#" term="agile development" /><title>Remembering the little things: a backlog for inactive projects</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/fdWwM10AiMo_wsV_F8Soq1wphtA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fdWwM10AiMo_wsV_F8Soq1wphtA/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/fdWwM10AiMo_wsV_F8Soq1wphtA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fdWwM10AiMo_wsV_F8Soq1wphtA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;This came up at work the other day: how do you capture those "little" features that you want to take care of next time you modify an existing (but currently un-funded) codebase?&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We're using an open source project by Jasig - the &lt;a href="http://www.jasig.org/cas"&gt;central authentication service&lt;/a&gt;.  We have a suite of different products that use it, and we want it to act as a single sign-on solution for users who have a subscription to more than one product in the suite.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A problem cropped up last week when I discovered that it was loading some information from a table at start-up, but didn't refresh the data until a restart.  It should be a pretty simple task to add a cache that would reload the data every 30 minutes or so, making it simple to add another product to the auth service.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I didn't want to make a change right then because we have enough going on this week on my current project, but I didn't want to forget about it next time we dust off the codebase and add another set of features.  The answer is pretty simple: we use &lt;a href="http://www.atlassian.com/software/jira/"&gt;Jira&lt;/a&gt; as a "story bucket" for both new features and to keep track of bugs.  I just needed to create a new project for it, and dump the story in.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8906001972039046802-1608283399541568652?l=independentindetroit.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/DciRC/~4/lI4DfolpCpc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://independentindetroit.blogspot.com/feeds/1608283399541568652/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8906001972039046802&amp;postID=1608283399541568652" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/1608283399541568652?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/1608283399541568652?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/DciRC/~3/lI4DfolpCpc/remembering-little-things-backlog-for.html" title="Remembering the little things: a backlog for inactive projects" /><author><name>Erik Przekop</name><uri>https://profiles.google.com/117037101454132337471</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-PfQFQgG4TtY/AAAAAAAAAAI/AAAAAAAADxk/hzoUtCVkV-s/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://independentindetroit.blogspot.com/2011/04/remembering-little-things-backlog-for.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkQDQng_fCp7ImA9WhZQFE8.&quot;"><id>tag:blogger.com,1999:blog-8906001972039046802.post-4312845759245826485</id><published>2011-04-21T19:03:00.005-04:00</published><updated>2011-04-21T19:26:13.644-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-21T19:26:13.644-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="pair programming" /><category scheme="http://www.blogger.com/atom/ns#" term="agile development" /><title>Pair Programming: The Binkiewicz Pairing Model</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/EnoMkIzVBe0kX_bMRA2ojtXzARQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EnoMkIzVBe0kX_bMRA2ojtXzARQ/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/EnoMkIzVBe0kX_bMRA2ojtXzARQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EnoMkIzVBe0kX_bMRA2ojtXzARQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;If you don't know what pair programming is, read this: &lt;a href="http://c2.com/cgi/wiki?PairProgramming"&gt;http://c2.com/cgi/wiki?PairProgramming&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Bill Binkiewicz is one of the many top-notch developers at my office.  He's also a pretty humble guy, and as far as I know, doesn't blog.  He didn't even put his name on this, but that's OK - I'll add it for him.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'm finding this to be a very useful model on my current team.  The document centers around how to choose who should pair on a given problem, based on their interest and experience with the technologies and business domain.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Shared on my google docs site: &lt;a href="https://docs.google.com/leaf?id=1UceBMcwGD8QDsLV5zEsUqhI-Baon9FSdQ1GhEHvM5OPnNwGNfkqff48ktHlX&amp;amp;hl=en"&gt;https://docs.google.com/leaf?id=1UceBMcwGD8QDsLV5zEsUqhI-Baon9FSdQ1GhEHvM5OPnNwGNfkqff48ktHlX&amp;amp;hl=en&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8906001972039046802-4312845759245826485?l=independentindetroit.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/DciRC/~4/1IHW1bJrm-4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://independentindetroit.blogspot.com/feeds/4312845759245826485/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8906001972039046802&amp;postID=4312845759245826485" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/4312845759245826485?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/4312845759245826485?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/DciRC/~3/1IHW1bJrm-4/pair-programming-binkiewicz-pairing.html" title="Pair Programming: The Binkiewicz Pairing Model" /><author><name>Erik Przekop</name><uri>https://profiles.google.com/117037101454132337471</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-PfQFQgG4TtY/AAAAAAAAAAI/AAAAAAAADxk/hzoUtCVkV-s/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://independentindetroit.blogspot.com/2011/04/pair-programming-binkiewicz-pairing.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMGQXY5eSp7ImA9Wx9XFkw.&quot;"><id>tag:blogger.com,1999:blog-8906001972039046802.post-7430890428343774441</id><published>2011-01-09T19:07:00.003-05:00</published><updated>2011-01-09T19:13:40.821-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-09T19:13:40.821-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="software craftsmanship" /><category scheme="http://www.blogger.com/atom/ns#" term="learning organization" /><category scheme="http://www.blogger.com/atom/ns#" term="code randori" /><title>The Learning Organization: Improving on the code randori</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/48nauyEpxelBsRxC4Dxjmdah2PM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/48nauyEpxelBsRxC4Dxjmdah2PM/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/48nauyEpxelBsRxC4Dxjmdah2PM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/48nauyEpxelBsRxC4Dxjmdah2PM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://farm1.static.flickr.com/68/228553888_d8ba156ade.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="150" src="http://farm1.static.flickr.com/68/228553888_d8ba156ade.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;For most of the past year, I have been pushing to make my workplace more of a learning organisation.&amp;nbsp; I'm doing this for purely selfish reasons - I simply enjoy working in a place filled with smart, motivated people. &amp;nbsp;&amp;nbsp; A focus on learning and continuous improvement tends to attract people who enjoy that, and chase out people who don't.&amp;nbsp; (Senior management expresses it differently, but I think my reasons are more honest.)&lt;br /&gt;
&lt;br /&gt;
A big part of this effort has been to run a regular "&lt;a href="http://independentindetroit.blogspot.com/2010/11/software-craftsmanship-day-at-my.html"&gt;craft day&lt;/a&gt;".&amp;nbsp; "Craft days" are&amp;nbsp; in-house software conferences with a heavy emphasis on hands-on practice of programming skills.&amp;nbsp; (This has been disappointing for people who wanted to make beaded purses and wallets, or whittle figurines from a block of wood.&amp;nbsp; You just can't please everyone.)&lt;br /&gt;
&lt;br /&gt;
It really is awesome that I can do this during working hours, unlike &lt;a href="http://chadfowler.com/2009/5/2/what-would-you-rather-be-doing"&gt;what Chad Fowler describes&lt;/a&gt; and which most of us have had to do - learn almost all of our new skills outside of work hours.&lt;br /&gt;
&lt;br /&gt;
But...&lt;br /&gt;
&lt;br /&gt;
The down-side to craft-days is that we can only do them every other month.&lt;br /&gt;
While it's great that we can do this sort of thing at all, it's only going to give us a limited return.&amp;nbsp; We need to do hands-on practice &lt;i&gt;regularly&lt;/i&gt; to really take the lessons to heart.&amp;nbsp; It also servers to stoke the fires of geekiness in our pocket-protector-covered hearts, motivating us to stay on top of the technology curve.&lt;br /&gt;
&lt;br /&gt;
It becomes much easier to engage people and figure out what they really need if you spend more time with them.&amp;nbsp; Bob Martin has a pretty good (and pretty honest) explanation of why occasional exposure to learning doesn't really help much &lt;a href="http://blog.objectmentor.com/articles/2007/05/24/the-myth-of-learning-compression"&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Accordingly, I volunteered to to a twice-weekly Code Randori sessions.&amp;nbsp; &lt;a href="https://sites.google.com/site/galesoftwarelearninggroup/randori-sessions/week1top-downtdd"&gt;The first session&lt;/a&gt; wasn't very valuable, so with the help of the group (there were 25 or so people in attendance), we're going to try the following tweaks for the next one:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;A simpler problem (but still a real one that we encounter at work), with &lt;i&gt;no&lt;/i&gt; code written for it.&amp;nbsp; (TDD the whole thing.)&lt;/li&gt;
&lt;li&gt;The problem visible to all even while code is being written. (Whiteboard)&lt;/li&gt;
&lt;li&gt;The skills we're focusing on visible to all.&amp;nbsp; (Whiteboard)&lt;/li&gt;
&lt;/ul&gt;For anyone who is interested, I'll put the retro conclusions in &lt;a href="https://sites.google.com/site/galesoftwarelearninggroup/randori-sessions/foundationstake2datetranslator"&gt;the session notes&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #444444; font-size: xx-small;"&gt;Photo by &lt;a href="http://www.flickr.com/photos/zimpenfish/"&gt;some guy named zimpenfish&lt;/a&gt; on Flickr &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8906001972039046802-7430890428343774441?l=independentindetroit.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/DciRC/~4/BA4G-T0p0Rs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://independentindetroit.blogspot.com/feeds/7430890428343774441/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8906001972039046802&amp;postID=7430890428343774441" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/7430890428343774441?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/7430890428343774441?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/DciRC/~3/BA4G-T0p0Rs/learning-organization-improving-on-code.html" title="The Learning Organization: Improving on the code randori" /><author><name>Erik Przekop</name><uri>http://www.blogger.com/profile/08675346953034372641</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_gLZJcMXflOo/SbfSyhC2WFI/AAAAAAAAAFw/rb4U5xwzbV8/S220/erik_head_shot_bw.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://farm1.static.flickr.com/68/228553888_d8ba156ade_t.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://independentindetroit.blogspot.com/2011/01/learning-organization-improving-on-code.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkAER308fCp7ImA9Wx9XFkw.&quot;"><id>tag:blogger.com,1999:blog-8906001972039046802.post-2170951529433033329</id><published>2011-01-09T18:11:00.000-05:00</published><updated>2011-01-09T18:11:46.374-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-09T18:11:46.374-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="agile" /><category scheme="http://www.blogger.com/atom/ns#" term="software craftsmanship" /><title>Why are we having a "Post-Agile" debate?</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/X6lblcDzwaUpm2ZDEcpIbzBukkU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/X6lblcDzwaUpm2ZDEcpIbzBukkU/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/X6lblcDzwaUpm2ZDEcpIbzBukkU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/X6lblcDzwaUpm2ZDEcpIbzBukkU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://farm3.static.flickr.com/2710/4226467205_be3f909e52.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://farm3.static.flickr.com/2710/4226467205_be3f909e52.jpg" width="133" /&gt;&lt;/a&gt;&lt;/div&gt;I just read a &lt;a href="http://groups.google.com/group/software_craftsmanship/msg/9ff9973ed0cc8cca?hl=en"&gt;post by Kurt Häusler&lt;/a&gt; to the &lt;a href="http://groups.google.com/group/software_craftsmanship?hl=en"&gt;Software Craftsmanship Google group&lt;/a&gt; this evening.&lt;br /&gt;
&lt;br /&gt;
The background for this is a long-term debate about what exactly "Software Craftsmanship" means, and what it's major focus should be.&amp;nbsp; I think that Kurt did a great job spelling out two of the major points of view:&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: small; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: arial,sans-serif; font-size: 12px;"&gt;It seems a lot of people suffering from "agile-fatige" and looking for something post-agile are in two camps. One camp seems to be competent leaders working with poor developers. For them things like Scrum have bought some improvements in the organization and they despair that after all this "agility" the code is still crap. These people crave something like craftsmanship to light a fire amongst their developers. The other camp seems to be competent developers suffering under poor leadership. They see the XP practices and clean code as obvious to the point of being trivial, and wonder why people like Bob Martin are calling for more focus on code, when it is clear, to them, that future improvements lie in better management practices, better understanding of value streams and improved relations between customers, management and developers. These people are currently looking at things like lean and kanban, and finding a lot of valuable stuff there.&lt;span class="Apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: small; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: arial,sans-serif; font-size: 12px;"&gt;&lt;span class="Apple-converted-space"&gt;&lt;span style="font-size: small;"&gt;My own perspective is that we don't really &lt;i&gt;need&lt;/i&gt; a "post-agile" movement or focus.&amp;nbsp; Agile (with it's multiple meanings) is still not the norm in most organisations, large or small.&amp;nbsp; Getting organizations - particularly large organizations - to do more than pay lip service to agile methodologies should still be our main focus.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: small; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: arial,sans-serif; font-size: 12px;"&gt;&lt;span class="Apple-converted-space"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: small; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: arial,sans-serif; font-size: 12px;"&gt;&lt;span class="Apple-converted-space"&gt;&lt;span style="font-size: small;"&gt;I wonder if the drive to come up with a "post-agile" methodology or movement is really being pushed so a new crop of developers can have their names associated with it.&amp;nbsp; Is it more of an exercise in branding than engineering or craftsmanship?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: small; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: arial,sans-serif; font-size: 12px;"&gt;&lt;span class="Apple-converted-space"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: small; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: arial,sans-serif; font-size: 12px;"&gt;&lt;span class="Apple-converted-space"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: #444444; font-size: xx-small;"&gt;Photo by &lt;a href="http://www.flickr.com/photos/supersonicphotos/"&gt;Lovefusion Photography&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: small; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: arial,sans-serif; font-size: 12px;"&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8906001972039046802-2170951529433033329?l=independentindetroit.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/DciRC/~4/UQIztNatIR4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://independentindetroit.blogspot.com/feeds/2170951529433033329/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8906001972039046802&amp;postID=2170951529433033329" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/2170951529433033329?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/2170951529433033329?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/DciRC/~3/UQIztNatIR4/why-are-we-having-post-agile-debate.html" title="Why are we having a &quot;Post-Agile&quot; debate?" /><author><name>Erik Przekop</name><uri>http://www.blogger.com/profile/08675346953034372641</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_gLZJcMXflOo/SbfSyhC2WFI/AAAAAAAAAFw/rb4U5xwzbV8/S220/erik_head_shot_bw.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://farm3.static.flickr.com/2710/4226467205_be3f909e52_t.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://independentindetroit.blogspot.com/2011/01/why-are-we-having-post-agile-debate.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0EMSHc7fip7ImA9Wx9RE0k.&quot;"><id>tag:blogger.com,1999:blog-8906001972039046802.post-192252119292124088</id><published>2010-12-14T11:54:00.000-05:00</published><updated>2010-12-14T11:54:49.906-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-14T11:54:49.906-05:00</app:edited><title>Feedback on "craftsman" activities at work...</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/76PwTjIm26rqoUcKAHOJDBilMdo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/76PwTjIm26rqoUcKAHOJDBilMdo/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/76PwTjIm26rqoUcKAHOJDBilMdo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/76PwTjIm26rqoUcKAHOJDBilMdo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Tahoma; font-size: small; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;Got some good feedback from one of the people at the office on the idea of doing after-hours randori sessions, topics to choose and the last "Craft Day" we did.&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Tahoma; font-size: small; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;The JQuery session at craft day was his favorite. &amp;nbsp;Hands-on technical stuff for specific technologies is king. &amp;nbsp;More academic problems cause him to lose interest quickly.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Tahoma; font-size: small; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;40-and-out is very important to him. &amp;nbsp;Doesn't want to do any after-hours stuff because he works very hard while he's here, and is committed to his family.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Tahoma; font-size: small; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;He was unpleasantly surprised that so few people understood the fundamentals of agile development, specifically of TDD.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Tahoma; font-size: small; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;Real-world stories in a lunch &amp;amp; learn, not contrived. &amp;nbsp;He's thinking along lines of micro-patterns for mocking portlet behavior - problems with specific technologies that we use every day.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Tahoma;"&gt;All of these came from one person, but were worth writing down because they're a distillation of what I have heard from other people around the office. &amp;nbsp;Great food for thought.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8906001972039046802-192252119292124088?l=independentindetroit.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/DciRC/~4/1FEFnmlvxOY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://independentindetroit.blogspot.com/feeds/192252119292124088/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8906001972039046802&amp;postID=192252119292124088" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/192252119292124088?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/192252119292124088?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/DciRC/~3/1FEFnmlvxOY/feedback-on-craftsman-activities-at.html" title="Feedback on &quot;craftsman&quot; activities at work..." /><author><name>Erik Przekop</name><uri>http://www.blogger.com/profile/08675346953034372641</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_gLZJcMXflOo/SbfSyhC2WFI/AAAAAAAAAFw/rb4U5xwzbV8/S220/erik_head_shot_bw.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://independentindetroit.blogspot.com/2010/12/feedback-on-craftsman-activities-at.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUIMSHw4cSp7ImA9Wx9TEEQ.&quot;"><id>tag:blogger.com,1999:blog-8906001972039046802.post-1597518401146300028</id><published>2010-11-18T10:19:00.000-05:00</published><updated>2010-11-18T10:19:49.239-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-18T10:19:49.239-05:00</app:edited><title>The results are in: In-house software craftsmanship day</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ljg_bOzNOX94uN-RFTiOYajqAyE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ljg_bOzNOX94uN-RFTiOYajqAyE/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/ljg_bOzNOX94uN-RFTiOYajqAyE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ljg_bOzNOX94uN-RFTiOYajqAyE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div style="margin-left: 1em; margin-right: 1em;"&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;img alt="" height="218" src="http://lh3.ggpht.com/_gLZJcMXflOo/TOU8nFH5ALI/AAAAAAAAAI8/o1QM1oEsC70/craftday_nov_1.jpg" style="float: right;" width="276" /&gt;&lt;br /&gt;
On Friday Nov 12, we hosted an in-house "software craftsmanship day".&amp;nbsp; The format was similar to many of the software conferences I have attended, with multiple tracks, some more technical than others.&lt;br /&gt;
The schedule and session notes are in &lt;a href="http://independentindetroit.blogspot.com/2010/11/software-craftsmanship-day-at-my.html"&gt;my previous blog post&lt;/a&gt;.&lt;br /&gt;
The raw retrospective notes are on &lt;a href="http://sites.google.com/site/galesoftwarelearninggroup/project-updates/retrospectivesfrom11122010craftsmanshipday"&gt;the learning group's google site&lt;/a&gt;.&lt;br /&gt;
The event was an unqualified success, based on feedback from the participants.&amp;nbsp; Some of the most valuable things we found:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Relationships: getting everyone talking to (and pairing with) people on other sub-teams is an end worth pursuing by itself.&lt;/li&gt;
&lt;li&gt;Sharing knowledge: having different people pair on hands-on exercies spread out some of the micro-patterns that people follow in their day-to-day work.&lt;/li&gt;
&lt;/ul&gt;The feedback was entirely positive and constructive.&amp;nbsp; In my experience, people here are not at all shy about sharing criticism, so I took that at face value.&lt;br /&gt;
I believe the two main keys to success were...&lt;br /&gt;
&lt;ul&gt;&lt;a href="http://2.bp.blogspot.com/_gLZJcMXflOo/TOU8nVNXucI/AAAAAAAAAJA/dMoux5HS1YY/s1600/craft_day_nov_2.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/_gLZJcMXflOo/TOU8nVNXucI/AAAAAAAAAJA/dMoux5HS1YY/s200/craft_day_nov_2.jpg" width="173" /&gt;&lt;/a&gt;
&lt;li&gt;Preparation: most of the people who hosted sessions did a dry run with a handful of people first, and adjusted their presentation and delivery.&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Food!&amp;nbsp; Having grub for everyone (donuts in the morning and a big lunch mid-day) kept us all together and underlined the importance of the event for all participants.&lt;/li&gt;
&lt;/ul&gt;I'll chat more about the event in the google &lt;a href="http://groups.google.com/group/software_craftsmanship"&gt;software craftsmanship&lt;/a&gt; group.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8906001972039046802-1597518401146300028?l=independentindetroit.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/DciRC/~4/iFKH6bRLeuI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://independentindetroit.blogspot.com/feeds/1597518401146300028/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8906001972039046802&amp;postID=1597518401146300028" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/1597518401146300028?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/1597518401146300028?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/DciRC/~3/iFKH6bRLeuI/results-are-in-in-house-software.html" title="The results are in: In-house software craftsmanship day" /><author><name>Erik Przekop</name><uri>http://www.blogger.com/profile/08675346953034372641</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_gLZJcMXflOo/SbfSyhC2WFI/AAAAAAAAAFw/rb4U5xwzbV8/S220/erik_head_shot_bw.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_gLZJcMXflOo/TOU8nFH5ALI/AAAAAAAAAI8/o1QM1oEsC70/s72-c/craftday_nov_1.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://independentindetroit.blogspot.com/2010/11/results-are-in-in-house-software.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEICQ3o8eCp7ImA9Wx5aE04.&quot;"><id>tag:blogger.com,1999:blog-8906001972039046802.post-5140832556251450166</id><published>2010-11-09T14:56:00.000-05:00</published><updated>2010-11-09T14:56:02.470-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-09T14:56:02.470-05:00</app:edited><title>Software Craftsmanship Day at my workplace</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Q5FiKMFDraFzV7EMTkgVKFRenNc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Q5FiKMFDraFzV7EMTkgVKFRenNc/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/Q5FiKMFDraFzV7EMTkgVKFRenNc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Q5FiKMFDraFzV7EMTkgVKFRenNc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Well, we finally pulled together a schedule and planned out all of our sessions for a &lt;a href="http://manifesto.softwarecraftsmanship.org/"&gt;Software Craftsmanship&lt;/a&gt; day at my workplace.&amp;nbsp; &lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;The coolest part?&amp;nbsp; I didn't have to beg anyone to make it happen.&amp;nbsp; One of the VP's suggested that we could devote a day per month to honing our development skills.&amp;nbsp; How many organizations do that?&amp;nbsp; Very few, I think.&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Since I was already leading a craftsmanship group, my boss asked me to lead the effort to put this together.&amp;nbsp; I just asked for volunteers, called a weekly meeting to work out what we wanted to do, and we did it!&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;I'll be sure to report what I learned once the first one is over.&amp;nbsp; I expect this to be a very useful and interesting day, but I won't know for sure until after Friday, Nov 12.&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;The best way to describe what we're doing is to paste the invitation I just sent to all of the agile teams here (about 120 people are invited, I expect around 100 to attend).&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;!-- converted from rtf --&gt;&lt;span style="font-size: small;"&gt;&lt;a href="" name="BM_BEGIN"&gt;&lt;/a&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: small;"&gt;Craftsmanship Day (a.k.a. "Craft  Day") takes place all day this Friday.&amp;nbsp; Our management has chosen to give us a  full day to practice and define our "craft" when it comes to developing and  delivering products.&amp;nbsp;&amp;nbsp; Your fellow agilists decided to run with this idea, and  we put together a day of conference-style sessions, all of which offer hands-on  activities.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: small;"&gt;The term "craft day" comes from the "software craftsmanship"  movement.&amp;nbsp; Try googling "software craftsmanship" for more information on the  background for this effort.&amp;nbsp; The movement is software-centric, but encompasses  much more than just programming practices.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: small;"&gt;We will have a retrospective at the end of the day, but we  will also be gathering feedback in the &lt;a href="http://www.blogger.com/redir.aspx?C=0fafc278aa9848e78ce37a93263b6288&amp;amp;URL=http%3a%2f%2fgroups.google.com%2fgroup%2fgale-agile-learning-group" target="_blank"&gt;&lt;span style="color: blue;"&gt;&lt;u&gt;Gale Agile Learning Group&lt;/u&gt;&lt;/span&gt;&lt;/a&gt; (a  google discussion group).&amp;nbsp; You can post questions, ideas or feedback there any  time!&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: small;"&gt;The following schedule details the  sessions you can choose from.&amp;nbsp; A description of each of the sessions is below  the schedule. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt; &lt;table&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td align="center" bgcolor="#ffcc99" height="42" style="border: 1px solid rgb(0, 0, 0);" width="113"&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;When&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td align="center" bgcolor="#ffcc99" style="border: 1px solid rgb(0, 0, 0);" width="138"&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;Space 1&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td align="center" bgcolor="#ffcc99" style="border: 1px solid rgb(0, 0, 0);" width="145"&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;Space 2&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td align="center" bgcolor="#ffcc99" style="border: 1px solid rgb(0, 0, 0);" width="209"&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;Space 3&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="center" bgcolor="#ffcc99" height="46" style="border: 1px solid rgb(0, 0, 0);" valign="middle"&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;9:00 - 9:30&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td align="center" colspan="3" style="border: 1px solid rgb(0, 0, 0);" valign="middle"&gt;&lt;span style="font-size: small;"&gt;Introduction&lt;br /&gt;
Team 3 &amp;amp; 4 Areas&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="center" bgcolor="#ffcc99" height="148" style="border: 1px solid rgb(0, 0, 0);" valign="middle"&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;9:00 – 12:20 (3h20m)&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td align="center" colspan="2" style="border: 1px solid rgb(0, 0, 0);" valign="middle"&gt;&lt;span style="font-size: small;"&gt;Clean Code Retreat– Erik Przekop, Karen Wasielewski, Tim Taylor, Jerry Hoerig&lt;br /&gt;
&lt;br /&gt;
Team 3 &amp;amp; 4 Areas&lt;/span&gt;&lt;/td&gt;&lt;td align="center" style="border: 1px solid rgb(0, 0, 0);" valign="middle"&gt;&lt;span style="font-size: small;"&gt;Story Writing &amp;amp; Splitting – Bernard Grunow, Aimme Keener, Mike Gantz&lt;br /&gt;
&lt;br /&gt;
Team 5 &amp;amp; Agile Concept Space&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="center" bgcolor="#ffcc99" height="48" style="border: 1px solid rgb(0, 0, 0);" valign="middle"&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;12:20 – 1:00 (40m)&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td align="center" bgcolor="#e6e6e6" colspan="3" style="border: 1px solid rgb(0, 0, 0);" valign="middle"&gt;&lt;span style="font-size: small;"&gt;Lunch&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="center" bgcolor="#ffcc99" height="187" style="border: 1px solid rgb(0, 0, 0);" valign="middle"&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;1:00 – 2:50 (1h50m)&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td align="center" style="border: 1px solid rgb(0, 0, 0);" valign="middle"&gt;&lt;span style="font-size: small;"&gt;Refactoring Randori – Erik Przekop, Jerry Hoerig, Sajid Mohammed, Pete Murasky, Mike Seiler&lt;br /&gt;
&lt;br /&gt;
Team 3 &amp;amp; 4 Areas&lt;/span&gt;&lt;/td&gt;&lt;td align="center" style="border: 1px solid rgb(0, 0, 0);" valign="middle"&gt;&lt;span style="font-size: small;"&gt;Fun with Jquery – Jason Dinkelmann&lt;br /&gt;
&lt;br /&gt;
Team 2 area&lt;/span&gt;&lt;/td&gt;&lt;td align="center" style="border: 1px solid rgb(0, 0, 0);" valign="middle"&gt;&lt;span style="font-size: small;"&gt;Defining / getting to done – Bernard Grunow&lt;br /&gt;
&lt;br /&gt;
Team 5 &amp;amp; Agile Concept Space&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="center" bgcolor="#ffcc99" height="21" style="border: 1px solid rgb(0, 0, 0);" valign="middle"&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;2:50 – 3:00&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td align="center" bgcolor="#e6e6e6" colspan="3" style="border: 1px solid rgb(0, 0, 0);" valign="middle"&gt;&lt;span style="font-size: small;"&gt;Break&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="center" bgcolor="#ffcc99" height="119" style="border: 1px solid rgb(0, 0, 0);" valign="middle"&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;3:00 – 4:15 (1h15m)&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td align="center" colspan="2" style="border: 1px solid rgb(0, 0, 0);" valign="middle"&gt;&lt;span style="font-size: small;"&gt;Legacy Rescue – Aaron Chesny, John Nader&lt;br /&gt;
&lt;br /&gt;
Team 3 &amp;amp; 4 Areas&lt;/span&gt;&lt;/td&gt;&lt;td align="center" style="border: 1px solid rgb(0, 0, 0);" valign="middle"&gt;&lt;span style="font-size: small;"&gt;Story Estimation – Aimme Keener&lt;br /&gt;
&lt;br /&gt;
Team 5 &amp;amp; Agile Concept Space&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="center" bgcolor="#ffcc99" height="62" style="border: 1px solid rgb(0, 0, 0);" valign="middle"&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;4:15 - end&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td align="center" colspan="3" style="border: 1px solid rgb(0, 0, 0);" valign="middle"&gt;&lt;span style="font-size: small;"&gt;Retrospective&lt;br /&gt;
&lt;br /&gt;
Team 3 &amp;amp; 4 Areas&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;" /&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: small;"&gt;The &lt;u&gt;Code Retreat&lt;/u&gt; session will focus on clean code  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif; margin-bottom: 0pt; margin-left: 30pt; margin-top: 0pt;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: small;"&gt;
&lt;li style="margin-top: 14pt;"&gt;a series of 20-minute coding sessions  &lt;/li&gt;
&lt;li&gt;a retrospective and suggestions for coding practices to try  &lt;/li&gt;
&lt;li style="margin-bottom: 14pt;"&gt;rinse and repeat&lt;/li&gt;
&lt;/span&gt; &lt;/span&gt;&lt;/ul&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: small;"&gt;The &lt;u&gt;Story Writing &amp;amp;  Splitting&lt;/u&gt; section will focus on writing epics and splitting them into  stories&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif; margin-bottom: 0pt; margin-left: 30pt; margin-top: 0pt;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: small;"&gt;
&lt;li style="margin-top: 14pt;"&gt;review stories for some of our current  products  &lt;/li&gt;
&lt;li&gt;hands-on converting epics to stories - how we should split them  &lt;/li&gt;
&lt;li&gt;key realizations about best practices  &lt;/li&gt;
&lt;li style="margin-bottom: 14pt;"&gt;examples of good &amp;amp; bad stories&lt;/li&gt;
&lt;/span&gt;  &lt;/span&gt;&lt;/ul&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: small;"&gt;&lt;u&gt;Refactoring Randori&lt;/u&gt; will use  a Code Dojo format, and work through several refactoring problems&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif; margin-bottom: 0pt; margin-left: 30pt; margin-top: 0pt;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: small;"&gt;
&lt;li style="margin-top: 14pt;"&gt;split into groups of 20 or less  &lt;/li&gt;
&lt;li&gt;a pair codes on a machine with a projector  &lt;/li&gt;
&lt;li&gt;everyone else shouts out suggestions  &lt;/li&gt;
&lt;li style="margin-bottom: 14pt;"&gt;the pair changes every 5-10 minutes&lt;/li&gt;
&lt;/span&gt;  &lt;/span&gt;&lt;/ul&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: small;"&gt;The &lt;u&gt;Fun With JQuery&lt;/u&gt; session  will focus on programming with JQuery&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif; margin-bottom: 0pt; margin-left: 30pt; margin-top: 0pt;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: small;"&gt;
&lt;li style="margin-top: 14pt;"&gt;Jason will give an overview of the what, why &amp;amp;  how of JQuery  &lt;/li&gt;
&lt;li style="margin-bottom: 14pt;"&gt;Hands-on programming exercises&lt;/li&gt;
&lt;/span&gt; &lt;/span&gt;&lt;/ul&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: small;"&gt;&lt;u&gt;Defining / Getting To Done&lt;/u&gt;:  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif; margin-bottom: 0pt; margin-left: 30pt; margin-top: 0pt;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: small;"&gt;
&lt;li style="margin-top: 14pt;"&gt;A retrospective approach to determining what "done"  means  &lt;/li&gt;
&lt;li style="margin-bottom: 14pt;"&gt;Various definitions of "done" for a story to  move to the next stage&lt;/li&gt;
&lt;/span&gt; &lt;/span&gt;&lt;/ul&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: small;"&gt;&lt;u&gt;Legacy Rescue&lt;/u&gt;: &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif; margin-bottom: 0pt; margin-left: 30pt; margin-top: 0pt;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: small;"&gt;
&lt;li style="margin-top: 14pt;"&gt;"Travel light", "do no harm" and "avoiding rabbit  holes" - how we assess legacy code   &lt;/li&gt;
&lt;li&gt;Hands-on programming exercises   &lt;/li&gt;
&lt;li&gt;Review of the exercise  &lt;/li&gt;
&lt;li style="margin-bottom: 14pt;"&gt;Tips &amp;amp; pointers&lt;/li&gt;
&lt;/span&gt; &lt;/span&gt;&lt;/ul&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: small;"&gt;&lt;u&gt;Story Estimation&lt;/u&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif; margin-bottom: 0pt; margin-left: 30pt; margin-top: 0pt;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: small;"&gt;
&lt;li style="margin-top: 14pt;"&gt;Why it matters  &lt;/li&gt;
&lt;li style="margin-bottom: 14pt;"&gt;Exercises involving:&lt;/li&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/ul&gt;&lt;ul style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif; margin-bottom: 0pt; margin-left: 60pt; margin-top: 0pt;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: small;"&gt;
&lt;li&gt;prior projects  &lt;/li&gt;
&lt;li&gt;decomposition  &lt;/li&gt;
&lt;li&gt;team estimation  &lt;/li&gt;
&lt;li&gt;relative estimates  &lt;/li&gt;
&lt;li&gt;overall measurements&lt;/li&gt;
&lt;/span&gt; &lt;/span&gt;&lt;/ul&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8906001972039046802-5140832556251450166?l=independentindetroit.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/DciRC/~4/iZ5PIHQL5N4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://independentindetroit.blogspot.com/feeds/5140832556251450166/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8906001972039046802&amp;postID=5140832556251450166" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/5140832556251450166?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/5140832556251450166?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/DciRC/~3/iZ5PIHQL5N4/software-craftsmanship-day-at-my.html" title="Software Craftsmanship Day at my workplace" /><author><name>Erik Przekop</name><uri>http://www.blogger.com/profile/08675346953034372641</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_gLZJcMXflOo/SbfSyhC2WFI/AAAAAAAAAFw/rb4U5xwzbV8/S220/erik_head_shot_bw.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://independentindetroit.blogspot.com/2010/11/software-craftsmanship-day-at-my.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkcHR3o6eSp7ImA9Wx5aEEo.&quot;"><id>tag:blogger.com,1999:blog-8906001972039046802.post-5354267585379260124</id><published>2010-11-06T16:07:00.000-04:00</published><updated>2010-11-06T16:07:16.411-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-06T16:07:16.411-04:00</app:edited><title>At SCNA: Part 4</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/OcGVniHlh_Q-4VuxNGITIxcgOwY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OcGVniHlh_Q-4VuxNGITIxcgOwY/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/OcGVniHlh_Q-4VuxNGITIxcgOwY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OcGVniHlh_Q-4VuxNGITIxcgOwY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;This is the last post in a multi-part series about the Software Craftsmanship North America conference in Chicago.&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt; &lt;/div&gt;&lt;div class="separator" style="clear: both; font-family: Verdana,sans-serif; text-align: center;"&gt;&lt;a href="http://farm5.static.flickr.com/4088/5109661749_31f37f8855.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="213" src="http://farm5.static.flickr.com/4088/5109661749_31f37f8855.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt; &lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: large;"&gt;&lt;u&gt;Combinator-based design in functional programming: Michael Feathers&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;I'll be honest - I didn't really pick up a central theme on this one.&amp;nbsp; It was interesting and I took some ideas from it, but I can't really summarize it well..&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;My take-aways:&lt;/div&gt;&lt;ul&gt;&lt;li style="font-family: Verdana,sans-serif;"&gt;We have a settled idea of OO, but not yet one of functional programming - the "best practices" are still evolving.&lt;/li&gt;
&lt;li style="font-family: Verdana,sans-serif;"&gt;Haskell is a good functional language to learn with - it forces you to be functional.&lt;/li&gt;
&lt;li style="font-family: Verdana,sans-serif;"&gt;Duplicating objects at runtime is no longer evil.&amp;nbsp; Duplicating code still is.&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;OO increases encapsulation and understandability.&amp;nbsp; Functional increases immutability and reduces the number of moving parts.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;u&gt;&lt;span style="font-size: large;"&gt;Panel Discussion: Bob Martin, Michael Feathers, Chad Fowler and Enrique Comba Riepenhausen&lt;/span&gt;&lt;/u&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;This was my favorite session of the conference.&amp;nbsp; Instead of my interpretation of what the presenter was trying to say, here are my favorite quotes from the session, grouped by theme.&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;
&lt;u&gt;On the image we project as developers&lt;/u&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;"We are not a bunch of twinkie-eating guys who don't are about their customers.&amp;nbsp; We are professionals.&amp;nbsp; That perception is what has to change."&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&amp;nbsp;- Bob Martin&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;"Programming shouldn't be a 'lifestyle choice', particularly when you reinforce negative 'nerd' stereotypes."&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&amp;nbsp;- Chad Fowler&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;u&gt;On the "craftsmanship" movement&lt;/u&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;"We don't have to evangelize.&amp;nbsp; What we're doing is enough.&amp;nbsp; It does not have to include all developers."&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&amp;nbsp;- Chad Fowler&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;"...but we should welcome everyone who wants to come."&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&amp;nbsp;- Enrique Comba Riepenhausen&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;u&gt;On practicing software development&lt;/u&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;"Coding is relaxing.&amp;nbsp; When I wake up in the middle of the night and sit down to code, it's refreshing."&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&amp;nbsp;- Michael Feathers&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;"...I try to practice four hours per day.&amp;nbsp; Doing that is refreshing."&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&amp;nbsp;- Enrique Comba Riepenhausen&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;"I don't do anything I &lt;i&gt;have to&lt;/i&gt; do after 5:00 PM.&amp;nbsp; Only things I want to do."&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&amp;nbsp;- Bob Martin&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;u&gt;&lt;span style="font-size: large;"&gt;Wrap-up: Corey Haines&lt;/span&gt;&lt;/u&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;In a lot of ways, this conference is Corey's baby.&amp;nbsp; He is (as far as I know) the driving force behind the "craftsmanship movement".&amp;nbsp;&amp;nbsp; (Credit where credit is due: Uncle Bob Martin's cohorts were the organizers of the event, and they did a great job.)&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Corey's talk&amp;nbsp; can be summed up by his own words: "What will allow us to take over the world?"&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;My take-aways:&lt;/div&gt;&lt;ul style="font-family: Verdana,sans-serif;"&gt;&lt;li&gt;Happiness is what sets craftsman apart from non-craftsman.&amp;nbsp; if you're not happy, figure out why not &amp;amp; change that.&lt;/li&gt;
&lt;li&gt;"Division and negativity are what will keeps us from total world domination."&lt;/li&gt;
&lt;li&gt;Stay positive about yourself, your work and your craft.&amp;nbsp; Above all, stop bitching about other developers and our customers.&amp;nbsp; More civility is needed, and we can all contribute to that!&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana,sans-serif;"&gt;&amp;nbsp;Great stuff.&amp;nbsp; I can't wait for next year.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8906001972039046802-5354267585379260124?l=independentindetroit.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/DciRC/~4/LfqM6JQesb0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://independentindetroit.blogspot.com/feeds/5354267585379260124/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8906001972039046802&amp;postID=5354267585379260124" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/5354267585379260124?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/5354267585379260124?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/DciRC/~3/LfqM6JQesb0/at-scna-part-4.html" title="At SCNA: Part 4" /><author><name>Erik Przekop</name><uri>http://www.blogger.com/profile/08675346953034372641</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_gLZJcMXflOo/SbfSyhC2WFI/AAAAAAAAAFw/rb4U5xwzbV8/S220/erik_head_shot_bw.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://farm5.static.flickr.com/4088/5109661749_31f37f8855_t.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://independentindetroit.blogspot.com/2010/11/at-scna-part-4.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEcBR30ycCp7ImA9Wx5aEEo.&quot;"><id>tag:blogger.com,1999:blog-8906001972039046802.post-47523802240579974</id><published>2010-11-06T15:34:00.000-04:00</published><updated>2010-11-06T15:34:16.398-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-06T15:34:16.398-04:00</app:edited><title>At SCNA: Part 3</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-khK_15IJP0--iGGgOHOieR8z8k/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-khK_15IJP0--iGGgOHOieR8z8k/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/-khK_15IJP0--iGGgOHOieR8z8k/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-khK_15IJP0--iGGgOHOieR8z8k/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt; &lt;/div&gt;&lt;div class="separator" style="clear: both; font-family: Verdana,sans-serif; text-align: center;"&gt;&lt;a href="http://farm2.static.flickr.com/1145/5114837387_12b9cdc577.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="133" src="http://farm2.static.flickr.com/1145/5114837387_12b9cdc577.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="border-collapse: separate; color: black; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;This is the  third post in &lt;a href="http://independentindetroit.blogspot.com/2010/11/software-craftsmanship-north-america.html"&gt;a multi-part series&lt;/a&gt;. &amp;nbsp;The conference covered two days,  with many presentations, lightning talks, and conversations about  software craftsmanship.&lt;/span&gt;&lt;br /&gt;
&lt;div style="color: black;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;u&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Chad Fowler: McDonalds, Six Sigma and Saxaphone&lt;/span&gt;&lt;/u&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="border-collapse: separate; color: black; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="border-collapse: separate; color: black; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;Fowler, like many other people at SCNA is a "&lt;/span&gt;musician/developer" - he chose software development as a career after trying to make his way as a musician.&amp;nbsp; Exactly how much that influences his craft is hard to say, but it seems to happen often enough to take note of it.&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;
He described what we do as in the middle of a continuum with "Art" on one end and "Commodity" on the other.&amp;nbsp; A parallel is that art is about form, while commodity is about function.&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;My take-aways:&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;ul&gt;&lt;li&gt;Treating your work as "art" means that you can talk about it subjectively, which is a cop-out.&lt;/li&gt;
&lt;li&gt;Internal quality is irrelevant. &amp;nbsp;Customers don't care about "form", only "function".&lt;/li&gt;
&lt;li&gt;We can't make software better than McDonald's &lt;i&gt;sells&lt;/i&gt; burgers.&amp;nbsp; Having a system for what you do matters.&amp;nbsp; He cited &lt;a href="http://www.google.com/url?sa=t&amp;amp;source=web&amp;amp;cd=1&amp;amp;ved=0CBcQFjAA&amp;amp;url=http%3A%2F%2Fwww.projectsmart.co.uk%2Fdocs%2Fchaos-report.pdf&amp;amp;ei=vKnVTMaoOsWclgfCj52DCQ&amp;amp;usg=AFQjCNGL1M7Uz7PqTlFdgXK-FjHpiaCEmg&amp;amp;sig2=RtmaPLb-GNA0fb3G1yTimA"&gt;the Standish Chaos report &lt;/a&gt;to support this idea.&lt;/li&gt;
&lt;li&gt;Having a training program with objectives for each phase helps for marathons.&amp;nbsp; A training program is essential for each of our careers.&lt;/li&gt;
&lt;li&gt;The Six Sigma Design-&amp;gt;Do-&amp;gt;Measure-&amp;gt;Refine-&amp;gt;repeat cycle likewise applies to our on careers.&lt;/li&gt;
&lt;/ul&gt;After Chad's talk, I told him I bought his book twice, not realizing "The Passionate Programmer" was the same as "My Job Went To India".&amp;nbsp; His answer was that they tried to make it very clear that it was essentially the same book in all of the descriptions of it.&amp;nbsp; It may have been the nicest way anyone has ever called me an idiot.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Keavy McMinn: Fine art and software development&lt;/span&gt;&lt;/u&gt; &lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;/div&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;McMinn talked about her transition from fine art to programming.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana,sans-serif;"&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana,sans-serif;"&gt;My take-aways: &lt;/span&gt;&lt;br /&gt;
&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;ul&gt;&lt;li&gt;Keep in mind both the internal (what are my motivations?) and external (what are the fears and motivations of my customers?) questions in any project.&lt;/li&gt;
&lt;li&gt;Keep a sense of play in your work. &amp;nbsp;Do some things for yourself.&lt;/li&gt;
&lt;li&gt;"As programmers, change is relatively cheap. &amp;nbsp;We have no excuse." (not to change our work product for the better)&lt;/li&gt;
&lt;li&gt;Group critiques in art can be brutal, but they really move things forward&lt;/li&gt;
&lt;li style="display: inline; list-style: none outside none;"&gt;&lt;ul&gt;&lt;li&gt;We have processes we can use to do this&lt;/li&gt;
&lt;li&gt;We're too complimentary to each other - be polite, but dig into what the problems are!&lt;/li&gt;
&lt;li&gt;Having a culture of blame will kill this - eliminate it.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Learn from larger problems, then solve smaller ones. &amp;nbsp;(Backwards from the usual take on this.)&lt;/li&gt;
&lt;li&gt;"The future belongs to the few of us still willing to get our hands dirty." (Piece of art that revealed this message when you rubbed it - done in graphite)&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;div&gt;&lt;u&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Lightning Talks&lt;/span&gt;&lt;/u&gt; &lt;/div&gt;The one that stood out the most was done by an oddball guy who claimed that he puts the fact he smokes pot on his resume.&amp;nbsp; (This wasn't part of the talk - I just overheard him loudly hitting on a pretty French software developer earlier in the day.)&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;My favorite quote from his talk:&amp;nbsp; "If I think it's about me, I'm a narcissistic douche."&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Another talk was on Genetic Programming.&amp;nbsp; The concept is:&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;ul&gt;&lt;li&gt;Use a program to write a program.&lt;/li&gt;
&lt;li&gt;Generations of grammar / evaluator determines which algorithm is the most fit.&lt;/li&gt;
&lt;li&gt;Needs good tests - it isn't "fit" until it meets the expectations.&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;div&gt;&lt;u&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Enrique Comba Riepenhausen: The Forsaken Value&lt;/span&gt;&lt;/u&gt;&lt;span style="border-collapse: separate; color: black; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;I spent quite a bit of the in-between session time (and at the bar the previous night) talking to Enrique.&amp;nbsp; He's a great storyteller, and a very good photographer.&amp;nbsp; I stole the photo of Corey for this blog entry from &lt;a href="http://www.flickr.com/photos/ecomba/"&gt;his Flickr site&lt;/a&gt;. &lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;My take-aways:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;"Why become as good as you can?" &amp;nbsp;To create productive partnerships.&lt;/li&gt;
&lt;li&gt;Try to find the right customer to create such partnerships.&amp;nbsp; You're better off saying "no" to potential customers that you know you can't serve well, whether because you aren't able to meet their needs, or simply because you can't do it within their budget.&lt;/li&gt;
&lt;li&gt;Some customers don't &lt;i&gt;need&lt;/i&gt; top value.&amp;nbsp; They need something quick &amp;amp; dirty that will tell them if they have a market (and help them find investment if they do).&amp;nbsp; You can still work with them later if you advice them during start-up.&lt;/li&gt;
&lt;li&gt;"We're not going to work for you. &amp;nbsp;We will work &lt;em&gt;with&lt;/em&gt;&amp;nbsp;you."&lt;/li&gt;
&lt;li style="display: inline; list-style: none outside none;"&gt;&lt;ul&gt;&lt;li&gt;We're the experts in producing software. &amp;nbsp;Don't just do anything the customer asks. &amp;nbsp;We do have the right to refuse if it is foolish and will derail the project. &amp;nbsp;Just be diplomatic about why and make sure that you understand all of the assumptions.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Beauty is how we build our software, but that's purely internal.&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8906001972039046802-47523802240579974?l=independentindetroit.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/DciRC/~4/fHFWCp63ARc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://independentindetroit.blogspot.com/feeds/47523802240579974/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8906001972039046802&amp;postID=47523802240579974" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/47523802240579974?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/47523802240579974?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/DciRC/~3/fHFWCp63ARc/at-scna-part-3.html" title="At SCNA: Part 3" /><author><name>Erik Przekop</name><uri>http://www.blogger.com/profile/08675346953034372641</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_gLZJcMXflOo/SbfSyhC2WFI/AAAAAAAAAFw/rb4U5xwzbV8/S220/erik_head_shot_bw.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://farm2.static.flickr.com/1145/5114837387_12b9cdc577_t.jpg" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://independentindetroit.blogspot.com/2010/11/at-scna-part-3.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUBQHc8eip7ImA9Wx5aEEo.&quot;"><id>tag:blogger.com,1999:blog-8906001972039046802.post-5313123584773176562</id><published>2010-10-25T21:00:00.004-04:00</published><updated>2010-11-06T16:10:51.972-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-06T16:10:51.972-04:00</app:edited><title>Software Craftsmanship North America</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/LO6HUR9PMvjmRkz4-d3_FC5nSyY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LO6HUR9PMvjmRkz4-d3_FC5nSyY/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/LO6HUR9PMvjmRkz4-d3_FC5nSyY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LO6HUR9PMvjmRkz4-d3_FC5nSyY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;span id="goog_995096753"&gt;&lt;/span&gt;&lt;span id="goog_995096754"&gt;&lt;/span&gt;Hands-down, the best conference I have been to so far.&amp;nbsp; It was a two day event that focused on "Software Craftsmanship" - the idea that writing software is somewhere between "art" and "science", and should pay attention to what both of those disciplines have to say.&lt;br /&gt;
&lt;br /&gt;
If you read nothing else, be sure to check out the quotes from the panel discussion in &lt;a href="http://independentindetroit.blogspot.com/2010/11/at-scna-part-4.html"&gt;part 2 of day 2&lt;/a&gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://farm2.static.flickr.com/1049/5109667223_187bf32197.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="213" src="http://farm2.static.flickr.com/1049/5109667223_187bf32197.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
I'm going to post this in several parts, so this post will serve as a guide to what I write about it.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://independentindetroit.blogspot.com/2010/10/at-software-craftsmanship-north-america.html"&gt;Day 1 - part 1: Kickoff, and a mixed bag&lt;/a&gt;&lt;br /&gt;
Bob Martin, Doug Bradbury and Michael Norton.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://independentindetroit.blogspot.com/2010/11/at-software-craftsmanship-north-america.html"&gt;Day 1 - part 2: Lunch and some great afternoon sessions&lt;/a&gt;&lt;br /&gt;
Lightning talks, Apprenticeship Panel, Randori with the Stars and Ken Auer&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://independentindetroit.blogspot.com/2010/11/at-scna-part-3.html"&gt;Day 2 - part 1: A slow start, then momentum&lt;/a&gt;&lt;br /&gt;
Chad Fowler, Keavy McMinn, Lightning talks and Enrique Comba Riepenhausen&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://independentindetroit.blogspot.com/2010/11/at-scna-part-4.html"&gt;Day 2 - part 2: The best part of the conference&lt;/a&gt;&lt;br /&gt;
Michael Feathers, Panel discussion and Corey Haines wrap-up.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;Thanks to &lt;span class="name" id="yui_3_1_0_1_1289072220641664"&gt;&lt;b class="username"&gt;&lt;/b&gt;       &lt;span class="realname"&gt;&lt;a href="http://www.flickr.com/people/ecomba/"&gt;Enrique Comba Riepenhausen&lt;/a&gt;&lt;/span&gt;     &lt;/span&gt; for the photo. &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8906001972039046802-5313123584773176562?l=independentindetroit.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/DciRC/~4/il79k4-svcA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://independentindetroit.blogspot.com/feeds/5313123584773176562/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8906001972039046802&amp;postID=5313123584773176562" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/5313123584773176562?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/5313123584773176562?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/DciRC/~3/il79k4-svcA/software-craftsmanship-north-america.html" title="Software Craftsmanship North America" /><author><name>Erik Przekop</name><uri>http://www.blogger.com/profile/08675346953034372641</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_gLZJcMXflOo/SbfSyhC2WFI/AAAAAAAAAFw/rb4U5xwzbV8/S220/erik_head_shot_bw.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://farm2.static.flickr.com/1049/5109667223_187bf32197_t.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://independentindetroit.blogspot.com/2010/11/software-craftsmanship-north-america.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkECSXk-fSp7ImA9Wx5aEEo.&quot;"><id>tag:blogger.com,1999:blog-8906001972039046802.post-6798457772382576168</id><published>2010-10-25T20:00:00.003-04:00</published><updated>2010-11-06T15:11:08.755-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-06T15:11:08.755-04:00</app:edited><title>At SCNA: Part 2</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/aquEBzwm0xE3eNwgW9MPKHlUiKw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/aquEBzwm0xE3eNwgW9MPKHlUiKw/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/aquEBzwm0xE3eNwgW9MPKHlUiKw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/aquEBzwm0xE3eNwgW9MPKHlUiKw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; font-family: Verdana,sans-serif; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_gLZJcMXflOo/TMdEuZQHj6I/AAAAAAAAAIc/kjRUc0AMq-w/s1600/IMAG0070.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="190" src="http://4.bp.blogspot.com/_gLZJcMXflOo/TMdEuZQHj6I/AAAAAAAAAIc/kjRUc0AMq-w/s320/IMAG0070.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="font-size: small; line-height: 20px;"&gt;This is the second post in&lt;a href="http://independentindetroit.blogspot.com/2010/11/software-craftsmanship-north-america.html"&gt; a multi-part series&lt;/a&gt;. &amp;nbsp;The conference covered two days, with many presentations, lightning talks, and conversations about software craftsmanship.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 15px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black; font-family: Verdana,sans-serif;"&gt;&lt;div style="margin: 0px;"&gt;&lt;u&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Lightning talks&lt;/span&gt;&lt;/u&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="color: black; font-family: Verdana,sans-serif;"&gt;&lt;div style="margin: 0px;"&gt;&lt;span style="font-size: small;"&gt;The one that stood out most for me was by a group of developers from Boston.&amp;nbsp; They talked about their software craftsmanship meet-up group.&amp;nbsp; Interesting because it intersects somewhat with my plans for adding a craftsmanship group at my workplace.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: small;"&gt;Take-away: (in their opinion) it doesn't matter how big the group is, and smaller is better.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;u&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Apprenticeship panel&lt;/span&gt;&lt;/u&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;The concept of apprenticeship is really taking off in software development shops.&amp;nbsp; This was a group of "apprentices" describing their experience.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;My take-aways:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt; Apprenticeship is very effective, and lasts somewhere between 6-12 months.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;You need an understanding customer, since the apprentice must work side-by-side with masters on a client site.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;u&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Randori with the stars&lt;/span&gt;&lt;/u&gt;&lt;br /&gt;
A&lt;span style="font-size: small;"&gt;&lt;span style="border-collapse: separate; color: black; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt; laugh fest.&amp;nbsp; It was done in Code Dojo (by &lt;a href="http://sites.google.com/site/galesoftwarelearninggroup/project-updates/codingdojoformat"&gt;my definition&lt;/a&gt;) format using Ruby and Rspec. &amp;nbsp;I followed along for a while, but they didn't know what they wanted to do. &amp;nbsp;Uncle Bob rubbed an English guy's head.&lt;/span&gt;&lt;/span&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;My take-aways:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;Don't run my Randori's like this.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&lt;u&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Lean vs Corporate&lt;/span&gt;&lt;/u&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&lt;span style="border-collapse: separate; color: black; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;Ken Auer talked about his entrepreneur clients, and how they need a real value proposition. &amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&lt;span style="border-collapse: separate; color: black; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;My take-aways:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&lt;ul&gt;&lt;li&gt;If/when I return to consulting, my customers really won&lt;span style="border-collapse: separate; color: black; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;'t like to part with their money. &amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="border-collapse: separate; color: black; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;Giving them what they need is a  good thing - don't build a Mercedes for someone who needs a Yugo.&lt;/span&gt;&amp;nbsp; &lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8906001972039046802-6798457772382576168?l=independentindetroit.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/DciRC/~4/X-pREmxR61s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://independentindetroit.blogspot.com/feeds/6798457772382576168/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8906001972039046802&amp;postID=6798457772382576168" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/6798457772382576168?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/6798457772382576168?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/DciRC/~3/X-pREmxR61s/at-software-craftsmanship-north-america.html" title="At SCNA: Part 2" /><author><name>Erik Przekop</name><uri>http://www.blogger.com/profile/08675346953034372641</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_gLZJcMXflOo/SbfSyhC2WFI/AAAAAAAAAFw/rb4U5xwzbV8/S220/erik_head_shot_bw.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_gLZJcMXflOo/TMdEuZQHj6I/AAAAAAAAAIc/kjRUc0AMq-w/s72-c/IMAG0070.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://independentindetroit.blogspot.com/2010/11/at-software-craftsmanship-north-america.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkEAQX4zeSp7ImA9Wx5aEEo.&quot;"><id>tag:blogger.com,1999:blog-8906001972039046802.post-6394767336643343365</id><published>2010-10-20T20:03:00.006-04:00</published><updated>2010-11-06T15:10:40.081-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-06T15:10:40.081-04:00</app:edited><title>At SCNA: Part 1</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/x40HUSyX_474MEjcEebh61Yy0A4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/x40HUSyX_474MEjcEebh61Yy0A4/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/x40HUSyX_474MEjcEebh61Yy0A4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/x40HUSyX_474MEjcEebh61Yy0A4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="font-family: Verdana,sans-serif; font-size: 11pt; margin: 0in;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_gLZJcMXflOo/TMGf2z1PP8I/AAAAAAAAAIY/vAowFmZRmlk/s1600/SCNA_panel.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="188" src="http://2.bp.blogspot.com/_gLZJcMXflOo/TMGf2z1PP8I/AAAAAAAAAIY/vAowFmZRmlk/s320/SCNA_panel.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span style="font-size: small;"&gt;This is the first post in&lt;a href="http://independentindetroit.blogspot.com/2010/11/software-craftsmanship-north-america.html"&gt; a multi-part series&lt;/a&gt;. &amp;nbsp;The conference covered two days, with many presentations, lightning talks, and conversations about software craftsmanship.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: small;"&gt;This may have been the best conference I have attended. &amp;nbsp;I found nearly all of the speakers interesting, and the conversations I had between sessions were at least as valuable as the sessions themselves. &amp;nbsp;It has provided me with a lot of food for thought, that I will comment more on later.&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span style="font-size: small;"&gt;Here is a summary of Day 1, and what I took away from it. &amp;nbsp;Note that the topics may differ from what the presenters actually put on the screen.&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;u&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;"Uncle" Bob Martin: The Failure of State&lt;/span&gt;&lt;/u&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://blog.objectmentor.com/"&gt;Uncle Bob&lt;/a&gt;'s talk centered on the need for functional programming. &amp;nbsp;The thrust of it was that most (and perhaps all) OO languages are all about state. &amp;nbsp;You can modify the state of an object externally through public methods. &amp;nbsp;You check the state to determine what operations have already been performed, etc.&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://en.wikipedia.org/wiki/Functional_programming"&gt;Functional languages&lt;/a&gt; are different. &amp;nbsp;You can still do "stateful" things in them, but they make it easy to take an input object, transform a copy of it, and return the copy.&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span style="font-size: small;"&gt;So what is so bad about state? &amp;nbsp;Well, according to Uncle Bob, the breakdown of&lt;a href="http://en.wikipedia.org/wiki/Moore%27s_law"&gt; Moore's law&lt;/a&gt;. &amp;nbsp;Processor speeds have tailed off in the last 5 years. &amp;nbsp;Instead of doubling every 18 months like they did through the 80's, 90's and early 2000's, they have been pretty much flat.&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span style="font-size: small;"&gt;What has changed is that both memory and &lt;i&gt;processor cores&lt;/i&gt; have become dirt cheap. &amp;nbsp;Instead of running all of our operations in a single thread through one processor, we can get more out of our computing hardware by running them through multiple cores in parallel. &amp;nbsp;Coupled to this is cheap memory - you can make copies of your information and not have to worry that you'll run out of RAM (within reasonable limits).&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span style="font-size: small;"&gt;What all of this means is that you can get a lot more done if your program doesn't depend on the&amp;nbsp;state of it's objects. &amp;nbsp;Local variables are no problem, as long as you don't depend on any fields across more than one method.&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span style="font-size: small;"&gt;What this means for testing, I'm not sure of. &amp;nbsp;I really need to play with some functional languages to get a handle on this paradigm.&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span style="font-size: small;"&gt;This was one of my favorite talks of the conference. &amp;nbsp;My only complaint is that I would have liked him to keep going for another hour.&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;u&gt;&lt;br /&gt;
&lt;/u&gt;&lt;/div&gt;&lt;div style="color: black; margin: 0px;"&gt;&lt;u&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Doug Bradbury: What is Craftsmanship (and the Bible)&lt;/span&gt;&lt;/u&gt;&lt;/div&gt;&lt;div style="color: black; margin: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;The central argument of this talk was that software development is a craft. &amp;nbsp;We're following our creative impulses and making something new every time we code.&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black; margin: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black; margin: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;The other central argument was that religion informs our craft, and is an important part of being a developer. &amp;nbsp;I don't think that was Mr. Bradbury's point, but it was heavy on bible quotes and even after 12 years of Catholic school, I thought it wandered away from the central topic of software craftsmanship.&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black; margin: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black; margin: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;While I laud Bradbury for his courage in presenting an overtly religious view to a largely atheist audience, I don't think it was the right forum for him to make that kind of point.&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;u&gt;&lt;br /&gt;
&lt;/u&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="color: #366092; font-family: Verdana,sans-serif; font-size: 11pt; margin: 0in;"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;&lt;span class="Apple-style-span" style="color: #366092; font-size: medium;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: black;"&gt;&lt;span class="Apple-style-span" style="color: #366092; font-size: medium;"&gt;&lt;div style="color: black; margin: 0px;"&gt;&lt;u&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Michael Norton: Medicine, Programming and Licensing&lt;/span&gt;&lt;/u&gt;&lt;/div&gt;&lt;b&gt;&lt;div style="color: black; font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Norton gave a fairly lively talk on the history of medicine, as well as the challenges and solutions that profession has worked through. &amp;nbsp;For medicine, it boils down to:&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black; font-weight: normal;"&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Both general and specialized education. &amp;nbsp;The medical profession requires practitioners to have a broad base of Biology and Physiology, but also have gone through a more general undergraduate program.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Hands-on practice in a clinical setting. &amp;nbsp;Docs must go through a variety of "clinicals", which are more like an apprenticeship than a classroom. &amp;nbsp;They watch someone who knows what they are doing through years of practice, and slowly are allowed to take a more hands-on approach.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Licensing. &amp;nbsp;Medical practitioners have to pass board exams if they are going to specialize at all. &amp;nbsp;(And probably if not - I'll have to ask some of my doctor friends if a GP has to pass boards.)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Certification. &amp;nbsp;Practitioners have to have a certain number of hours (I think that a friend of mine said 150 hours for his specialty every 2-3 years) of time in seminars and related activities to keep their license.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Norton never came out and said that we should do the same things in software development, and I saw his response to at least one tweet stating that his aim was to provoke more debate on the subject.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="color: black; font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black; font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;It's certainly worth thinking about. &amp;nbsp;I don't want to have to be licensed, but the state of certifications in our profession is positively &lt;i&gt;awful&lt;/i&gt;. &amp;nbsp;What should we do about it?&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black; font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;To be continued...&lt;/span&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8906001972039046802-6394767336643343365?l=independentindetroit.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/DciRC/~4/3DWXGwlMQeo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://independentindetroit.blogspot.com/feeds/6394767336643343365/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8906001972039046802&amp;postID=6394767336643343365" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/6394767336643343365?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/6394767336643343365?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/DciRC/~3/3DWXGwlMQeo/at-software-craftsmanship-north-america.html" title="At SCNA: Part 1" /><author><name>Erik Przekop</name><uri>http://www.blogger.com/profile/08675346953034372641</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_gLZJcMXflOo/SbfSyhC2WFI/AAAAAAAAAFw/rb4U5xwzbV8/S220/erik_head_shot_bw.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_gLZJcMXflOo/TMGf2z1PP8I/AAAAAAAAAIY/vAowFmZRmlk/s72-c/SCNA_panel.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://independentindetroit.blogspot.com/2010/10/at-software-craftsmanship-north-america.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEQGSXw9fyp7ImA9Wx5REks.&quot;"><id>tag:blogger.com,1999:blog-8906001972039046802.post-6008494261717219796</id><published>2010-08-19T21:05:00.000-04:00</published><updated>2010-08-19T21:05:28.267-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-19T21:05:28.267-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="card wall" /><category scheme="http://www.blogger.com/atom/ns#" term="agile" /><category scheme="http://www.blogger.com/atom/ns#" term="selenium" /><title>Too much testing, too little clue</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ErGsrzpwmH569aSB8d8Y2dUJsGw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ErGsrzpwmH569aSB8d8Y2dUJsGw/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/ErGsrzpwmH569aSB8d8Y2dUJsGw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ErGsrzpwmH569aSB8d8Y2dUJsGw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://farm3.static.flickr.com/2138/2510410773_b528dfbbb2.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://farm3.static.flickr.com/2138/2510410773_b528dfbbb2.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;A couple of interesting things shook out of today's retrospective.&amp;nbsp; It turns out that we're well behind on our targets for the current project, and two of the culprits seem to be:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Too much Selenium testing&lt;/li&gt;
&lt;li&gt;&lt;i&gt;No card wall&lt;/i&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
&lt;span style="font-size: large;"&gt;The evils of Selenium &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
The right way to do Selenium testing is pretty well covered in &lt;a href="http://patrickwilsonwelsh.com/?p=332"&gt;Patrick Welsh's blog&lt;/a&gt; and in other places.&amp;nbsp; Talk about great timing - Patrick was at the office today to give a lunchtime talk on this very subject.&lt;br /&gt;
&lt;br /&gt;
The team decided to handle the Selenium problem by writing tests for only the things that we absolutely had to test through the UI.&amp;nbsp; Most of us (we'll have to revisit this) also agreed that we would keep the Se tests as small as we could get away, with while still retaining a reasonable level of test protection.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;VersionOne or card wall?&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
The second item is something I should have brought up before, but I wasn't sure of it until I had been on the project for a month.&amp;nbsp; We have been using &lt;a href="http://www.versionone.com/"&gt;VersionOne &lt;/a&gt;as our story management system, and doing all of our updates through it.&lt;br /&gt;
&lt;br /&gt;
It's a nice tool and fun to play with.&amp;nbsp; Just one problem - I wasn't&amp;nbsp; aware that we were behind this week (as in others) until after it was too late to do anything about it.&amp;nbsp; Two reasons came to mind for this:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;I'm lazy.&amp;nbsp; I didn't realize that VersionOne had a &lt;a href="http://community.versionone.com/GettingStarted/Guide/Kanban.aspx"&gt;Story Board view&lt;/a&gt; because I didn't take the time to learn the ins and outs of the tool.&amp;nbsp; The task-oriented view has far too much information on it to give me an overview.&lt;/li&gt;
&lt;li&gt;We didn't have a card wall that I can just glance up at to see how many stories were still not done and who was working on them.&lt;/li&gt;
&lt;/ul&gt;The team focused on the second bullet - lack of card wall, and I think that is a wise decision.&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
It doesn't matter&amp;nbsp; how good your electronic tools are. &amp;nbsp; There is no substitute for being able to just look up and see status without any mouse clicks.&amp;nbsp; It is also very powerful to be able to stand up with another team member or two, and point at cards as you talk.&amp;nbsp; The simplicity of the setup is what makes it so powerful.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;What goes on a card...and on the wall?&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
I did a quick search for examples of story cards, and &lt;a href="http://www.agilemodeling.com/artifacts/userStory.htm"&gt;this one &lt;/a&gt;(scroll down a bit after you click the link) will work.&amp;nbsp; The best setup I have seen adds some refinements to the cards and their organization on the wall:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Write the names of the people working on it on the card, or have mini-cards with team member's names on them that you can post next to the card their working on.&lt;/li&gt;
&lt;li&gt;Have some sticky notes handy with a bright color.&amp;nbsp; If the story is blocked for any reason (even if it's something you expect to get resolved the same day), write a few words on the note describing the block and stick it on the card.&lt;/li&gt;
&lt;li&gt;Organize the cards in columns by status, such as "Dev Ready", "In Progress", "Test Ready", "Test Verified" and "Business Verified".&lt;/li&gt;
&lt;li&gt;Write a "definition of done" where appropriate for each status and post it at the top of each column.&amp;nbsp; For instance, "In Progress" would have bullet points like:&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;Unit tested&lt;/li&gt;
&lt;li&gt;Integration tested if it has external dependencies&lt;/li&gt;
&lt;li&gt;Selenium tested if it has UI components&lt;/li&gt;
&lt;li&gt;Reviewed in both IE and Firefox if it has UI components&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;I doubt that we'll go to such lengths this late in the project, but it's something to consider for the next one.&amp;nbsp; It isn't a panacea, but it does solve several problems.&lt;br /&gt;
&lt;br /&gt;
Above all, &lt;i&gt;it's simple&lt;/i&gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #666666; font-size: xx-small;"&gt;(Image courtesy of &lt;a href="http://www.flickr.com/photos/jnicho02/2510410773/"&gt;J'Roo's Flickr page&lt;/a&gt;)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8906001972039046802-6008494261717219796?l=independentindetroit.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/DciRC/~4/TTGOiWvYSaA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://independentindetroit.blogspot.com/feeds/6008494261717219796/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8906001972039046802&amp;postID=6008494261717219796" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/6008494261717219796?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/6008494261717219796?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/DciRC/~3/TTGOiWvYSaA/too-much-testing-too-little-clue.html" title="Too much testing, too little clue" /><author><name>Erik Przekop</name><uri>http://www.blogger.com/profile/08675346953034372641</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_gLZJcMXflOo/SbfSyhC2WFI/AAAAAAAAAFw/rb4U5xwzbV8/S220/erik_head_shot_bw.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://farm3.static.flickr.com/2138/2510410773_b528dfbbb2_t.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://independentindetroit.blogspot.com/2010/08/too-much-testing-too-little-clue.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk4CQ3w8fip7ImA9WxFVFU4.&quot;"><id>tag:blogger.com,1999:blog-8906001972039046802.post-8320136622529185383</id><published>2010-06-14T13:02:00.000-04:00</published><updated>2010-06-14T13:02:42.276-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-14T13:02:42.276-04:00</app:edited><title>Safari Crashes &amp; Firefox Issues</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/5X-r4SRLI9zZ995F1jQBeY25HlM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5X-r4SRLI9zZ995F1jQBeY25HlM/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/5X-r4SRLI9zZ995F1jQBeY25HlM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5X-r4SRLI9zZ995F1jQBeY25HlM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div&gt;Looks like Safari is having a lot of problems lately:&lt;/div&gt;&lt;a href="http://www.theregister.co.uk/2010/06/10/safari_5_woes/"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Fanbois howl over 'hang a lot' Safari 5 • The Register&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I find that Firefox crashes on a regular basis - to the point where I use Chrome almost exclusively.  Best bet is that it is a bad plugin, and once &lt;a href="http://lifehacker.com/5513281/firefox-lorentz-beta-isolates-plug+in-crashes-for-uninterrupted-browsing"&gt;Firefox "Lorentz" is out of beta&lt;/a&gt;, I may be able to tell which one is dying and taking my browser with it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8906001972039046802-8320136622529185383?l=independentindetroit.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/DciRC/~4/aR2YOYqdywA" height="1" width="1"/&gt;</content><link rel="related" href="http://www.theregister.co.uk/2010/06/10/safari_5_woes/" title="Safari Crashes &amp; Firefox Issues" /><link rel="replies" type="application/atom+xml" href="http://independentindetroit.blogspot.com/feeds/8320136622529185383/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8906001972039046802&amp;postID=8320136622529185383" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/8320136622529185383?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/8320136622529185383?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/DciRC/~3/aR2YOYqdywA/safari-crashes-firefox-issues.html" title="Safari Crashes &amp; Firefox Issues" /><author><name>Erik Przekop</name><uri>http://www.blogger.com/profile/08675346953034372641</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_gLZJcMXflOo/SbfSyhC2WFI/AAAAAAAAAFw/rb4U5xwzbV8/S220/erik_head_shot_bw.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://independentindetroit.blogspot.com/2010/06/safari-crashes-firefox-issues.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEUFQno8fip7ImA9WxBaGUQ.&quot;"><id>tag:blogger.com,1999:blog-8906001972039046802.post-875451429411010130</id><published>2010-03-30T20:43:00.000-04:00</published><updated>2010-03-30T20:43:33.476-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-30T20:43:33.476-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="h+ transhumanism rss" /><title>Transhumanism RSS feeds</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/3acIYpnoSWVBz606IFPapM04qQk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3acIYpnoSWVBz606IFPapM04qQk/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/3acIYpnoSWVBz606IFPapM04qQk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3acIYpnoSWVBz606IFPapM04qQk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;I'm interested in the subject of &lt;a href="http://en.wikipedia.org/wiki/Transhumanism"&gt;Transhumanism&lt;/a&gt;.  I suspect that most of my fellow technologists are also interested in the concepts it embodies, even if they're unfamiliar with the term.&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;"Transhumanism" is a catch-all term for enhancing our abilities as human beings.  It is related to &lt;a href="http://en.wikipedia.org/wiki/Posthumanism"&gt;Posthumanism&lt;/a&gt;,which is more about what human beings will transform themselves into and/or AI that we may create that will surpass our abilities.&lt;br /&gt;
&lt;br /&gt;
There are plenty of blogs and online magazines on the subject, but many of them either have no RSS feed ("and you call yourself a transhumanist!").&amp;nbsp; Many others only have a feed that delivers a couple of sentences with a link, which is to my mind both hypocritical and self-defeating (it drives almost no traffic, but does irritate potential readers like me).&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
I haven't found anyplace that aggregates &lt;i&gt;full&lt;/i&gt; RSS feeds, so I made a tentative start.&amp;nbsp; &lt;a href="http://www.google.com/reader/bundle/user%2F17906417226170211419%2Fbundle%2FH%2B"&gt;Here is a Google Reader bundle.&lt;/a&gt;&amp;nbsp; If you see anything you really like in there, I'd suggest&amp;nbsp; that you subscribe to it in your own reader of choice - I will almost certainly change the list of blogs in here over time, including deleting some that I don't read.&lt;br /&gt;
&lt;br /&gt;
As of this writing I haven't done more than skim these to see if the content looks complete.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8906001972039046802-875451429411010130?l=independentindetroit.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/DciRC/~4/PnsgkwU_nDQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://independentindetroit.blogspot.com/feeds/875451429411010130/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8906001972039046802&amp;postID=875451429411010130" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/875451429411010130?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/875451429411010130?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/DciRC/~3/PnsgkwU_nDQ/transhumanism-rss-feeds.html" title="Transhumanism RSS feeds" /><author><name>Erik Przekop</name><uri>http://www.blogger.com/profile/08675346953034372641</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_gLZJcMXflOo/SbfSyhC2WFI/AAAAAAAAAFw/rb4U5xwzbV8/S220/erik_head_shot_bw.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://independentindetroit.blogspot.com/2010/03/transhumanism-rss-feeds.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcCRHo_eyp7ImA9WxBaGUQ.&quot;"><id>tag:blogger.com,1999:blog-8906001972039046802.post-3084741386932391348</id><published>2010-03-23T19:00:00.000-04:00</published><updated>2010-03-30T20:57:45.443-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-30T20:57:45.443-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="agile content" /><title>Content is King</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/aW1TXzgLMIwlETa8cHAWsBZ4q2s/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/aW1TXzgLMIwlETa8cHAWsBZ4q2s/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/aW1TXzgLMIwlETa8cHAWsBZ4q2s/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/aW1TXzgLMIwlETa8cHAWsBZ4q2s/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Recently the content team at my employer showed us a presentation about the whys, hows and challenges that they face in organizing content for our products (mainly graduate-level research applications, but some general-use software as well).&lt;br /&gt;
&lt;br /&gt;
Their problems differ somewhat from what most people thing of as "content" in that they don't create the vast majority of what we publish.&amp;nbsp; Instead, the company purchases or licenses large chunks of information in various forms, and then transforms it into something that you can search and read through a web app.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
What struck me as most relevant were the challenges they face in becoming "agile".&amp;nbsp; This seems like an area ripe for a better process and cultural changes to accompany it.&amp;nbsp; It is also far more important than the software development process ("pretty" web apps may engage people up-front, but you have to have something authoritative and useful behind it if you want end-users to want to keep coming back.)&lt;br /&gt;
&lt;br /&gt;
There doesn't seem to be much out there right now on the subject.&amp;nbsp; About all that I found was&lt;a href="http://www.analecta.com/morecontent.pdf"&gt; this PowerPoint converted to PDF&lt;/a&gt; that covers are few of the "whys" and "how's" at a high level.&lt;br /&gt;
&lt;br /&gt;
The author seems to know the subject well, but there's only so much you can get out of a PowerPoint without a person driving it.&amp;nbsp; (I know nothing about him, but his contact information is at the bottom if you want to ask him yourself&amp;nbsp; - looks like he does consulting work.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8906001972039046802-3084741386932391348?l=independentindetroit.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/DciRC/~4/8oCDNdC95Z4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://independentindetroit.blogspot.com/feeds/3084741386932391348/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8906001972039046802&amp;postID=3084741386932391348" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/3084741386932391348?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/3084741386932391348?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/DciRC/~3/8oCDNdC95Z4/content-is-king.html" title="Content is King" /><author><name>Erik Przekop</name><uri>http://www.blogger.com/profile/08675346953034372641</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_gLZJcMXflOo/SbfSyhC2WFI/AAAAAAAAAFw/rb4U5xwzbV8/S220/erik_head_shot_bw.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://independentindetroit.blogspot.com/2010/03/content-is-king.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEQMSX8yeSp7ImA9WxBaGUQ.&quot;"><id>tag:blogger.com,1999:blog-8906001972039046802.post-8828633683280855066</id><published>2010-03-21T15:48:00.001-04:00</published><updated>2010-03-30T20:46:28.191-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-30T20:46:28.191-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="back button" /><title>Cross-Browser Control of the Back Button</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/DxPC1MgRVL01rxM8aG18SwT89m4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DxPC1MgRVL01rxM8aG18SwT89m4/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/DxPC1MgRVL01rxM8aG18SwT89m4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DxPC1MgRVL01rxM8aG18SwT89m4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;b&gt;Update:&amp;nbsp; &lt;/b&gt;(3/30/2010) We ended up going with an Ajax solution instead.&amp;nbsp; Although the code below works, it is really annoying in IE, since you see the page redraw twice. &lt;br /&gt;
&lt;br /&gt;
Here is a very brief how-to on forcing a reload of a page when the back button is clicked.&amp;nbsp; In my current project, I needed to do this because the header portion of the screen contains some status information that could be confusing to our users if the latest updates don't show up.&lt;br /&gt;
&lt;br /&gt;
We're using JBoss Portal server, which is why I put the code in two&amp;nbsp; different places.&lt;br /&gt;
&lt;br /&gt;
Using JQuery, the JQuery(document).ready function handles this just fine for IE, but not at all for Firefox.&amp;nbsp; Here is the IE code, which I placed in the header jsp that appears on all portal pages:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;input type="hidden" id="refreshed" value="no"&amp;gt;&lt;br /&gt;
&amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; jQuery(document).ready(function(){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var e=document.getElementById("refreshed");&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(e.value=="no")&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.value="yes";&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.value="no";&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; location.reload(true);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To make it work in Firefox, I added an empty "onunload" event in the 1column theme jsp page:&lt;br /&gt;
&amp;nbsp; &amp;lt;body onunload=""&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That's it!&amp;nbsp; It took quite a while for me to track down examples of both of these, so I thought I'd put everything in one place to help out others.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8906001972039046802-8828633683280855066?l=independentindetroit.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/DciRC/~4/eWRqDTMBTXM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://independentindetroit.blogspot.com/feeds/8828633683280855066/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8906001972039046802&amp;postID=8828633683280855066" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/8828633683280855066?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/8828633683280855066?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/DciRC/~3/eWRqDTMBTXM/cross-browser-control-of-back-button.html" title="Cross-Browser Control of the Back Button" /><author><name>Erik Przekop</name><uri>http://www.blogger.com/profile/08675346953034372641</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_gLZJcMXflOo/SbfSyhC2WFI/AAAAAAAAAFw/rb4U5xwzbV8/S220/erik_head_shot_bw.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://independentindetroit.blogspot.com/2010/03/cross-browser-control-of-back-button.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0ENQnkyeCp7ImA9WxBXGUg.&quot;"><id>tag:blogger.com,1999:blog-8906001972039046802.post-421832702583591914</id><published>2010-01-31T12:00:00.005-05:00</published><updated>2010-01-31T12:41:33.790-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-31T12:41:33.790-05:00</app:edited><title>Retrospective: The First Coding Dojo</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/lvcuNdyVA3K5yKGd8Op8miKLRYA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lvcuNdyVA3K5yKGd8Op8miKLRYA/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/lvcuNdyVA3K5yKGd8Op8miKLRYA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lvcuNdyVA3K5yKGd8Op8miKLRYA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_gLZJcMXflOo/S2W8zgKw7TI/AAAAAAAAAIA/PslhHhhpVGg/s1600-h/dojo.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 246px; height: 259px;" src="http://2.bp.blogspot.com/_gLZJcMXflOo/S2W8zgKw7TI/AAAAAAAAAIA/PslhHhhpVGg/s320/dojo.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5432956118486805810" /&gt;&lt;/a&gt;&lt;br /&gt;After attending &lt;a href="http://independentindetroit.blogspot.com/2009/12/detroit-tech-1devday-event.html"&gt;OneDevDay &lt;/a&gt;and &lt;a href="http://independentindetroit.blogspot.com/2009/12/growing-your-craft-coderetreat.html"&gt;CodeRetreat&lt;/a&gt;, I was gung-ho to get some regular nerdly fun going at my place of business.  Accordingly, I pulled together &lt;a href="http://sites.google.com/site/galesoftwarelearninggroup/home"&gt;a Wiki site&lt;/a&gt;, scheduled a meeting, and "just did it".  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It went better than I had hoped it would.  I got some great positive feedback from the attendees in our brief retrospective.  I got a good vibe from everyone as we were going through the exercise.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I wanted to keep things as informal as possible, but we did follow this minimal schedule:&lt;/div&gt;&lt;div&gt;5:30 - 5:45&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Food &amp;amp; Conversation&lt;/div&gt;&lt;div&gt;5:45 - 6:00&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Description of Dojo Format.  Choose topic &amp;amp; Codebase&lt;/div&gt;&lt;div&gt;6:00 - 7:20&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Coding!&lt;/div&gt;&lt;div&gt;7:20 - 7:30&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Retrospective&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The team came up with the following in our retrospective:&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;What went well&lt;/strong&gt;&lt;/td&gt;    &lt;td&gt;&lt;strong&gt;What could have gone better&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td&gt;&lt;ul&gt;&lt;br /&gt; &lt;li&gt;Taking the initiative to do this.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;Logistics / room / projector.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;Welcoming atmosphere helped everyone dig in.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;Small problem domain made it easy to focus on skill.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;Everyone wrote code - even the managers!&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;/td&gt;  &lt;td&gt;&lt;ul&gt;&lt;br /&gt; &lt;li&gt;More QA people should attend&lt;/li&gt;&lt;br /&gt; &lt;li&gt;Next time, have someone available to go on a food run.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;More developers should attend.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;Promote the event more - many people weren't aware of it.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;We also came up with a set of ideas for future topics:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Refactoring&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Selenium&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Ping-pong pairing&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Code retreat format&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;My plan is to tackle the first two over the course of the next few months.  I'm not sure about the third, and I want to get in touch with Corey and/or Patrick about using their format.  I think they encourage doing retreats, but they don't want the meaning of it to morph into something else, so it may not fit into a 2-hour twice-monthly meeting.  If not, I'll just borrow the ideas I think will work &amp;amp; call it something else.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8906001972039046802-421832702583591914?l=independentindetroit.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/DciRC/~4/BpwQdc5jgYY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://independentindetroit.blogspot.com/feeds/421832702583591914/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8906001972039046802&amp;postID=421832702583591914" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/421832702583591914?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8906001972039046802/posts/default/421832702583591914?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/DciRC/~3/BpwQdc5jgYY/retrospective-first-coding-dojo.html" title="Retrospective: The First Coding Dojo" /><author><name>Erik Przekop</name><uri>http://www.blogger.com/profile/08675346953034372641</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_gLZJcMXflOo/SbfSyhC2WFI/AAAAAAAAAFw/rb4U5xwzbV8/S220/erik_head_shot_bw.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_gLZJcMXflOo/S2W8zgKw7TI/AAAAAAAAAIA/PslhHhhpVGg/s72-c/dojo.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://independentindetroit.blogspot.com/2010/01/retrospective-first-coding-dojo.html</feedburner:origLink></entry></feed>

