<?xml version="1.0" encoding="UTF-8" standalone="no"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:gd="http://schemas.google.com/g/2005" xmlns:georss="http://www.georss.org/georss" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-2201343077108877660</atom:id><lastBuildDate>Tue, 17 Sep 2024 17:55:08 +0000</lastBuildDate><category>Agile</category><category>UX</category><category>Agile Manifesto</category><category>Google Wave</category><category>Lean Startup</category><category>Scrum</category><category>Alan Cooper</category><category>User Experience</category><category>GitHub</category><category>IxD</category><category>User Story</category><category>teamwork</category><category>Interaction Design</category><category>minimum viable product</category><category>Agile Evolution</category><category>Beginner's Mind</category><category>Bitbucket</category><category>CIO</category><category>Continuous delivery</category><category>Continuous integration</category><category>Cross-Functional Team</category><category>Discovery</category><category>Evolutionary Design</category><category>Google</category><category>Google Wave Adoption</category><category>Iteration Planning</category><category>Launch Early and Iterate</category><category>Launch early and Learn</category><category>Leadership</category><category>Lean Manufacturing</category><category>Product Owner</category><category>Software Prototyping</category><category>Software metaphors</category><category>Startup Pivot</category><category>The Black Swan</category><category>Usability</category><category>XP</category><category>architect</category><category>change</category><category>effective Teams</category><category>management</category><category>software product development</category><category>software quality</category><category>Agile Adoption</category><category>Agile Transition</category><category>Anti-Patterns</category><category>Bell Laboratories</category><category>Blink</category><category>Brogrammer</category><category>Burndown</category><category>Business Model Canvas</category><category>CTO</category><category>Chrome OS</category><category>Collaboration</category><category>Collaborative Software</category><category>Collaborative Team</category><category>Commander's Intent</category><category>Continuous Partial Attention</category><category>Craftsmanship</category><category>Culture</category><category>Daily Scrum</category><category>David Hussman</category><category>Discovery and Delivery</category><category>Distributed Source Control</category><category>Eric Ries</category><category>HTML5</category><category>Hiring</category><category>Hypothesis Testing</category><category>Jon Gertner</category><category>Lean-Startup</category><category>Learning Organization</category><category>Learning Team</category><category>MVP</category><category>Marissa Mayer</category><category>Microsoft</category><category>Pair Programming</category><category>Pivoting</category><category>Product Backlog</category><category>Product-centric</category><category>Pull Request</category><category>Shunryu Suzuki</category><category>Social Behavior</category><category>Social Intelligence</category><category>Soft Skills</category><category>Software Collaboration</category><category>Sprint Velocity</category><category>Startup</category><category>Steve Blank</category><category>Steve Jobs</category><category>Subjugation of Ego</category><category>Team Manifesto</category><category>Team Unity</category><category>Turbo Pascal</category><category>Tweet</category><category>Twitter</category><category>Twitter Etiquette</category><category>Unit Test</category><category>Usage-Centric Design</category><category>User Story Mapping</category><category>User-Centric</category><category>Velocity</category><category>Viral Movements</category><category>censorship</category><category>self-organization</category><category>self-organization in nature</category><category>100% Code Coverage</category><category>2000-2010</category><category>37Signals</category><category>8088</category><category>Abductive Reasoning</category><category>Achilles Heel</category><category>Aesthetic Restraint</category><category>Agile 2.0</category><category>Agile Aptitude Test</category><category>Agile Estimation</category><category>Agile Failure Scenario</category><category>Agile Meetings</category><category>Agile Software Development</category><category>Agile Teams</category><category>Agile roles</category><category>Agile-Smagile</category><category>Ajax</category><category>Alexander Osterwalder</category><category>App Engine</category><category>Assertive Software</category><category>Atomic Tasking</category><category>Augusto Boal</category><category>Ayende Rahien</category><category>BDUF</category><category>BSOD</category><category>Bell System</category><category>Best Practice</category><category>Blue Screen of Death</category><category>Bootstrap</category><category>Branch</category><category>Brevity</category><category>Brook's Law</category><category>Brooklyn</category><category>Bug Fixes</category><category>Build Monkeys</category><category>Burn-down</category><category>Business Intelligence</category><category>C-Level</category><category>C-Sharpistan</category><category>CSS</category><category>CSharpistan</category><category>Cadence</category><category>Ceremony</category><category>Chat Clients</category><category>Chief Agile Officer</category><category>Chindōgu</category><category>Chip Heath</category><category>Chirpitude</category><category>Cloud</category><category>Cloud Storage</category><category>ClustrMap</category><category>Code Coverage</category><category>Code Freeze</category><category>Code Freeze 2010</category><category>Code Monkey</category><category>CodeShip</category><category>Coding Standards</category><category>Collaboration Tools</category><category>Collaborative Place</category><category>Collaborative Space</category><category>Colloquy</category><category>Comet</category><category>Command and Control</category><category>Commit</category><category>Commitment</category><category>Commoditized Agile</category><category>CommonCrawl</category><category>Competence</category><category>Concise Writing</category><category>Connectors</category><category>Corruption of Power</category><category>Cowboy Coding</category><category>Craftsmanship Contract</category><category>Craftsmanship Surcharge</category><category>CreateServiceHost</category><category>Creativity Backlog</category><category>Credibility</category><category>Cultural Movements</category><category>Custom Host Factory</category><category>Customer Development</category><category>Customer Segments</category><category>Cybercrime</category><category>DVCS</category><category>Dan Heath</category><category>Data Mining</category><category>Datastore</category><category>De Facto Leaders</category><category>Decade</category><category>Decision-Making</category><category>Defining Value</category><category>Delivery</category><category>Design</category><category>Design Charrette</category><category>Design Confusion</category><category>Design Experiences</category><category>Design in Nature</category><category>Design-build</category><category>Designers</category><category>DevOps</category><category>Developer Stories</category><category>Dieter Rams</category><category>Direction and Approach</category><category>Disparaging Terms</category><category>Diversity</category><category>Dogma</category><category>Don't Be Evil</category><category>Duality</category><category>Emergent Behavior</category><category>Engery-Efficient</category><category>Environmental Adaptability</category><category>Epictetus</category><category>Ernest Hemingway</category><category>Espionage</category><category>Estimates</category><category>Evaluative Thinking</category><category>Executives</category><category>Experience over Features</category><category>Extreme Interview</category><category>Extreme Programming</category><category>FORTRAN</category><category>Facebook</category><category>Fail Early</category><category>Fail Often</category><category>Fairness</category><category>Fallacies of Code Coverage</category><category>FastCompany</category><category>Feature Branch</category><category>Fight Club</category><category>Fixed bid</category><category>Flip-side of Failure</category><category>Founder</category><category>Framing</category><category>Frank Rimalovski</category><category>Full Attention</category><category>Function Follows Form</category><category>Functional</category><category>Future of Agile</category><category>Garage Band</category><category>Geek</category><category>Generative Thinking</category><category>Geothermal</category><category>Git</category><category>Glyphicon</category><category>Goal-Directed Design</category><category>Golden Ratio</category><category>Good Design Principles</category><category>Google App Engine</category><category>Google Ethos</category><category>Google Hangout</category><category>Google Heuristics</category><category>Google News</category><category>Google Slogans</category><category>Google-China</category><category>Google.cn</category><category>Googleplex</category><category>Government Regulation</category><category>Green</category><category>Green Data Center</category><category>Green House Data</category><category>Grooming and Feeding Backlog</category><category>Groove</category><category>Hacker Chick</category><category>Hacking</category><category>Heroku</category><category>HipChat</category><category>Hubris</category><category>Human Desire</category><category>Human Need</category><category>Humanity</category><category>Humiliation</category><category>Humility</category><category>Hydroelectric</category><category>Hyperbole</category><category>I-Corps</category><category>IBM PC</category><category>IIS</category><category>IRC Chat</category><category>IT Infrastructure</category><category>IT Mindset</category><category>Identity</category><category>Impediments List</category><category>Improvisation</category><category>Individuals and interactions over processes and tools</category><category>Information Access</category><category>Information is Power</category><category>Informed Improvisation</category><category>Innovation</category><category>Innovation Backlog</category><category>Integrity</category><category>Inter-Personal Debt List</category><category>Interactive Design</category><category>Internet Censorship</category><category>Interpersonal Communication</category><category>Isaac Newton</category><category>It's the engineers stupid</category><category>Iterative Development</category><category>JQuery</category><category>Jam Session</category><category>Jason Fried</category><category>Jeff Patton</category><category>Jerry Engel</category><category>Jez Humble</category><category>Jira</category><category>Joanie's Cafe</category><category>Lazy Man's Agile</category><category>Leader</category><category>Leader and Follower</category><category>Leadership Lessons from Dancing Guy</category><category>Legacy Code</category><category>Legacy of Failure</category><category>Less But Better</category><category>Linda Stone</category><category>Listening</category><category>Loyalty</category><category>Lyndsey Gray</category><category>MDP</category><category>MFP</category><category>MVVM</category><category>Made to Stick</category><category>Makers</category><category>Malcolm Gladwell</category><category>Management Consultant</category><category>Management is Dead</category><category>Management psychobabble</category><category>Managers</category><category>Marty Cagan</category><category>Maven</category><category>Measuring Quality</category><category>Measuring Value</category><category>Merge</category><category>Mervin Kelly</category><category>Microsoft Bob</category><category>Microsoft Groove</category><category>Mindset</category><category>Minnesota Brewing Company</category><category>Mobile Application</category><category>Mollie Marti</category><category>Multitasking</category><category>Mutual Interests</category><category>NSF</category><category>Naming Scrum Projects</category><category>Naming Sprints</category><category>Narrative Fallacy</category><category>Narratives</category><category>Nerf Guns</category><category>Netbook</category><category>Nomenclature</category><category>Non-dogmatic</category><category>Objectifying</category><category>Office Automation.</category><category>Open Source</category><category>Opinionated Software</category><category>Opportunities</category><category>Opposable Thumb</category><category>Optimal Foraging Theory</category><category>Organizational Change</category><category>Outsourcing</category><category>Ownership</category><category>Ownership Stake</category><category>PMO</category><category>Paradox</category><category>People-centric</category><category>Personas</category><category>Peter Senge</category><category>Plan B</category><category>Pleasurable</category><category>Pomodoro Technique</category><category>Practical Agility</category><category>Prism</category><category>Process over Pragmatism</category><category>Product Design</category><category>Product Failure</category><category>Product Life-Cycle</category><category>Product-focused</category><category>Productivity</category><category>Products Over Projects</category><category>Professional Persona</category><category>Project Charting</category><category>Project Managers</category><category>Project Names</category><category>Pull requests</category><category>Python</category><category>Python SDK</category><category>Quantity-Based Slapstick</category><category>Question Assumptions</category><category>R. Buckminster Fuller</category><category>RIA</category><category>Race Horse Analogy</category><category>Refactoring</category><category>Reflection</category><category>Reid Hoffman</category><category>Reinvestment</category><category>Reliable</category><category>Renewable Energy</category><category>Resharper</category><category>Respect the Tomato</category><category>Responsibility</category><category>Rethinking Backlog</category><category>Retrospective</category><category>Richard Hamming</category><category>Rigidity. Teamwork</category><category>Roles</category><category>SUCCES</category><category>SWOT</category><category>Sample Code</category><category>Sausage</category><category>Scaling Agile. Lean Startup</category><category>Scope of Work</category><category>ScreenCast</category><category>Scrum Pragmatist</category><category>Scrum Tips</category><category>Scrum dogmatist</category><category>ScrumMaster</category><category>Seinfeld</category><category>Self-examination</category><category>Self-organizing teams</category><category>Servant Leadership</category><category>ServiceHost</category><category>Shadow Beliefs</category><category>Shared Goals</category><category>Shared Repository</category><category>Sho Shin</category><category>Shut The Filler Down</category><category>Silicon Valley</category><category>Silo</category><category>Silverlight</category><category>Situational Utility</category><category>Situationally-dependent</category><category>Slack</category><category>Snake Oil</category><category>Social Conventions</category><category>Software Complexity</category><category>Software Development Community</category><category>Software Pyramid</category><category>Software Testing</category><category>Software Value</category><category>Sprint</category><category>Sprint Burndown</category><category>Stakeholder</category><category>Stand-Up Meeting</category><category>Standup</category><category>Standup as Status Update</category><category>Stanford</category><category>Stanford d.school</category><category>Story Board</category><category>Story Mapping</category><category>Stowe Boyd</category><category>Strength</category><category>Sustainability</category><category>Switch</category><category>Synthesizers and Generators</category><category>TDD</category><category>Taskboardy</category><category>Team Communication</category><category>Team Identity</category><category>Team Intelligence</category><category>Team Lead</category><category>Team-Reflection</category><category>Technical Debt List</category><category>Tectonic Shifts</category><category>Telstar 1</category><category>Test-First</category><category>Test-driven development</category><category>The Botany of Desire</category><category>The Chicken and The Pig</category><category>The Fifth Principle</category><category>The Flintstones</category><category>The Great Austrailian Internet Blackout</category><category>The Idea Factory</category><category>The Manifesto for Software Craftsmanship</category><category>The T-Shirt Test</category><category>Theatre of the Oppressed</category><category>Thin Slicing</category><category>Threats</category><category>Tim Elmore</category><category>Time Management</category><category>Tip O'Neill</category><category>Tipping Point</category><category>Titles</category><category>Toxic Organization</category><category>Toxic Vibe</category><category>Toyota</category><category>Transitioning to Agile</category><category>Tripod</category><category>Trunk</category><category>Trust</category><category>Turn-around</category><category>UCSD Pascal</category><category>UDD</category><category>UX-Driven-Development</category><category>Unbiased Information</category><category>Usable</category><category>Use Case</category><category>User Interviews</category><category>User Proxy</category><category>Value Proposition</category><category>Value Verification</category><category>Vanity Metrics</category><category>Verne Global</category><category>Version One</category><category>Visual Basic</category><category>Visual Basic 1.0</category><category>Visual Design</category><category>Visual Metaphor</category><category>Vivek Wadhwa</category><category>WCF</category><category>WD-40</category><category>Walter Isaacson</category><category>Ward Cunningham</category><category>Wave Etiquette</category><category>Wavetiquette</category><category>Weaknesses</category><category>Web Sockets</category><category>Wiki</category><category>Wind Energy</category><category>Windows 7</category><category>Workflow</category><category>Working Software</category><category>Workplace Collaboration</category><category>XMPP</category><category>YSOD</category><category>Yellow Screen of Death</category><category>Yin and Yang</category><category>You're Doing it Wrong</category><category>acceptance</category><category>automation</category><category>bottom-up change</category><category>brain-casting</category><category>cloud computing</category><category>collective intelligence</category><category>contracts</category><category>curling</category><category>customer value</category><category>de facto Leader</category><category>decision making</category><category>distributed</category><category>emergent design</category><category>evo-contants</category><category>evolutionary constants</category><category>expedience vs. quality</category><category>future communities</category><category>future organizations</category><category>growing software</category><category>iPad</category><category>iPhone</category><category>intuition</category><category>lasting ideas</category><category>metaphysics of quality</category><category>minimum desirable product</category><category>minimum feasible product</category><category>multiple host headers</category><category>operational metaphor</category><category>opportunity</category><category>paired programming</category><category>quality</category><category>search filtering</category><category>software is about people</category><category>systems integration</category><category>the engineering method</category><category>tomobako</category><category>truisms</category><category>xplanner</category><title>Bobtuse</title><description>Discoveries about software products, software development, and teamwork from a practitioner with a sense of humor.&#13;
</description><link>http://bobtuse.blogspot.com/</link><managingEditor>noreply@blogger.com (Bob MacNeal)</managingEditor><generator>Blogger</generator><openSearch:totalResults>154</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2201343077108877660.post-4399216791204859457</guid><pubDate>Tue, 28 Jul 2015 14:49:00 +0000</pubDate><atom:updated>2015-07-28T09:59:38.966-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Alan Cooper</category><category domain="http://www.blogger.com/atom/ns#">Brogrammer</category><category domain="http://www.blogger.com/atom/ns#">Culture</category><category domain="http://www.blogger.com/atom/ns#">Diversity</category><category domain="http://www.blogger.com/atom/ns#">Learning Team</category><category domain="http://www.blogger.com/atom/ns#">Productivity</category><category domain="http://www.blogger.com/atom/ns#">Silicon Valley</category><category domain="http://www.blogger.com/atom/ns#">Social Behavior</category><category domain="http://www.blogger.com/atom/ns#">Social Intelligence</category><category domain="http://www.blogger.com/atom/ns#">The Flintstones</category><title>Women on the Rise</title><description>&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://commons.wikimedia.org/wiki/Category:Diversity#/media/File:Diversity_baum.png" imageanchor="1" rel="nofollow" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;" target="_blank"&gt;&lt;img alt="" border="0" height="198" src="https://upload.wikimedia.org/wikipedia/commons/c/c5/Diversity_baum.png" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: right;"&gt;&lt;small&gt;illustration by Sascia Däumichen&lt;/small&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
The demand for women programmers is on the rise because the software industry realized it has a long-standing &lt;i&gt;brogrammer&lt;/i&gt; problem and remains economically stunted from a lack of gender and socio-economic diversity. 
&lt;br /&gt;
&lt;br /&gt;
After decades of observing teams, I recognize that braggadocious brogrammer behavior, lock-step certainty, and baseless hubris, diminishes the opportunity to foster a &lt;a href="http://www.bobtuse.com/2014/04/the-learning-team.html" rel="nofollow" target="_blank"&gt;learning team&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
In my experience,
&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;A diverse team raises the bar of social intelligence and civility.&lt;/i&gt;&lt;/blockquote&gt;
Contrary to popular notion, few people want to get pummeled by a sophomoric pack of&amp;nbsp;&lt;i&gt;Nerf Gun Nincompoops&lt;/i&gt; for &lt;a href="https://dzone.com/articles/breaking-build-not-crime" rel="nofollow" target="_blank"&gt;breaking the build&lt;/a&gt; or making a mistake.&lt;br /&gt;
&lt;br /&gt;
Software is no longer produced by pre-historic rock quarry workers like &lt;a href="https://en.wikipedia.org/wiki/Fred_Flintstone" rel="nofollow" target="_blank"&gt;Fred Flintstone&lt;/a&gt;.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;"People unfamiliar with the nuts &amp;amp; bolts of software development imagine it's an engineering process, but it's a profoundly human activity."&lt;/i&gt;&lt;br /&gt;
― &lt;a href="https://en.wikipedia.org/wiki/Alan_Cooper" rel="nofollow" target="_blank"&gt;Alan Cooper&lt;/a&gt;&lt;/blockquote&gt;
Diverse, learning teams are much more fun, and by extension, more productive than mono-cultural, humiliation-centric teams.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;REFERENCES&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dzone.com/articles/breaking-build-not-crime" rel="nofollow" target="_blank"&gt;Breaking the Build is Not a Crime&lt;/a&gt;, by Tomasz Nurkiewicz, 5 February 2013;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.npr.org/sections/alltechconsidered/2015/07/26/426364306/more-than-a-pipeline-problem-in-search-of-diversity-in-silicon-valley" rel="nofollow" target="_blank"&gt;More Than A Pipeline Problem: In Search Of Diversity In Silicon Valley&lt;/a&gt; by &lt;a href="http://www.npr.org/people/128649543/rachel-martin" rel="nofollow" target="_blank"&gt;Rachel Martin&lt;/a&gt;, NPR, 26 July 2015;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.bobtuse.com/2012/05/say-no-to-brogrammers.html" rel="nofollow" target="_blank"&gt;Say No to Brogrammers&lt;/a&gt;, Bobtuse Bobservations, 26 May 2012;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://en.wikipedia.org/wiki/Social_intelligence" rel="nofollow" target="_blank"&gt;Social Intelligence&lt;/a&gt;, Wikipedia;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.bobtuse.com/2014/04/the-learning-team.html" rel="nofollow" target="_blank"&gt;The Learning Team&lt;/a&gt;, Bobtuse Bobservations, 27 April 2014;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;div style="clear: both; height: 30px;"&gt;
&lt;/div&gt;
</description><link>http://bobtuse.blogspot.com/2015/07/women-on-rise.html</link><author>noreply@blogger.com (Bob MacNeal)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2201343077108877660.post-3581540880960636310</guid><pubDate>Tue, 31 Mar 2015 14:01:00 +0000</pubDate><atom:updated>2015-03-31T09:58:42.664-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Bootstrap</category><category domain="http://www.blogger.com/atom/ns#">CSS</category><category domain="http://www.blogger.com/atom/ns#">Glyphicon</category><category domain="http://www.blogger.com/atom/ns#">HTML5</category><category domain="http://www.blogger.com/atom/ns#">Software Prototyping</category><title>Why I Dig Bootstrap</title><description>&lt;a href="http://getbootstrap.com/getting-started/" rel="nofollow" target="_blank"&gt;Bootstrap&lt;/a&gt; is one of the most significant web development improvements in recent years because it standardizes on class names for common css (&lt;a href="http://en.wikipedia.org/wiki/Cascading_Style_Sheets" rel="nofollow" target="_blank"&gt;cascading style sheets&lt;/a&gt;) for html layout and html page elements (buttons, select options, etc.).&lt;br /&gt;
&lt;br /&gt;
Bootstrap enables you to develop&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;display-size-independent web &amp;amp; mobile browser interfaces.&amp;nbsp;&lt;/i&gt;&lt;/blockquote&gt;
By following simple conventions, your layout will respond to display-sizes without heavy lifting.&lt;br /&gt;
&lt;br /&gt;
Bootstrap's &lt;a href="http://en.wikipedia.org/wiki/Open_source" rel="nofollow" target="_blank"&gt;open source&lt;/a&gt; community is actively pushing updates to this GitHub &lt;a href="https://github.com/twbs/bootstrap" rel="nofollow" target="_blank"&gt;repo&lt;/a&gt;. It's a vibrant, continuously-improving styling and layout option you'd need a compelling reason to ignore.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;Why burn up cycles hand-rolling spaghetti-fied css?&lt;/i&gt;&lt;/blockquote&gt;
I've found Bootstrap helps a green-field development team leap-frog much of the front-end set up &lt;i&gt;jicky-jack&lt;/i&gt;. Bootstrap conventions also help with UI unit-testing and functional testing because the html elements have standard class names. When it comes time to grab a handle to an element to exercise an event and assert against the result, you know which class names to reference.&lt;br /&gt;
&lt;br /&gt;
Bootstrap has widespread adoption and continues to grow in &lt;a href="http://trends.builtwith.com/docinfo/Twitter-Bootstrap" rel="nofollow" target="_blank"&gt;usage&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://trends.builtwith.com/docinfo/Twitter-Bootstrap" imageanchor="1" rel="nofollow" style="margin-left: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9Vs3-v6VDVO1Crr7XG7-SfLl91qVdK7J5zcBhNbbMHkMEQU-NxHep6PkC85HrpKuONgTWqbJdnkCUPIu0zX7ORGfDbNisxIuY1E3pBnBBipN4xIPg1RuzXx8A2uPt0f7ogcHjAKBpI0Z0/s1600/Screen+Shot+2015-03-31+at+8.59.58+AM.png" width="500" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Every developer knows it (uh...or at least the people I work with), so it's easy to plug in a new person with the confidence she won't be baffled by Bootstrap class names, layout, and conventions.&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;Bootstrap layout uses html div tags for rows and columns. All you have to remember is that &lt;b&gt;12 is the magic number&lt;/b&gt;.
&lt;/i&gt;&lt;/blockquote&gt;
Bootstrap enables heads-down developers to do rapid &lt;a href="http://en.wikipedia.org/wiki/Software_prototyping" rel="nofollow" target="_blank"&gt;software prototyping&lt;/a&gt; for a startup product without the interface looking like shit. Your product simply looks like the zillion other Bootstrap applications → clean and consistent.&lt;br /&gt;
&lt;br /&gt;
Bootstrap supports a collection of &lt;i&gt;glyphicons&lt;/i&gt; that let's you select icons for common functions like edits, deletes, and event notifications. I use this &lt;a href="http://glyphicons.bootstrapcheatsheets.com/" rel="nofollow" target="_blank"&gt;cheatsheet&lt;/a&gt; to find the most communicative icon for the function I'm implementing.&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://glyphicons.bootstrapcheatsheets.com/" imageanchor="1" rel="nofollow" style="margin-left: auto; margin-right: auto;" target="_blank"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidYVaTHi0aLW_VSsOXsC-fWzlkk6Fm3bu9FfvZzIrtJNBf8hwXQ1RKda9JrVVeJMBDaQDj0Ap7w9GhFb5m2j5dEVacvkwQ5tNRoHSJ2AvgV9s3NmLkiW9RyQNmGDfWjfUMMhiKoPvFPi5e/s1600/Screen+Shot+2015-03-31+at+8.46.04+AM.png" width="500" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Complete &lt;a href="http://glyphicons.bootstrapcheatsheets.com/" rel="nofollow" target="_blank"&gt;glyphicons collection here&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
Over time if your product gains traction in the market, you can hire a designer to improve the look of your product without changing css class names.&lt;br /&gt;
&lt;br /&gt;
&lt;div style="clear: both; height: 30px;"&gt;
&lt;/div&gt;
</description><link>http://bobtuse.blogspot.com/2015/03/why-i-dig-bootstrap.html</link><author>noreply@blogger.com (Bob MacNeal)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9Vs3-v6VDVO1Crr7XG7-SfLl91qVdK7J5zcBhNbbMHkMEQU-NxHep6PkC85HrpKuONgTWqbJdnkCUPIu0zX7ORGfDbNisxIuY1E3pBnBBipN4xIPg1RuzXx8A2uPt0f7ogcHjAKBpI0Z0/s72-c/Screen+Shot+2015-03-31+at+8.59.58+AM.png" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2201343077108877660.post-3001846451477871912</guid><pubDate>Sat, 21 Mar 2015 15:31:00 +0000</pubDate><atom:updated>2015-03-21T10:55:45.467-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">CodeShip</category><category domain="http://www.blogger.com/atom/ns#">Collaborative Team</category><category domain="http://www.blogger.com/atom/ns#">Continuous delivery</category><category domain="http://www.blogger.com/atom/ns#">Continuous integration</category><category domain="http://www.blogger.com/atom/ns#">Distributed Source Control</category><category domain="http://www.blogger.com/atom/ns#">GitHub</category><category domain="http://www.blogger.com/atom/ns#">Software Testing</category><category domain="http://www.blogger.com/atom/ns#">Unit Test</category><category domain="http://www.blogger.com/atom/ns#">Working Software</category><title>CI Saves My Bacon</title><description>&lt;a href="http://upload.wikimedia.org/wikipedia/commons/thumb/d/d3/NCI_bacon.jpg/1920px-NCI_bacon.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://upload.wikimedia.org/wikipedia/commons/thumb/d/d3/NCI_bacon.jpg/1920px-NCI_bacon.jpg" height="133" width="200" /&gt;&lt;/a&gt;One production pattern I've found indispensable is Continuous Integration. CI saves my bacon.&lt;br /&gt;
&lt;br /&gt;
Recently I've found &lt;i&gt;continuous delivery&lt;/i&gt; used on top of CI is a production pattern that helps me and my teammates produce &lt;i&gt;working software.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Continuous Integration&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Continuous integration or CI is&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;The practice of running tests on a non-developer server every time a developer pushes potential change sets to a shared source code repository
&lt;/i&gt;&lt;/blockquote&gt;
&lt;a href="http://blog.codeship.com/author/florianmotlik/" rel="nofollow" target="_blank"&gt;Florian Motlik&lt;/a&gt;, CTO of the CI/CD cloud service&amp;nbsp;&lt;a href="https://codeship.com/" rel="nofollow" target="_blank"&gt;CodeShip&lt;/a&gt; wrote in Quora:&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;"This has the tremendous advantage of always knowing if all tests work and getting fast feedback. The fast feedback is important so you always know right after you broke the build (introduced changes that made either the compile/build cycle or the tests fail) what you did that failed and how to revert it."&lt;/i&gt;&lt;/blockquote&gt;
Pushing code to a remote repository which in turn awakens the CI server to grab your new code and run your test suite, enables you to continue working without waiting for the test suite to complete on your local machine. When tests are run every time a developer pushes code, red flags might pop up, but tend to get fixed in short order. That feedback is reassuring.&lt;br /&gt;
&lt;br /&gt;
One observable behavioral pattern is that many developers, including me, fail to consistently run the test-suite before pushing code. This is particularly true as the code base grows larger, the corresponding test suite grows proportionally larger, and the act of running the test suite exceeds a 5 minute threshold. I've worked gigs where running backend unit tests, front-end UI unit tests, and headless browser integration tests, took over 30 minutes to complete.&lt;br /&gt;
&lt;br /&gt;
Yesterday I made a Rails schema migration to change a column name and to subsequently make it non-nullable. I fixed a controller test because I knew the schema update would have caused it to fail. I generally tend to make frequent commits following small changes. I committed and pushed the new code to our &lt;a href="https://github.com/" rel="nofollow" target="_blank"&gt;GitHub&lt;/a&gt; repository and continued working on the subsequent non-nullable migration. A few minutes later, the CI server reported back red-colored&amp;nbsp;&lt;i&gt;cackage&lt;/i&gt; (see below).&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_4ErA1EZgAd_TkHwYc9i8KYhPPPalRZV5nRgutOFf7RoBM9mE3u5q-MbPbVN-n5R4T8tJpgXdAlHGLSN_PYfwRpdqiT2WipGXASPec_v7JrGYPi8EPwTi9uURFnTq59TS2Y3fbq0VwDoY/s1600/Screen+Shot+2015-03-21+at+9.11.19+AM.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_4ErA1EZgAd_TkHwYc9i8KYhPPPalRZV5nRgutOFf7RoBM9mE3u5q-MbPbVN-n5R4T8tJpgXdAlHGLSN_PYfwRpdqiT2WipGXASPec_v7JrGYPi8EPwTi9uURFnTq59TS2Y3fbq0VwDoY/s1600/Screen+Shot+2015-03-21+at+9.11.19+AM.png" width="500" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;CodeShip's CI server indicating bobmacneal pushed code with broken tests&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
Drilling into the failure notification, I was given a handle to four other tests my schema change broke. I fixed the failing tests, committed, and re-pushed.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Test-driven developers&lt;/i&gt;, and their purist brethren&lt;i&gt; test-first developers&lt;/i&gt;, would protest that if I was &lt;i&gt;doing things right&lt;/i&gt;, I wouldn't be pushing code with failing tests. They're right. Sometimes I cut corners. Like many developers, I'm frequently not&amp;nbsp;&lt;i&gt;the perfect craftsman&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
Knowing I'm flawed, I like having a safety net so I can continue the uninterrupted flow of my task knowing the CI server has my back.&lt;br /&gt;
&lt;br /&gt;
I prefer the convenience of hosted continuous integration over standalone continuous integration (see a&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Comparison_of_continuous_integration_software" rel="nofollow" target="_blank"&gt;comparison&lt;/a&gt;&amp;nbsp;of continuous integration software).&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;Continuous Deployment&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Built on top of continuous integration is CD (continuous delivery or continuous deployment). Continuous delivery is&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;The practice of releasing the latest version of your code to a production, or production-like environment, every time new code is merged to a designated branch after a successful run through the CI gauntlet.&lt;/i&gt;&lt;/blockquote&gt;
Once configured, a cloud-based continuous delivery service makes deployment to any environment frictionless. Continuous delivery supports the &lt;a href="http://agilemanifesto.org/" rel="nofollow" target="_blank"&gt;agile principle&lt;/a&gt; of producing&lt;i&gt; working software&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
I like&amp;nbsp;&lt;a href="https://codeship.com/" rel="nofollow" target="_blank"&gt;CodeShip&lt;/a&gt;. CodeShip&amp;nbsp;is a well-executed, visually attractive, easy-to-configure, cloud-hosted service that provides seamless continuous integration and continuous delivery.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;REFERENCES&lt;/b&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Comparison_of_continuous_integration_software" rel="nofollow" target="_blank"&gt;Comparison of continuous integration software&lt;/a&gt;, Wikipedia.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://flomotlik.me/tools-i-like" rel="nofollow" target="_blank"&gt;Tools and Services I Like&lt;/a&gt;, Florian Motlik, 29 November 2014.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="clear: both; height: 30px;"&gt;
&lt;/div&gt;
</description><link>http://bobtuse.blogspot.com/2015/03/ci-saves-my-bacon.html</link><author>noreply@blogger.com (Bob MacNeal)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_4ErA1EZgAd_TkHwYc9i8KYhPPPalRZV5nRgutOFf7RoBM9mE3u5q-MbPbVN-n5R4T8tJpgXdAlHGLSN_PYfwRpdqiT2WipGXASPec_v7JrGYPi8EPwTi9uURFnTq59TS2Y3fbq0VwDoY/s72-c/Screen+Shot+2015-03-21+at+9.11.19+AM.png" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2201343077108877660.post-5315187263016001292</guid><pubDate>Fri, 06 Mar 2015 18:47:00 +0000</pubDate><atom:updated>2015-03-06T12:50:40.184-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Business Model Canvas</category><category domain="http://www.blogger.com/atom/ns#">Continuous delivery</category><category domain="http://www.blogger.com/atom/ns#">Continuous integration</category><category domain="http://www.blogger.com/atom/ns#">Discovery and Delivery</category><category domain="http://www.blogger.com/atom/ns#">Founder</category><category domain="http://www.blogger.com/atom/ns#">minimum viable product</category><category domain="http://www.blogger.com/atom/ns#">software product development</category><category domain="http://www.blogger.com/atom/ns#">Software Prototyping</category><category domain="http://www.blogger.com/atom/ns#">Startup</category><title>Founders as Programmers?</title><description>A founder asked&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUMqn52Sr52XSNPxHSwzclZ4wa7frg-Gku6seIXP_vgA2sk7m2e08ea_kHFCgpq8cH2AvndVzI1z-rU96E1QWnw-z1roypG46yC9R6Svknth08JVuOMx-lKSTjbXpYS5NRoAPxjAqxzfD9/s1600/photo+(5).JPG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUMqn52Sr52XSNPxHSwzclZ4wa7frg-Gku6seIXP_vgA2sk7m2e08ea_kHFCgpq8cH2AvndVzI1z-rU96E1QWnw-z1roypG46yC9R6Svknth08JVuOMx-lKSTjbXpYS5NRoAPxjAqxzfD9/s1600/photo+(5).JPG" height="200" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;&lt;a href="https://www.quora.com/While-outsourcing-my-startup-should-I-learn-programming-or-just-focus-on-customers-and-scaling" rel="nofollow" target="_blank"&gt;While outsourcing my startup, should I learn programming or just focus on customers and scaling?&lt;/a&gt;&lt;/i&gt;&lt;/blockquote&gt;
Founders don't need to learn programming.&lt;br /&gt;
&lt;br /&gt;
Outsourcing is a good call, but never if the intent is to outsource on the cheap.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;Don't skimp on developers if your product is software.&lt;/i&gt;&lt;/blockquote&gt;
Founders need to find the most talented software producers money can buy. A software producer is steeped in:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Minimum_Viable_Product" rel="nofollow" target="_blank"&gt;Minimum Viable Product&lt;/a&gt;;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Interaction_design" rel="nofollow" target="_blank"&gt;Interaction Design&lt;/a&gt;;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Continuous_integration" rel="nofollow" target="_blank"&gt;Continuous Integration&lt;/a&gt;, and&lt;/li&gt;
&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Continuous_delivery" rel="nofollow" target="_blank"&gt;Continuous Delivery&lt;/a&gt;;&lt;/li&gt;
&lt;/ul&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjo2IZKPnDq9yZr69oquJE_aNMUb4xTYo3F2dzuKyoflCkaNSmh1bHN101X6fHf-9f4OWxIt-B5wnVcDCysZakMNCoUzaXIzuMzqdi8240vLU_jxXR5rsfaItXnxGyfQmUwbdPZEhuG8cmz/s1600/photo+(4).JPG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjo2IZKPnDq9yZr69oquJE_aNMUb4xTYo3F2dzuKyoflCkaNSmh1bHN101X6fHf-9f4OWxIt-B5wnVcDCysZakMNCoUzaXIzuMzqdi8240vLU_jxXR5rsfaItXnxGyfQmUwbdPZEhuG8cmz/s1600/photo+(4).JPG" height="200" width="150" /&gt;&lt;/a&gt;Software developers need cash on the barrelhead. Never insult them with equity propositions. If you do, they'll sniff you out as an amateur.&lt;br /&gt;
&lt;br /&gt;
Founders are on the hook to provide the developers with a clear picture of what the product should be at any given time as the production team iterates to a sustainable business model.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Scaling?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
You wish. First things first.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;Focus on customer discovery.&lt;/i&gt;&lt;/blockquote&gt;
Prepare for the realization that your original idea sucked.&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Let the discovery process guide and inform the search for a viable model;&lt;/li&gt;
&lt;li&gt;Don't rely on notions and opinions about customers;&lt;/li&gt;
&lt;li&gt;Humbly and diligently acquire the hard facts about customers and the market.&lt;/li&gt;
&lt;/ul&gt;
Founders are detectives. They pursue intel on customer pains &amp;amp; gains. Then they fit an offering to address them. The &lt;a href="http://en.wikipedia.org/wiki/Business_Model_Canvas" rel="nofollow" target="_blank"&gt;Business Model Canvas&lt;/a&gt; helps organize the detective work.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;Pursue reality over wishful thinking.&lt;/i&gt;&lt;/blockquote&gt;
A founder needs to attract the best software producers, then trust them to deliver the product vision.&lt;br /&gt;
&lt;br /&gt;
The more relentless founders are in pursuing actionable, the more the production team will trust the founder's vision of the offering.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
REFERENCES&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Business_Model_Canvas" rel="nofollow" target="_blank"&gt;Business Model Canvas&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.stevenblank.com/startup_index_qty.html" rel="nofollow" target="_blank"&gt;The Startup Owner's Manual&lt;/a&gt; by Steve Blank and Bob Dorf.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="clear: both; height: 30px;"&gt;
&lt;/div&gt;
</description><link>http://bobtuse.blogspot.com/2015/03/founders-as-programmers.html</link><author>noreply@blogger.com (Bob MacNeal)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUMqn52Sr52XSNPxHSwzclZ4wa7frg-Gku6seIXP_vgA2sk7m2e08ea_kHFCgpq8cH2AvndVzI1z-rU96E1QWnw-z1roypG46yC9R6Svknth08JVuOMx-lKSTjbXpYS5NRoAPxjAqxzfD9/s72-c/photo+(5).JPG" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2201343077108877660.post-2951393401829759551</guid><pubDate>Fri, 27 Feb 2015 02:07:00 +0000</pubDate><atom:updated>2015-02-27T08:52:48.937-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">automation</category><category domain="http://www.blogger.com/atom/ns#">CIO</category><category domain="http://www.blogger.com/atom/ns#">Continuous delivery</category><category domain="http://www.blogger.com/atom/ns#">Continuous integration</category><category domain="http://www.blogger.com/atom/ns#">CTO</category><category domain="http://www.blogger.com/atom/ns#">DevOps</category><category domain="http://www.blogger.com/atom/ns#">DVCS</category><category domain="http://www.blogger.com/atom/ns#">IxD</category><category domain="http://www.blogger.com/atom/ns#">Learning Organization</category><category domain="http://www.blogger.com/atom/ns#">Outsourcing</category><category domain="http://www.blogger.com/atom/ns#">Pair Programming</category><category domain="http://www.blogger.com/atom/ns#">Pull requests</category><category domain="http://www.blogger.com/atom/ns#">Soft Skills</category><category domain="http://www.blogger.com/atom/ns#">Test-driven development</category><title>Ten Outsourcing Considerations</title><description>&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://upload.wikimedia.org/wikipedia/commons/5/59/Programmer_writing_code_with_Unit_Tests.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://upload.wikimedia.org/wikipedia/commons/5/59/Programmer_writing_code_with_Unit_Tests.jpg" height="133" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Software developer testing with&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/JUnit" rel="nofollow" target="_blank"&gt;JUnit&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
Ten outsourcing considerations when choosing a software development team:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Are they &lt;b&gt;local&lt;/b&gt;?&lt;/li&gt;
&lt;li&gt;Are they &lt;b&gt;recommended&lt;/b&gt; by someone you trust?&lt;/li&gt;
&lt;li&gt;Are they demonstrably adept in &lt;a href="http://en.wikipedia.org/wiki/DevOps" rel="nofollow" target="_blank"&gt;&lt;b&gt;DevOps&lt;/b&gt;&lt;/a&gt; (&lt;a href="http://en.wikipedia.org/wiki/Continuous_integration" rel="nofollow" target="_blank"&gt;Continuous integration&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Continuous_delivery" rel="nofollow" target="_blank"&gt;Continuous delivery&lt;/a&gt;, Product stewardship&lt;small&gt;*&lt;/small&gt;)?&lt;/li&gt;
&lt;li&gt;Are they tech-stack &lt;b&gt;agnostic&lt;/b&gt;?&lt;/li&gt;
&lt;li&gt;Do they have &lt;b&gt;collaboration&lt;/b&gt; chops (&lt;a href="http://en.wikipedia.org/wiki/Pair_programming" rel="nofollow" target="_blank"&gt;Pair programming&lt;/a&gt;, &lt;a href="http://www.bobtuse.com/2013/08/pull-requests-for-teams.html" rel="nofollow" target="_blank"&gt;Pull requests&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Distributed_revision_control" rel="nofollow" target="_blank"&gt;Distributed version control system&lt;/a&gt;)?&lt;/li&gt;
&lt;li&gt;Are they hip to &lt;b&gt;quality&lt;/b&gt; considerations (&lt;a href="http://en.wikipedia.org/wiki/Interaction_design" rel="nofollow" target="_blank"&gt;Interaction design&lt;/a&gt;,&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Test-driven_development" rel="nofollow" target="_blank"&gt;Test-driven development&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Test_automation" rel="nofollow" target="_blank"&gt;Test automation&lt;/a&gt;)?&lt;/li&gt;
&lt;li&gt;Are they a &lt;a href="http://www.bobtuse.com/2014/04/the-learning-team.html" rel="nofollow" target="_blank"&gt;&lt;b&gt;learning&lt;/b&gt; &lt;b&gt;organization&lt;/b&gt;&lt;/a&gt;?&lt;/li&gt;
&lt;li&gt;Do they have &lt;a href="http://www.bobtuse.com/2014/12/soft-skills.html" rel="nofollow" target="_blank"&gt;&lt;b&gt;soft&lt;/b&gt; &lt;b&gt;skills&lt;/b&gt;&lt;/a&gt;?&lt;/li&gt;
&lt;li&gt;Are they &lt;a href="http://www.bobtuse.com/2014/10/raising-products.html" rel="nofollow" target="_blank"&gt;&lt;b&gt;product&lt;/b&gt;-&lt;b&gt;centric&lt;/b&gt;&lt;/a&gt; rather than &lt;i&gt;project&lt;/i&gt;-centric?&lt;/li&gt;
&lt;li&gt;Do they feature a &lt;b&gt;high&lt;/b&gt; &lt;b&gt;producer&lt;/b&gt; (&lt;a href="http://www.bobtuse.com/2013/12/team-leads-and-opposable-thumb.html" rel="nofollow" target="_blank"&gt;team lead developer&lt;/a&gt;, developers) to &lt;b&gt;non-producer&lt;/b&gt; &lt;b&gt;ratio&lt;/b&gt; (i.e., architects, business analysts, scrum masters, account managers, reporting jockeys)?&lt;/li&gt;
&lt;/ol&gt;
&lt;small&gt;
&lt;sup&gt;*&lt;/sup&gt;&lt;i&gt;Product stewardship&lt;/i&gt; is an emerging topic for a future post. &lt;a href="http://feeds.feedburner.com/bobtuse" rel="alternate" title="Subscribe to my feed" type="application/rss+xml"&gt;Subscribe&lt;/a&gt; or check back.&lt;/small&gt;
&lt;br /&gt;
&lt;div style="clear: both; height: 30px;"&gt;
&lt;/div&gt;
</description><link>http://bobtuse.blogspot.com/2015/02/ten-outsourcing-considerations.html</link><author>noreply@blogger.com (Bob MacNeal)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2201343077108877660.post-6532992983416483433</guid><pubDate>Fri, 06 Feb 2015 11:00:00 +0000</pubDate><atom:updated>2015-02-26T20:21:18.805-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Agile</category><category domain="http://www.blogger.com/atom/ns#">C-Level</category><category domain="http://www.blogger.com/atom/ns#">Chief Agile Officer</category><category domain="http://www.blogger.com/atom/ns#">CIO</category><category domain="http://www.blogger.com/atom/ns#">CTO</category><category domain="http://www.blogger.com/atom/ns#">Executives</category><title>Chief Agile Officer?</title><description>Does anyone need a Chief Agile Officer? Not is this galaxy.&lt;br /&gt;
&lt;br /&gt;
Imagine an old-school and a new-school narrative:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1. Old-School&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5y-cEGG22VMFuI_Jr3e842suuHM50gZrapJZ3yo9oSOHZ_BtNO7CzUUcb7KljDFb_Qi18T1YiHaAeR-fhABQddfhhAkT_UpLHwnhmaaJiX7xIpgqDQjdwSCm7XNLn5pRizgzlSFlBxbHh/s1600/Screen+Shot+2015-02-06+at+4.02.15+PM.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5y-cEGG22VMFuI_Jr3e842suuHM50gZrapJZ3yo9oSOHZ_BtNO7CzUUcb7KljDFb_Qi18T1YiHaAeR-fhABQddfhhAkT_UpLHwnhmaaJiX7xIpgqDQjdwSCm7XNLn5pRizgzlSFlBxbHh/s1600/Screen+Shot+2015-02-06+at+4.02.15+PM.png" width="120" /&gt;&lt;/a&gt;Imagine a storied company called &lt;i&gt;Hammer &amp;amp; Sons&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
Some 20 years after amazon.com revolutionizes web commerce, Hammer's CEO Ken Cretaceous realizes he's got no direct or indirect online sales channel. A fat cat buddy who shares a third of Ken's &lt;a href="https://www.netjets.com/fleet/Hawker-900XP800XP/" rel="nofollow" target="_blank"&gt;Hawker&lt;/a&gt;, hands him a copy of some Gartner drivel called &lt;i&gt;Doing the Agile&lt;/i&gt; as they cross paths on the tarmac.&lt;br /&gt;
&lt;br /&gt;
Before cruising altitude, Ken swallows &lt;i&gt;doing the agile&lt;/i&gt; as the antidote for his staggering lack of foresight. As a profoundly unimaginative, but not atypical reactionary executive, Ken Cretaceous thinks &lt;i&gt;doing the agile&lt;/i&gt; is a shortcut to Hammer's online sales revenue.&lt;br /&gt;
&lt;br /&gt;
Suppose Ken hires you to coach his people on &lt;i&gt;doing the agile&lt;/i&gt;. You're jazzed. Ken greets you with an enthusiastic back slap. Gracious to your benefactor, you don't correct Mr. Cretaceous when he pronounces agile as agīle with the long &lt;i&gt;i&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
You're a popular speaker at conferences. You're a talented agile coach. Over a handful of workshop sessions, you post some modest gains at Hammer despite marginal developer infrastructure and dubious developer talent.&lt;br /&gt;
&lt;br /&gt;
Before you can get to your &lt;i&gt;Kickstarting Continuous Integration &lt;/i&gt;session&lt;i&gt;,&lt;/i&gt;&amp;nbsp;Ken&amp;nbsp;cuts you loose because he wants to save some &lt;i&gt;doing the agile&lt;/i&gt; money to buy an enterprise agile tracking tool. He thanks you for "turning the organization upside down" even though he no closer to peddling hand-forged specialty hammers online than when Silas B. Cretaceous opened the first Hammer &amp;amp; Sons plant in 1899.&lt;br /&gt;
&lt;br /&gt;
The following Monday, Hammer &amp;amp; Sons reverts to cretaceous period behaviors. Hammer &amp;amp; Sons is a manufacturing company, not a software company.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;When does more of what you were doing make sense for this company?&lt;/i&gt;&lt;/blockquote&gt;
Imagine another Hammer scenario where Ken Cretaceous hires you as a full-time Chief Agile Officer. Your business card reads Chief Agile Officer, Hammer &amp;amp; Sons. In a month, you hate yourself. You hate yourself because of:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;the massively un-processable cognitive dissonance,&lt;/li&gt;
&lt;li&gt;the slovenly business patterns you couldn't reset in two lifetimes, and&lt;/li&gt;
&lt;li&gt;the breathtaking malaise of your fellow employees.&lt;/li&gt;
&lt;/ul&gt;
You force a smile at Hammer's &lt;i&gt;Free-Pizza-Friday&lt;/i&gt; despite your maxim that workplace pizza is &lt;i&gt;always a condescending gesture&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
Worse yet, you pose a threat to Hammer's CIO because like CIOs in most non-software organizations, she conflates IT infrastructure with software product development. You and she are at cross-purposes &lt;i&gt;budget-wise&lt;/i&gt; and &lt;i&gt;mission-wise&lt;/i&gt;. Your job is to pull rabbits from a hat. Her job is to make sure someone remembered to gas up the back-up power generator.&lt;br /&gt;
&lt;a href="http://upload.wikimedia.org/wikipedia/commons/b/ba/Incandescent_bulb_lit.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://upload.wikimedia.org/wikipedia/commons/b/ba/Incandescent_bulb_lit.jpg" width="120" /&gt;&lt;/a&gt;&lt;br /&gt;
You realize that Ken Cretaceous is an incandescent bulb ― a dimly lit bulb.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;Many Chief Executives are still trying to extract the last pennies from the industrial revolution.&lt;/i&gt;&lt;/blockquote&gt;
There is no dosage of &lt;i&gt;doing the agīle&lt;/i&gt; that will fix Hammer &amp;amp; Son's non-renewable fossils!&lt;br /&gt;
&lt;br /&gt;
Finally, whatever non-calcified developers you have on your team resent having you as yet another &lt;i&gt;non-producing overlord&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
The thing is, one could near-shore Hammer's online sales to contract developers who could &lt;a href="http://www.shopify.com/" rel="nofollow" target="_blank"&gt;Shopify&lt;/a&gt;, &lt;a href="http://getbootstrap.com/" rel="nofollow" target="_blank"&gt;Bootstrap&lt;/a&gt;-ify, &lt;a href="https://github.com/" rel="nofollow" target="_blank"&gt;GitHub&lt;/a&gt;-ify, and &lt;a href="https://codeship.com/" rel="nofollow" target="_blank"&gt;CodeShip&lt;/a&gt;-ify it it in 3 months for roughly the Chief Agile Officer's salary.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;Agile is fine when used as guiding principles by talented developers who grok its essence. But in the hands of C-suite nincompoops, or a ponderous PMO, agile becomes toxic.&lt;/i&gt;&lt;/blockquote&gt;
&lt;b&gt;2. New-School&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
For the new-school example, imagine you are bootstrapping a software product. Your most essential people are developers who are proven at producing software. Without proven producers, you're vapor. You're wearing many hats, but you gleefully recall Facebook bought a photo sharing app for $1 billion 18 months after launch.&lt;br /&gt;
&lt;br /&gt;
Now imagine your product is attracting and retaining a sizable revenue producing community. This product is your baby! You bootstrapped it on creativity and moxie with the best developers you could find. You want to hang on as long as you can. The question is:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;Could you ever imagine, in your wildest knock-it-out-of-the-park conception of success, hiring a Chief Agile Officer?&lt;/i&gt;&lt;/blockquote&gt;
No. A willingness to learn ― the most succinct definition of agile ― is already steeped in startup culture.&lt;br /&gt;
&lt;br /&gt;
One can imagine a distant galaxy where a Chief Agile Officer makes sense, but not in the Milky Way.&lt;br /&gt;
&lt;div style="clear: both; height: 30px;"&gt;
&lt;/div&gt;
</description><link>http://bobtuse.blogspot.com/2015/02/chief-agile-officer.html</link><author>noreply@blogger.com (Bob MacNeal)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5y-cEGG22VMFuI_Jr3e842suuHM50gZrapJZ3yo9oSOHZ_BtNO7CzUUcb7KljDFb_Qi18T1YiHaAeR-fhABQddfhhAkT_UpLHwnhmaaJiX7xIpgqDQjdwSCm7XNLn5pRizgzlSFlBxbHh/s72-c/Screen+Shot+2015-02-06+at+4.02.15+PM.png" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2201343077108877660.post-4813088250681244552</guid><pubDate>Thu, 18 Dec 2014 14:39:00 +0000</pubDate><atom:updated>2014-12-18T09:17:15.641-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Agile</category><category domain="http://www.blogger.com/atom/ns#">Beginner's Mind</category><category domain="http://www.blogger.com/atom/ns#">Epictetus</category><category domain="http://www.blogger.com/atom/ns#">Ernest Hemingway</category><category domain="http://www.blogger.com/atom/ns#">Evaluative Thinking</category><category domain="http://www.blogger.com/atom/ns#">Generative Thinking</category><category domain="http://www.blogger.com/atom/ns#">Interpersonal Communication</category><category domain="http://www.blogger.com/atom/ns#">Listening</category><category domain="http://www.blogger.com/atom/ns#">Mindset</category><category domain="http://www.blogger.com/atom/ns#">PMO</category><category domain="http://www.blogger.com/atom/ns#">Soft Skills</category><title>Soft Skills</title><description>&lt;a href="http://upload.wikimedia.org/wikipedia/commons/3/38/Emoji_u1f64b.svg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://upload.wikimedia.org/wikipedia/commons/3/38/Emoji_u1f64b.svg" /&gt;&lt;/a&gt;Making software is a profoundly human activity. Successfully produced software is made:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;by teams.&lt;/li&gt;
&lt;li&gt;for people to use.&lt;/li&gt;
&lt;/ul&gt;
Interpersonal communication and mindset are increasingly important for developers.&lt;br /&gt;
&lt;br /&gt;
An overlooked lesson from the &lt;a href="http://agilemanifesto.org/" rel="nofollow" target="_blank"&gt;Agile&lt;/a&gt; movement is:&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;Producing software products doesn't need or require projects or managers. Successfully produced software is laser-focused on People, Products, and Teams.&lt;/i&gt;
&lt;/blockquote&gt;
Another overlooked lesson is the growing demand for a mental shift. Successfully producing teams have adopted:&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;A state-of-mind over a set of &lt;a href="http://en.wikipedia.org/wiki/Project_management_office" rel="nofollow" target="_blank"&gt;PMO&lt;/a&gt; rules.&lt;/i&gt;&lt;/blockquote&gt;
Producing software is a &lt;i&gt;creative act&lt;/i&gt; more than a &lt;i&gt;prescriptive act&lt;/i&gt;. Often developers must discover the right balance between &lt;i&gt;generative thinking&lt;/i&gt; and &lt;i&gt;evaluative thinking&lt;/i&gt;:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;What &lt;i&gt;could&lt;/i&gt; the product do? and&lt;/li&gt;
&lt;li&gt;What &lt;i&gt;should&lt;/i&gt; the product do?&lt;/li&gt;
&lt;/ul&gt;
We have learned that good things happen when we make a pact to:
&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;Discover &amp;amp; adapt, rather than robotically design &amp;amp; implement.&lt;/i&gt;&lt;/blockquote&gt;
Humility trumps ego. Make a practice of approaching your teammates and products with &lt;a href="http://en.wikipedia.org/wiki/Shoshin" rel="nofollow" target="_blank"&gt;Beginner's Mind&lt;/a&gt;. Everyone aspires to mastery, but no one becomes the expert.&lt;br /&gt;
&lt;br /&gt;
Practice listening.&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;"We have two ears and one mouth so that we can listen twice as much as we speak."&lt;/i&gt;&lt;br /&gt;
― &lt;a href="http://en.wikipedia.org/wiki/Epictetus" rel="nofollow" target="_blank"&gt;Epictetus&lt;/a&gt;&lt;/blockquote&gt;
Practice being a good teammate. Introspection helps. Ask&amp;nbsp;&lt;i&gt;how-can-I &lt;/i&gt;questions.&lt;br /&gt;
Ask&amp;nbsp;&lt;i&gt;How can I&lt;/i&gt;:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;be more helpful?&lt;/li&gt;
&lt;li&gt;become a better teacher?&lt;/li&gt;
&lt;li&gt;become unflappable?&lt;/li&gt;
&lt;li&gt;become non-judgmental?&lt;/li&gt;
&lt;li&gt;make people laugh?&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;i&gt;“There is nothing noble in being superior to your fellow man; true nobility is being superior to your former self.”&lt;/i&gt;&lt;br /&gt;
― &lt;a href="http://en.wikipedia.org/wiki/Ernest_Hemingway" rel="nofollow" target="_blank"&gt;Ernest Hemingway&lt;/a&gt;
&lt;br /&gt;
&lt;div style="clear: both; height: 30px;"&gt;
&lt;/div&gt;
</description><link>http://bobtuse.blogspot.com/2014/12/soft-skills.html</link><author>noreply@blogger.com (Bob MacNeal)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2201343077108877660.post-7902102850636590816</guid><pubDate>Sun, 07 Dec 2014 23:52:00 +0000</pubDate><atom:updated>2014-12-08T07:59:42.676-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Chat Clients</category><category domain="http://www.blogger.com/atom/ns#">Collaboration Tools</category><category domain="http://www.blogger.com/atom/ns#">Colloquy</category><category domain="http://www.blogger.com/atom/ns#">GitHub</category><category domain="http://www.blogger.com/atom/ns#">Heroku</category><category domain="http://www.blogger.com/atom/ns#">HipChat</category><category domain="http://www.blogger.com/atom/ns#">IRC Chat</category><category domain="http://www.blogger.com/atom/ns#">Jira</category><category domain="http://www.blogger.com/atom/ns#">Slack</category><category domain="http://www.blogger.com/atom/ns#">Stowe Boyd</category><category domain="http://www.blogger.com/atom/ns#">Team Communication</category><category domain="http://www.blogger.com/atom/ns#">Workplace Collaboration</category><title>Start Slackin</title><description>The infrastructure supporting the flow of communication has become an &lt;a href="http://en.wikipedia.org/wiki/Iterative_and_incremental_development" rel="nofollow" target="_blank"&gt;iteration&lt;/a&gt; zero concern. For software developers, a team chat application is becoming as fundamental as a &lt;a href="https://github.com/" rel="nofollow" target="_blank"&gt;GitHub&lt;/a&gt; repository.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="https://slack.com/" rel="nofollow" target="_blank"&gt;Slack&lt;/a&gt;&amp;nbsp;is a San Francisco based chat startup with a well-executed product that's rocketing in popularity. Slack's marketing pitch is&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;We’re on a mission to make your working life simpler, more pleasant and more productive.&lt;/i&gt;&lt;/blockquote&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMmJUg34K42ulKNhf17DuhylZStchYopDb0Fy4vELjKI0caBrbqVFY-ZFvrmT7bRBgrU_h825dvffY39XLWpFslNR48fz7C_OpctNVdk1zS-I-5bR9uTqc39Sx90zKvOphyphenhyphen3ay4vNrh3-d/s1600/Screen+Shot+2014-12-07+at+4.35.09+PM.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMmJUg34K42ulKNhf17DuhylZStchYopDb0Fy4vELjKI0caBrbqVFY-ZFvrmT7bRBgrU_h825dvffY39XLWpFslNR48fz7C_OpctNVdk1zS-I-5bR9uTqc39Sx90zKvOphyphenhyphen3ay4vNrh3-d/s1600/Screen+Shot+2014-12-07+at+4.35.09+PM.png" height="241" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Slack Chat Client&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
After a few months having used it with a few product teams, I'm convinced Slack is delivering on their pitch.&lt;br /&gt;
&lt;br /&gt;
At the moment I'm using Slack with two product teams for different customers. In the past I have used other chat applications like:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Colloquy_%28software%29" rel="nofollow" target="_blank"&gt;Colloquy&lt;/a&gt; (open-source for Mac OS X); and&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.hipchat.com/" rel="nofollow" target="_blank"&gt;HipChat&lt;/a&gt; (by Atlassian).&lt;/li&gt;
&lt;/ul&gt;
Slack fills a niche by being less geek-centric than Colloquy and by being spiffier and more feature-rich than HipChat. Colloquy and HipChat remain fine products, but I've a growing preference for Slack.&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQEBX3aZ2nhPIfXl2kPowNBIRw-ynS6PgKlsvsAxvettktrcdOdm2PHex7VAnP2osADBaLWGE_nVO8hDUhhwisUgVIQsr1Z6yC0y_T1qJEpfC9VngMgSLxKODychfMgTHQAF0Xb3Jdv-R4/s1600/slackin.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQEBX3aZ2nhPIfXl2kPowNBIRw-ynS6PgKlsvsAxvettktrcdOdm2PHex7VAnP2osADBaLWGE_nVO8hDUhhwisUgVIQsr1Z6yC0y_T1qJEpfC9VngMgSLxKODychfMgTHQAF0Xb3Jdv-R4/s1600/slackin.png" height="400" width="367" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Wildly Imagined Vintage Slack Poster&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br class="Apple-interchange-newline" /&gt;
Using Slack, I like that:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;One can easily configure different client gigs and then switch between them on the handy left nav;&lt;/li&gt;
&lt;li&gt;One can easily create new team channels;&lt;/li&gt;
&lt;li&gt;One can easily toggle between team and private channels;&lt;/li&gt;
&lt;li&gt;Individual teammates may chat privately in the private channels; and&lt;/li&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em; text-align: right;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBjXhaRi5HbbB3pBy8BZJmq9U3sKgto9syWnkrdN288_2aPIfJBcfOCzCy0vC09-XZOTsdicPZlzsHe_1uXylk9F-bAEGm-my6DG9VtQB8vE7083KstK8zR4eITmMMfg7k8gmV-P2eJt5X/s1600/Screen+Shot+2014-12-07+at+4.40.56+PM.png" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBjXhaRi5HbbB3pBy8BZJmq9U3sKgto9syWnkrdN288_2aPIfJBcfOCzCy0vC09-XZOTsdicPZlzsHe_1uXylk9F-bAEGm-my6DG9VtQB8vE7083KstK8zR4eITmMMfg7k8gmV-P2eJt5X/s1600/Screen+Shot+2014-12-07+at+4.40.56+PM.png" height="107" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;GitHub Commit Stream&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;li&gt;Developers reap the benefits from the information stream via &lt;a href="https://github.com/" rel="nofollow" target="_blank"&gt;GitHub&lt;/a&gt;, &lt;a href="https://heroku.com/" rel="nofollow" target="_blank"&gt;Heroku&lt;/a&gt;, and &lt;a href="https://www.atlassian.com/software/jira" rel="nofollow" target="_blank"&gt;Jira&lt;/a&gt; integration.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
Chat is a forum for knowledge sharing. It has the potential to build team camaraderie even when your teammates work from a remote location.&lt;br /&gt;
&lt;blockquote&gt;
"&lt;i&gt;Contextual conversation is likely to become the dominant social motif of the next generation of work-technology apps."&lt;/i&gt;&lt;br /&gt;
— Stowe Boyd, &lt;a href="https://twitter.com/stoweboyd/status/483968893765959681" rel="nofollow" target="_blank"&gt;tweet&lt;/a&gt; @stoweboyd&lt;/blockquote&gt;
&lt;br /&gt;
&lt;b&gt;REFERENCES&lt;/b&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://medium.com/@scottros/chat-slack-and-the-panoptic-telecommute-6d41fbfd2603" rel="nofollow" target="_blank"&gt;Chat, Slack, and the Panoptic Telecommute&lt;/a&gt;, Scott Rosenberg, 13 Oct 2014.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://research.gigaom.com/report/contextual-conversation-work-chat-will-dominate-collaboration/conclusions-and-takeaways/" rel="nofollow" target="_blank"&gt;Contextual conversation: Work chat will dominate collaboration&lt;/a&gt;, Stowe Boyd, Gigaom Research, 30 June, 2014.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://gigaom.com/2014/08/01/why-these-startups-think-chat-apps-are-the-next-big-thing-in-workplace-collaboration/" rel="nofollow" target="_blank"&gt;Why these startups think chat apps are the next big thing in workplace collaboration&lt;/a&gt;, Jonathan Vanian, 1 Aug 2014.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="clear: both; height: 30px;"&gt;
&lt;/div&gt;
</description><link>http://bobtuse.blogspot.com/2014/12/start-slackin.html</link><author>noreply@blogger.com (Bob MacNeal)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMmJUg34K42ulKNhf17DuhylZStchYopDb0Fy4vELjKI0caBrbqVFY-ZFvrmT7bRBgrU_h825dvffY39XLWpFslNR48fz7C_OpctNVdk1zS-I-5bR9uTqc39Sx90zKvOphyphenhyphen3ay4vNrh3-d/s72-c/Screen+Shot+2014-12-07+at+4.35.09+PM.png" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2201343077108877660.post-799956319525353398</guid><pubDate>Sun, 07 Dec 2014 18:12:00 +0000</pubDate><atom:updated>2014-12-07T13:31:37.280-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Agile Manifesto</category><category domain="http://www.blogger.com/atom/ns#">Bitbucket</category><category domain="http://www.blogger.com/atom/ns#">Extreme Programming</category><category domain="http://www.blogger.com/atom/ns#">GitHub</category><category domain="http://www.blogger.com/atom/ns#">Pair Programming</category><category domain="http://www.blogger.com/atom/ns#">XP</category><title>Pair Programming in Perspective</title><description>&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://commons.wikimedia.org/wiki/File:Two_Heads_are_Better_than_One_(7461726326).jpg" imageanchor="1" rel="nofollow" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;" target="_blank"&gt;&lt;img border="0" src="http://upload.wikimedia.org/wikipedia/commons/a/a1/Two_Heads_are_Better_than_One_(7461726326).jpg" height="200" width="133" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Annual Mermaid Parade&lt;br /&gt;
Coney Island, 2012&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;a href="http://upload.wikimedia.org/wikipedia/commons/thumb/6/69/Pair_Programming_3.jpg/1024px-Pair_Programming_3.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://upload.wikimedia.org/wikipedia/commons/thumb/6/69/Pair_Programming_3.jpg/1024px-Pair_Programming_3.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;/a&gt;
I offered my 2¢ on this question from another developer:&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;&lt;a href="http://www.quora.com/What-do-you-think-of-pair-programming" rel="nofollow" target="_blank"&gt;Would you consider joining a company where pair programming is an essential part of software development?&lt;/a&gt;&lt;/i&gt;
&lt;/blockquote&gt;
One long-standing lesson from &lt;a href="http://en.wikipedia.org/wiki/Extreme_programming" rel="nofollow" target="_blank"&gt;Extreme Programming&lt;/a&gt; is:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;Programming in pairs improves quality.&amp;nbsp;&lt;/i&gt;&lt;/blockquote&gt;
With qualifiers, few dispute this assertion.&lt;br /&gt;
&lt;br /&gt;
Recently I've learned of mandates for pair programming which is mildly alarming. A team at &lt;a href="http://www.bestbuy.com/" rel="nofollow" target="_blank"&gt;BestBuy&lt;/a&gt;&amp;nbsp;does pair programming ...&lt;i&gt;all the time.&lt;/i&gt;&amp;nbsp;This particular &lt;i&gt;pair-programming-all-the-time&lt;/i&gt; initiative had the unintended consequence of chasing off one of the most test-driven, quality-focused craftsman I have pair programmed with, and learned from, in years past.&lt;br /&gt;
&lt;div style="-webkit-text-stroke-width: 0px; color: black; font-family: Times; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; margin: 0px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px;"&gt;
&lt;br /&gt;&lt;/div&gt;
Let me state this:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;Paired programming mandates are a bad idea.&lt;/i&gt;&lt;/blockquote&gt;
Mandates in general are a bad idea. Producing software is a creative act. Mandates stifle and demoralize.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;Pair programming is most helpful when on-boarding new team members, or when &lt;b&gt;intentionally pairing&lt;/b&gt; an experienced developer with an inexperienced developer.&lt;/i&gt;&lt;/blockquote&gt;
Software produced in pairs is typically superior, but not always the smoothest tack. Sometimes pairing is jarring to the soloist's creative flow. At times, pairing is downright inefficient.&lt;br /&gt;
&lt;br /&gt;
It's common to achieve quality results on par with pairing by having peer reviews and team discussions. I'm an enthusiastic cheerleader for the Pull Request Workflow popular on GitHub and BitBucket (see &lt;a href="http://www.bobtuse.com/2013/08/pull-requests-for-teams.html" rel="nofollow" target="_blank"&gt;Pull Requests for Teams&lt;/a&gt;). Pull Requests allow for collegial discussions that lead, more often than not, to quality improvements.&lt;br /&gt;
&lt;br /&gt;
Mandates are a red-flag for team and organizational inflexibility. My answer to the developer's question "&lt;i&gt;Would you consider joining a company where pair programming is an essential part of software development?"&lt;/i&gt; is a qualified no.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;Two heads are usually better than one, &lt;b&gt;but not always.&lt;/b&gt;&lt;/i&gt;&lt;/blockquote&gt;
The development community has realized significant strides from &lt;a href="http://en.wikipedia.org/wiki/Extreme_programming" rel="nofollow" target="_blank"&gt;XP&lt;/a&gt;&amp;nbsp;and &lt;a href="http://agilemanifesto.org/" rel="nofollow" target="_blank"&gt;Agile&lt;/a&gt;, but shouldn't we be judicious about — and mindful of — how we apply what we've learned?&lt;br /&gt;
&lt;br /&gt;
More &lt;i&gt;ain't &lt;/i&gt;better, particularly when it's dictated over pragmatism or common sense.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;Not every arrow in the quiver suits a situation.&lt;/i&gt;&lt;/blockquote&gt;
&lt;br /&gt;
&lt;b&gt;REFERENCES&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Extreme_programming" rel="nofollow" target="_blank"&gt;Extreme Programming&lt;/a&gt;, Wikipedia.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Pair_programming" rel="nofollow" target="_blank"&gt;Paired Programming&lt;/a&gt;, Wikipedia.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="clear: both; height: 30px;"&gt;
&lt;/div&gt;
</description><link>http://bobtuse.blogspot.com/2014/12/pair-programming-in-perspective.html</link><author>noreply@blogger.com (Bob MacNeal)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2201343077108877660.post-8020999868705433560</guid><pubDate>Thu, 23 Oct 2014 05:26:00 +0000</pubDate><atom:updated>2014-10-23T01:13:32.720-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Alan Cooper</category><category domain="http://www.blogger.com/atom/ns#">IT Mindset</category><category domain="http://www.blogger.com/atom/ns#">Jez Humble</category><category domain="http://www.blogger.com/atom/ns#">Marty Cagan</category><category domain="http://www.blogger.com/atom/ns#">Product Life-Cycle</category><category domain="http://www.blogger.com/atom/ns#">Product-centric</category><category domain="http://www.blogger.com/atom/ns#">Products Over Projects</category><category domain="http://www.blogger.com/atom/ns#">Reid Hoffman</category><category domain="http://www.blogger.com/atom/ns#">Steve Blank</category><category domain="http://www.blogger.com/atom/ns#">Steve Jobs</category><title>Raising Products</title><description>Sunrise to sunset, products have a time-honored cycle. In the realm of software development, I prefer &lt;i&gt;Products&lt;/i&gt; over &lt;i&gt;Projects&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://en.wikipedia.org/wiki/End-of-life_(product)" imageanchor="1" rel="nofollow" style="margin-left: auto; margin-right: auto;" target="_blank"&gt;&lt;img alt="" border="0" src="http://upload.wikimedia.org/wikipedia/commons/5/51/ProductEndOfLifeCycle.png" width="500" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Product life-cycle&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
Who are the best people to raise a software product? As a contractor in dozens of &lt;a href="http://en.wikipedia.org/wiki/Information_technology" rel="nofollow" target="_blank"&gt;IT&lt;/a&gt; departments, I've found IT to be the most ill-staffed and culturally stifling place for raising software products.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
IT is where &lt;i&gt;What's Possible&lt;/i&gt; goes to die.&lt;/blockquote&gt;
&lt;a href="http://upload.wikimedia.org/wikipedia/commons/thumb/7/73/Bettelnder_Karpfen.JPG/1920px-Bettelnder_Karpfen.JPG" imageanchor="1" rel="nofollow" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;" target="_blank"&gt;&lt;img border="0" src="http://upload.wikimedia.org/wikipedia/commons/thumb/7/73/Bettelnder_Karpfen.JPG/1920px-Bettelnder_Karpfen.JPG" height="150" width="200" /&gt;&lt;/a&gt;For user-centric software developers, having the human activity of making software under the yoke of an IT department is like a fish in outer space.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
Wrong environment. Wrong vibe.&lt;/blockquote&gt;
What &lt;i&gt;should be&lt;/i&gt; the goals and purposes of product development are frequently at odds with the &lt;i&gt;raison d'etre&lt;/i&gt; of IT. By popular definition, IT &lt;i&gt;deals with all things electronic&lt;/i&gt;.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;b&gt;Information Technology&lt;/b&gt; - Often the name of the part of an enterprise that deals with all things electronic.&amp;nbsp;&lt;a href="http://foldoc.org/information+technology" rel="nofollow" style="font-size: small;" target="_blank"&gt;Free On-Line Dictionary of Computing&lt;/a&gt;&lt;/blockquote&gt;
&lt;i&gt;All things electronic&lt;/i&gt; is hardly a human activity. Successful software involves people. The most successful software focuses on human pains and gains.&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;People unfamiliar with the nuts &amp;amp; bolts of software development imagine it's an engineering process, but it's a profoundly human activity.&lt;/i&gt;&lt;br /&gt;
― &lt;a href="http://en.wikipedia.org/wiki/Alan_Cooper" rel="nofollow" target="_blank"&gt;Alan Cooper&lt;/a&gt;&lt;/blockquote&gt;
The product-focused team is rooted in the common cause of serving people by relieving pains or offering gains. In&amp;nbsp;&lt;a href="http://www.svpg.com/product-vs-it-mindset" rel="nofollow" target="_blank"&gt;Product vs. IT Mindset&lt;/a&gt;,&amp;nbsp;&lt;a href="http://svpg.com/team/" rel="nofollow" target="_blank"&gt;Marty Cagan&lt;/a&gt; chose the words &lt;i&gt;Mercenaries&lt;/i&gt; and &lt;i&gt;Missionaries&lt;/i&gt; to distinguish the &lt;i&gt;IT Mindset&lt;/i&gt; from the &lt;i&gt;Product Mindset&lt;/i&gt;.&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;In an IT mindset organization, product and tech are mercenaries.  There is little to no product passion.  They are there to build whatever.  In a product organization, product and tech are missionaries.  They have joined the organization because they care about the mission and helping customers solve real problems.&lt;/i&gt;&lt;br /&gt;
― &lt;a href="http://svpg.com/team/" rel="nofollow" target="_blank"&gt;Marty Cagan&lt;/a&gt;&lt;/blockquote&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://twitter.com/BobMacNeal" imageanchor="1" rel="nofollow" target="_blank"&gt;&lt;img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoxOd7OTX6rFh_HbAVE04DygH-dirYf75xFwX-rSOjEWWRXPIUt7TStNvvwtpdlwsmEtA8QwFu4Og171_DvVoSA5W6-kZa5OhGrWiSLwoAd1pEndejnJdQyjWm7pSKuEnrSkVFoOr8FX0o/s1600/Screen+Shot+2014-10-20+at+6.32.33+AM.png" width="470" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
IT programmers tend to make marginally consequential changes to existing applications. The applications built and supported by IT serve people in other departments ― users that frequently harbor contempt for IT. IT programmers derisively refer to these users as &lt;i&gt;The Business.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Because there is a death of product passion in IT, programmers tend to gold plate dubious features behind the guise of some perceived benefit to &lt;i&gt;The Business&lt;/i&gt;. If &lt;i&gt;The Business&lt;/i&gt; doesn't use the feature, no one loses their job or their life-savings.&lt;br /&gt;
&lt;br /&gt;
Contrast the IT mindset to a product-centric developer's mindset in a startup. Product-centric developers know the existential narrative is:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;Deliver value or die&lt;/i&gt;.&lt;/blockquote&gt;
For software startups, continuous innovation and connecting with customers are dual imperatives. On the other hand, IT departments focus on support and execution over innovation. &lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;"A business that isn’t investing in tomorrow, is a business that’s already in the process of dying.”&lt;/i&gt;
&lt;br /&gt;
― &lt;a href="http://en.wikipedia.org/wiki/Reid_Hoffman" rel="nofollow" target="_blank"&gt;Reid Hoffman&lt;/a&gt;&lt;/blockquote&gt;
IT departments are better equipped to handle &lt;i&gt;knowns&lt;/i&gt; than &lt;i&gt;unknowns&lt;/i&gt;. IT is ladened with processes, governance, and gratuitous ceremony.&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;"Every time another execution process is added, corporate innovation dies a little more.”&lt;/i&gt;&lt;br /&gt;
― &lt;a href="http://en.wikipedia.org/wiki/Steve_Blank" rel="nofollow" target="_blank"&gt;Steve Blank&lt;/a&gt;&lt;/blockquote&gt;
The product mindset is that the product is paramount so all but the most pragmatic of processes falls by the wayside. Products have an inception and an end of life. IT tends to fund ongoing&amp;nbsp;&lt;i&gt;projects&lt;/i&gt;, rather than &lt;i&gt;products&lt;/i&gt; with a beginning, middle, and end.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;Delivery teams deliver software products - not projects - that run from inception to retirement.&lt;/i&gt;&lt;br /&gt;
― &lt;a href="https://www.linkedin.com/pub/jez-humble/0/b73/2b" rel="nofollow" target="_blank"&gt;Jez Humble&lt;/a&gt;&lt;/blockquote&gt;
Product-minded behemoths like Apple, Amazon, and Google demonstrate that people-pleasing products are not limited to startups.&lt;br /&gt;
&lt;blockquote&gt;
&lt;a href="http://en.wikipedia.org/wiki/Steve_Jobs" imageanchor="1" rel="nofollow" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;" target="_blank"&gt;&lt;img border="0" src="http://upload.wikimedia.org/wikipedia/commons/thumb/b/b9/Steve_Jobs_Headshot_2010-CROP.jpg/1280px-Steve_Jobs_Headshot_2010-CROP.jpg" width="180" /&gt;&lt;/a&gt;&lt;i&gt;My philosophy is that everything starts with a great product. So, you know, I obviously believed in listening to customers, but customers can't tell you about the next breakthrough that's going to happen next year that's going to change the whole industry. So you have to listen very carefully. But then you have to go and sort of stow away -- you have to go hide away with people that really understand the technology, but also really care about the customers, and dream up this next breakthrough. And that's my perspective, that everything starts with a great product.&lt;/i&gt;
&lt;br /&gt;
― &lt;a href="http://en.wikipedia.org/wiki/Steve_Jobs" rel="nofollow" target="_blank"&gt;Steve Jobs&lt;/a&gt;&lt;/blockquote&gt;
To raise my killer product, I'm determined to partner with people steeped in a product mindset, then rally them around our product to &lt;i&gt;change the world&lt;/i&gt;.
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;REFERENCES&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://blog.devopsguys.com/2013/12/13/devops-and-the-product-centric-approach/" rel="nofollow" target="_blank"&gt;DevOps and the "Product-Centric" Approach,&lt;/a&gt; DevOpsGuys, 13 December 2013.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.bobtuse.com/2009/03/nuke-and-pave-information-technology.html" rel="nofollow" target="_blank"&gt;Nuke &amp;amp; Pave Information Technology&lt;/a&gt;, by Bob MacNeal, 23 March 2009.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.svpg.com/product-vs-it-mindset" rel="nofollow" target="_blank"&gt;Product vs. IT Mindset&lt;/a&gt;, by Marty Cagan, Silicon Valley Product Group, 14 October 14 2014.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="clear: both; height: 30px;"&gt;
&lt;/div&gt;
</description><link>http://bobtuse.blogspot.com/2014/10/raising-products.html</link><author>noreply@blogger.com (Bob MacNeal)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoxOd7OTX6rFh_HbAVE04DygH-dirYf75xFwX-rSOjEWWRXPIUt7TStNvvwtpdlwsmEtA8QwFu4Og171_DvVoSA5W6-kZa5OhGrWiSLwoAd1pEndejnJdQyjWm7pSKuEnrSkVFoOr8FX0o/s72-c/Screen+Shot+2014-10-20+at+6.32.33+AM.png" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2201343077108877660.post-6147230149001707950</guid><pubDate>Wed, 10 Sep 2014 03:33:00 +0000</pubDate><atom:updated>2014-12-18T18:53:27.702-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Agile</category><category domain="http://www.blogger.com/atom/ns#">Agile Estimation</category><category domain="http://www.blogger.com/atom/ns#">Estimates</category><category domain="http://www.blogger.com/atom/ns#">Makers</category><category domain="http://www.blogger.com/atom/ns#">Managers</category><title>Say Why to Estimates</title><description>&lt;a href="http://upload.wikimedia.org/wikipedia/commons/d/dc/It'sAGreatLife%26WhyBabyWhy.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://upload.wikimedia.org/wikipedia/commons/d/dc/It'sAGreatLife%26WhyBabyWhy.jpg" width="130" /&gt;&lt;/a&gt;&lt;a href="http://www.infoq.com/agile-estimation" rel="nofollow" target="_blank"&gt;Agile estimation&lt;/a&gt; surfaces a clash of cultures. Broadly speaking the &lt;a href="http://agilemanifesto.org/" rel="nofollow" target="_blank"&gt;Agile&lt;/a&gt; community consists of makers &amp;amp; managers.&lt;br /&gt;
&lt;br /&gt;
The clash between makers &amp;amp; managers distills to motivation:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Why &amp;amp; What&lt;/b&gt;&amp;nbsp;—motivates makers&lt;/li&gt;
&lt;li&gt;&lt;b&gt;When &amp;amp; How Much&lt;/b&gt;&amp;nbsp;—motivates managers&lt;/li&gt;
&lt;/ul&gt;
Makers &lt;i&gt;make&lt;/i&gt;. Managers &lt;i&gt;manage&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
Estimates are a &lt;i&gt;wild-assed-guess&lt;/i&gt; at How Much. A quote is &lt;i&gt;exactly&lt;/i&gt; How Much.&lt;br /&gt;
&lt;br /&gt;
If you suggest to a manager that there is a distinct and important difference between an estimate and a quote, she won't get it. Still, I prefer a gentle reminder — particularly with newly forming teams. If nothing else, such a reminder has the potential to lead to a better understanding of the&amp;nbsp;&lt;i&gt;Terms &amp;amp; Conditions &lt;/i&gt;between managers and makers.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;&lt;b&gt;Reminder: &lt;/b&gt;There's a difference between an estimate and a quote.&lt;/i&gt;&lt;/blockquote&gt;
Because of the cognitive disconnect managers have about estimates, few seasoned makers take estimates seriously.&lt;br /&gt;
&lt;br /&gt;
Some makers will &lt;i&gt;sandbag&lt;/i&gt; an estimate by suggesting an inflated number. Other makers will confidently declare a random number, for example,&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;Just say three.&lt;/i&gt;&lt;/blockquote&gt;
"Just say three" is my estimation mantra. Just say three is an artifact of the absurd notion that some tracking tool needs a number attached to a story. Makers, as they're eager to get back to the joy of&amp;nbsp;&lt;i&gt;making&lt;/i&gt;, will use "Just say three" to fulfill the immediate desires of the tracking tool jockey.&lt;br /&gt;
&lt;a href="http://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/Credibility_Trust_Provenace_data.svg/600px-Credibility_Trust_Provenace_data.svg.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/Credibility_Trust_Provenace_data.svg/600px-Credibility_Trust_Provenace_data.svg.png" height="180" width="200" /&gt;&lt;/a&gt;&lt;br /&gt;
I suggest managers consider the necessity of the prevailing agile estimation pattern. Estimates, when so frequently treated as quotes, extract a cost in maker trust &amp;amp; product quality.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;Say Why to Estimates.&lt;/i&gt;&lt;/blockquote&gt;
Every team should attempt the Why conversations about process artifacts like estimates. Estimation is not a sacred cow.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;REFERENCES&lt;/b&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.estimate.info/article/5949/quotation_vs_estimate" rel="nofollow" target="_blank"&gt;Quotation vs Estimate&lt;/a&gt;, Estimates.info.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="clear: both; height: 30px;"&gt;
&lt;/div&gt;
</description><link>http://bobtuse.blogspot.com/2014/09/say-why-to-estimates.html</link><author>noreply@blogger.com (Bob MacNeal)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2201343077108877660.post-594283829315166891</guid><pubDate>Sun, 27 Apr 2014 21:27:00 +0000</pubDate><atom:updated>2014-04-27T19:23:47.953-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Alan Cooper</category><category domain="http://www.blogger.com/atom/ns#">Bitbucket</category><category domain="http://www.blogger.com/atom/ns#">Cowboy Coding</category><category domain="http://www.blogger.com/atom/ns#">Distributed Source Control</category><category domain="http://www.blogger.com/atom/ns#">GitHub</category><category domain="http://www.blogger.com/atom/ns#">Learning Organization</category><category domain="http://www.blogger.com/atom/ns#">Learning Team</category><category domain="http://www.blogger.com/atom/ns#">Peter Senge</category><category domain="http://www.blogger.com/atom/ns#">Pull Request</category><category domain="http://www.blogger.com/atom/ns#">Shunryu Suzuki</category><category domain="http://www.blogger.com/atom/ns#">The Fifth Principle</category><category domain="http://www.blogger.com/atom/ns#">Tip O'Neill</category><category domain="http://www.blogger.com/atom/ns#">Ward Cunningham</category><category domain="http://www.blogger.com/atom/ns#">Wiki</category><title>The Learning Team</title><description>A &lt;a href="http://en.wikipedia.org/wiki/Learning_organization" rel="nofollow" target="_blank"&gt;Learning Organization&lt;/a&gt; seems so obviously desirable as to be ubiquitous yet most of us will never experience one.
&lt;br /&gt;
&lt;blockquote&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcMHSl9m3tKTVpcEjq9NAc-GOjwb2ZGBmX6mAEDhpAaoraaM-sOpEQ_F1OJ-_TD1VIQx1jsUDSJIKiMtqMy5Ct8bv7JH79L7JVT5gqApO9IIwwNRsnua-8_QyH0DnVUyXBFlgXsm-mlLZH/s200/BobtuseDictionary.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcMHSl9m3tKTVpcEjq9NAc-GOjwb2ZGBmX6mAEDhpAaoraaM-sOpEQ_F1OJ-_TD1VIQx1jsUDSJIKiMtqMy5Ct8bv7JH79L7JVT5gqApO9IIwwNRsnua-8_QyH0DnVUyXBFlgXsm-mlLZH/s200/BobtuseDictionary.jpg" height="200" width="131" /&gt;&lt;/a&gt;
&lt;b&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;&lt;i&gt;Learning Organization&lt;/i&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style="font-family: Times, Times New Roman, serif;"&gt;&lt;i&gt;A term for an organization that fosters ongoing learning among its members. Because learning is ongoing,  the organization continuously transforms itself.
&lt;/i&gt;&lt;/span&gt;&lt;/blockquote&gt;
If we can't fix our inept organization, perhaps we can influence our team.
&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;All politics is local.&lt;/i&gt;&lt;br /&gt;
― &lt;a href="http://en.wikipedia.org/wiki/Tip_O%27Neill" rel="nofollow" target="_blank"&gt;Tip O'Neill&lt;/a&gt;&lt;/blockquote&gt;
&lt;i&gt;All politics is local&lt;/i&gt; means that our success is tied to our ability to understand and influence our constituents.&lt;br /&gt;
&lt;br /&gt;
My constituents are my teammates.&lt;br /&gt;
&lt;br /&gt;
We owe ourselves the courtesy of modeling the kind of behavior we want to see in our teammates. We owe ourselves the courtesy of striving to be &lt;i&gt;good learners&lt;/i&gt; and aspiring to be &lt;i&gt;good teachers&lt;/i&gt;.&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;“You cannot force commitment, what you can do…You nudge a little here, inspire a little there, and provide a role model.  Your primary influence is the environment you create.”&lt;/i&gt;&lt;br /&gt;
― &lt;a href="http://en.wikipedia.org/wiki/Peter_Senge" rel="nofollow" target="_blank"&gt;Peter Senge&lt;/a&gt;&lt;/blockquote&gt;
Fun teams cultivate learning. The rest suffered from varying degrees of toxicity. I resolve to choose fun. I urge you to join me.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;People unfamiliar with the nuts &amp;amp; bolts of software development imagine it's an engineering process, but it's a profoundly human activity.&lt;/i&gt;&lt;br&gt;― &lt;a href="http://en.wikipedia.org/wiki/Alan_Cooper" rel="nofollow" target="_blank"&gt;Alan Cooper&lt;/a&gt;&lt;/blockquote&gt;
&lt;b&gt;A Learning Team&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The closest I've been to a &lt;i&gt;learning organization&lt;/i&gt; has been flashes of a &lt;i&gt;learning team&lt;/i&gt; practiced by me and my teammates.&lt;br /&gt;
&lt;blockquote&gt;
If your teammate responds to a question by affirming, &lt;i&gt;"That's a good question"&lt;/i&gt;, all indicators point to a learning team.&lt;/blockquote&gt;
A well-tended and searchable&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Wiki" rel="nofollow" target="_blank"&gt;wiki&lt;/a&gt;&amp;nbsp; ― thanks &lt;a href="http://en.wikipedia.org/wiki/Ward_Cunningham" rel="nofollow" target="_blank"&gt;Ward&lt;/a&gt;&amp;nbsp;― that has up-to-date on-boarding instructions, and frequently used command sequences,&amp;nbsp;is one sign of a learning team. On the other hand, admonishing a teammate to &lt;i&gt;"look it up on the wiki"&lt;/i&gt; is a red flag your teammate is missing a teaching opportunity. Such opportunities occur whenever a teammate asks a question.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
Missed teaching opportunities occur whenever a teammate &lt;i&gt;stops&lt;/i&gt; asking or &lt;i&gt;regrets&lt;/i&gt; asking.&lt;/blockquote&gt;
A few &lt;i&gt;red flags&lt;/i&gt; that you're falling short of a learning team are:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Defensive Postures&lt;/li&gt;
&lt;li&gt;Shaming Mechanisms&lt;/li&gt;
&lt;li&gt;Cynicism&lt;/li&gt;
&lt;/ol&gt;
&lt;b&gt;Defensive Postures:&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
We often recognize defensive postures in ourselves and in our teammates. Defensiveness is a burden and a buzz-kill. Excise it.&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;“It is not the absence of defensiveness that characterizes learning teams but the way defensiveness is faced”&lt;/i&gt;&lt;br /&gt;
― &lt;a href="http://en.wikipedia.org/wiki/Peter_Senge" rel="nofollow" target="_blank"&gt;Peter Senge&lt;/a&gt;&lt;/blockquote&gt;
Your teammate doesn't want a knife in the back. He wants to you &lt;i&gt;have&lt;/i&gt; his back. When your teammate is defensive, she's probably not &lt;i&gt;pro-active&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Shaming Mechanisms:&lt;/b&gt;&lt;br /&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
Sometimes the original idea for a practice, or the spirit of an idea, gets lost over time.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
Practices should never devolve into a mechanism for shaming.&lt;/blockquote&gt;
Examples of sound practices that have gone toxic: &lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;&lt;a href="http://en.wikipedia.org/wiki/Continuous_integration" rel="nofollow" target="_blank"&gt;Continuous integration&lt;/a&gt;&lt;/b&gt; is a highly recommended, ongoing health-check, BUT never shame a teammate for breaking the build, or for failed functional tests. I suffered through an immature team that handed around a stuffed &lt;i&gt;Build Monkey&lt;/i&gt; to anyone who broke the build. I deep-sixed the monkey.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;a href="http://en.wikipedia.org/wiki/Test-first" rel="nofollow" target="_blank"&gt;Test-First&lt;/a&gt;&lt;/b&gt; is a valuable learning tool, as is &lt;b&gt;&lt;a href="http://en.wikipedia.org/wiki/Test-first" rel="nofollow" target="_blank"&gt;Test-Driven&lt;/a&gt;&lt;/b&gt;. Both play a role in ensuring quality. BUT avoid shaming a teammate for not adopting them as a matter of course. If one or the other is an agreed upon team practice, then &lt;b&gt;reward good behavior&lt;/b&gt; rather than shaming people for slip-ups or for regressing under pressure.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;a href="http://en.wikipedia.org/wiki/Software_estimation" rel="nofollow" target="_blank"&gt;Estimation&lt;/a&gt;&lt;/b&gt; and &lt;b&gt;&lt;a href="http://en.wikipedia.org/wiki/Burndown_chart" rel="nofollow" target="_blank"&gt;burn-down charts&lt;/a&gt;&lt;/b&gt;, once handy tools to make wild-ass-guesses at story sizes and to make progress visible, have become blunt instruments for flogging&amp;nbsp;in the hands of&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Command_and_control" rel="nofollow" target="_blank"&gt;command-and-control&lt;/a&gt;&amp;nbsp;managers. NEVER use a tool or a process to&amp;nbsp;hurt people.&lt;/li&gt;
&lt;/ul&gt;
Process alone is usually innocent. It is converting ideals into expectations that can be toxic. For more on shaming, see &lt;a href="http://www.bobtuse.com/2012/05/say-no-to-brogrammers.html" rel="nofollow" target="_blank"&gt;Say No To Brogrammers&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Cynicism:&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
Cynicism grows from the loam of unmet expectations. One tip:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
Don't romanticize your teammate's abilities to be a "craftsman" ― particularly if he must measure up to a poorly articulated definition of craftsmanship.&lt;/blockquote&gt;
By avoiding romanticizing the notion that developers are craftsman, you'll be better equipped to avoid the psychological baggage of unmet expectations.&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;“In combating cynicism, it helps to know its source. Scratch the surface of most cynics and you find a frustrated idealist – someone who made the mistake of converting his ideals into expectations.”&lt;/i&gt;&lt;br /&gt;
―&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Peter_Senge" rel="nofollow" target="_blank"&gt;Peter Senge&lt;/a&gt;&lt;/blockquote&gt;
Cynicism grows from trying to change too much. Forget about the larger &lt;i&gt;broken&lt;/i&gt; organization for now. Remember&amp;nbsp;&lt;i&gt;all politics is local&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
Get to root causes. If it's something the team can fix, fix it before it devours all optimism.&lt;br /&gt;
&lt;br /&gt;
Lastly, try modeling vulnerability rather than oozing cynicism. Your teammates will appreciate it.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Getting to the Learning Team&lt;/b&gt;&lt;br /&gt;
&lt;blockquote style="-webkit-text-stroke-width: 0px; color: black; font-family: 'Times New Roman'; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px;"&gt;
&lt;/blockquote&gt;
A learning team, like a happy family, requires practice and vigilance. A learning team gets sustenance from people expressing ideas and opinions with reckless abandon.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
Remember everyone has a different take. The spectrum might range from&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Michelangelo" rel="nofollow" target="_blank"&gt;Michelangelo&lt;/a&gt;&amp;nbsp;to&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Cowboy_coder" rel="nofollow" target="_blank"&gt;Cowboy Coder&lt;/a&gt;.&lt;/blockquote&gt;
To voice an opinion or posit an idea we need to feel comfortable speaking up and we need to be practiced at listening. A learning team starts by modeling listening, practicing &lt;a href="http://www.bobtuse.com/2009/04/beginners-mind-dumb-luck-agility.html" rel="nofollow" target="_blank"&gt;Beginner's Mind&lt;/a&gt;, and aspiring to teach.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;"In the beginner's mind there are many possibilities, but in the expert's mind there are few"&lt;/i&gt;&lt;br /&gt;
― &lt;a href="http://en.wikipedia.org/wiki/Shunryu_Suzuki" rel="nofollow" target="_blank"&gt;Shunryu Suzuki&lt;/a&gt;&lt;/blockquote&gt;
Learning frequently calls upon us to step out into the &lt;i&gt;vast unfamiliar&lt;/i&gt;. Learning can make us uncomfortable because it means exposing our weaknesses. But humility goes a long way toward learning. Practice humility.&lt;br /&gt;
&lt;br /&gt;
The place I'd start to cultivate a learning team is a &lt;a href="http://en.wikipedia.org/wiki/Distributed_revision_control" rel="nofollow" target="_blank"&gt;distributed source control&lt;/a&gt; system that supports the Pull Request Workflow.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Pull Request Workflow:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
If you use no other means to get to a learning team, try the Pull Request Workflow on&amp;nbsp;&lt;a href="https://github.com/" rel="nofollow" target="_blank"&gt;GitHub&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="https://bitbucket.org/" rel="nofollow" target="_blank"&gt;Bitbucket&lt;/a&gt;. The PR Workflow&amp;nbsp;encourages you and your teammates to:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;publicly view proposed code changes, &lt;/li&gt;
&lt;li&gt;publicly offer options or discuss alternatives, and &lt;/li&gt;
&lt;li&gt;approve all changes&amp;nbsp;―&amp;nbsp;shared responsibility.&lt;/li&gt;
&lt;/ul&gt;
Two outcomes of the PR workflow are:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;b&gt;Quality&lt;/b&gt; - Under the assumption that two-plus heads are better than one, quality invariably improves from peer-reviewed code; and&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Learning&lt;/b&gt; - Newbies can view other's code before it's merged and benefit from the public dialogue about how the code might be improved. Old hand's are given the golden opportunity to learn and the golden opportunity to teach. Double gold. Be respectful. No one loses.&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguizyxYgu-SO23iTCMQYPEnsP6FrcsHyu4963UzH9GsUxT6T9UwkQk-QdXkiFndmXluLC3Kxyi1710NbfbS4G3w71b62p1icwKN1vPxV8Pwqc7iHP9n57pl_vf6vp4TOgSWqMQotfCG5JL/s1600/pull_request_twitter.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguizyxYgu-SO23iTCMQYPEnsP6FrcsHyu4963UzH9GsUxT6T9UwkQk-QdXkiFndmXluLC3Kxyi1710NbfbS4G3w71b62p1icwKN1vPxV8Pwqc7iHP9n57pl_vf6vp4TOgSWqMQotfCG5JL/s1600/pull_request_twitter.png" width="520" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
See &lt;a href="http://www.bobtuse.com/2013/08/pull-requests-for-teams.html" rel="nofollow" target="_blank"&gt;Pull Requests for Teams&lt;/a&gt; for more details.&lt;br /&gt;
&lt;br /&gt;
An ideal teammate teaches you something and wants to learn from you. Seek or grow a learning team. Resolve to choose fun.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;b&gt;REFERENCES&lt;/b&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.bobtuse.com/2009/04/beginners-mind-dumb-luck-agility.html" rel="nofollow" target="_blank"&gt;Beginner's Mind, Dumb Luck &amp;amp; Agility&lt;/a&gt;, Bobtuse, 20 April 2009.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.bobtuse.com/2013/08/pull-requests-for-teams.html" rel="nofollow" target="_blank"&gt;Pull Requests for Teams&lt;/a&gt;, Bobtuse, 28 August 2013.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.bobtuse.com/2012/05/say-no-to-brogrammers.html" rel="nofollow" target="_blank"&gt;Say No To Brogrammers&lt;/a&gt;, Bobtuse, 26 May 2012.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://david.heinemeierhansson.com/2014/tdd-is-dead-long-live-testing.html" rel="nofollow" target="_blank"&gt;TDD is dead. Long live testing&lt;/a&gt;. David Heinemeier Hansson, 23 April 2014.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/The_Fifth_Discipline" rel="nofollow" target="_blank"&gt;The Fifth Discipline: The Art &amp;amp; Practice of The Learning Organization&lt;/a&gt;, Peter Senge, 2006.&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;ACKNOWLEDGEMENT&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Hat tip to &lt;a href="https://www.linkedin.com/profile/view?id=2351354" rel="nofollow" target="_blank"&gt;Chris Bartling&lt;/a&gt; for introducing me to aspects of the learning environment and for nudging me into the vast unfamiliar of open source.
&lt;br /&gt;
&lt;div style="clear: both; height: 30px;"&gt;
&lt;/div&gt;
</description><link>http://bobtuse.blogspot.com/2014/04/the-learning-team.html</link><author>noreply@blogger.com (Bob MacNeal)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcMHSl9m3tKTVpcEjq9NAc-GOjwb2ZGBmX6mAEDhpAaoraaM-sOpEQ_F1OJ-_TD1VIQx1jsUDSJIKiMtqMy5Ct8bv7JH79L7JVT5gqApO9IIwwNRsnua-8_QyH0DnVUyXBFlgXsm-mlLZH/s72-c/BobtuseDictionary.jpg" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2201343077108877660.post-8401561640147389774</guid><pubDate>Sun, 27 Apr 2014 16:30:00 +0000</pubDate><atom:updated>2014-04-27T11:30:39.716-05:00</atom:updated><title>Naming Conventions</title><description>On my last three software teams I have had a teammate named "Bob". What are the odds of a Bob having a teammate named Bob? I can understand a &lt;i&gt;Horatio&lt;/i&gt; or a &lt;i&gt;Cuthbert&lt;/i&gt;, but not another software guy named Bob.&lt;br /&gt;
&lt;br /&gt;
Bob is a rare name. Ask any &lt;a href="http://en.wikipedia.org/wiki/SETI" rel="nofollow" target="_blank"&gt;SETI&lt;/a&gt; scientist. Okay so maybe the software world has a notorious&amp;nbsp;&lt;i&gt;Uncle&lt;/i&gt; Bob, but I suspect Uncle Bob is a actually a closet Robert (see &lt;a href="http://en.wikipedia.org/wiki/Robert_Cecil_Martin" rel="nofollow" target="_blank"&gt;Robert Cecil Martin&lt;/a&gt;).&lt;br /&gt;
&lt;br /&gt;
Before my software gig, I probably encountered two or three Bobs in my lifetime, one of whom was my father. It's pure dumb luck that I'm not a Bob Jr. Being branded Bob Jr. would be worse than having a &lt;a href="http://en.wikipedia.org/wiki/Microsoft_bob" rel="nofollow" target="_blank"&gt;Microsoft operating system&lt;/a&gt; named after you.&lt;br /&gt;
&lt;br /&gt;
But there's a solution to this madness. The next time I encounter another Bob, I'll diffuse any confusion by pulling a &lt;a href="http://en.wikipedia.org/wiki/Steve_Jobs" rel="nofollow" target="_blank"&gt;Steve Jobs&lt;/a&gt;, who when he encountered a designer named Steve on the iPhone team, declared,&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;"Guess what, you’re Margaret from now on”.&lt;/i&gt;&amp;nbsp;&lt;sup&gt;(&lt;a href="http://www.theatlantic.com/technology/archive/2014/04/you-are-margaret-said-steve-and-it-was-so/361224/" rel="nofollow" target="_blank"&gt;1&lt;/a&gt;)&lt;/sup&gt;&lt;br /&gt;
― &lt;a href="http://en.wikipedia.org/wiki/Steve_Jobs" rel="nofollow" target="_blank"&gt;Steve Jobs&lt;/a&gt;&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://upload.wikimedia.org/wikipedia/commons/e/e7/Tacoma_-_Bob's_Java_Jive_03.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://upload.wikimedia.org/wikipedia/commons/e/e7/Tacoma_-_Bob's_Java_Jive_03.jpg" height="300" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="clear: both; height: 30px;"&gt;
&lt;/div&gt;
</description><link>http://bobtuse.blogspot.com/2014/04/naming-conventions.html</link><author>noreply@blogger.com (Bob MacNeal)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2201343077108877660.post-4637656556549872015</guid><pubDate>Fri, 07 Feb 2014 01:10:00 +0000</pubDate><atom:updated>2014-02-06T19:11:45.815-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Bell Laboratories</category><category domain="http://www.blogger.com/atom/ns#">Bell System</category><category domain="http://www.blogger.com/atom/ns#">Cross-Functional Team</category><category domain="http://www.blogger.com/atom/ns#">Isaac Newton</category><category domain="http://www.blogger.com/atom/ns#">Jon Gertner</category><category domain="http://www.blogger.com/atom/ns#">Telstar 1</category><category domain="http://www.blogger.com/atom/ns#">The Idea Factory</category><category domain="http://www.blogger.com/atom/ns#">Walter Isaacson</category><title>Move Deliberately &amp; Build Things </title><description>&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRiOFCKhoZkhp4wBswqVvEc24JtZPnm__sm_CtyLL2mKx1recwHW7YxKQgizXE-xhZVDN5BLyABLoGbNqfkmgiX-LobDgsHEIHGU-9B-pERMiBCt1IOPabOr4tzwV-PV9_MpsHGL1cNms7/s1600/telstar.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRiOFCKhoZkhp4wBswqVvEc24JtZPnm__sm_CtyLL2mKx1recwHW7YxKQgizXE-xhZVDN5BLyABLoGbNqfkmgiX-LobDgsHEIHGU-9B-pERMiBCt1IOPabOr4tzwV-PV9_MpsHGL1cNms7/s1600/telstar.jpg" height="133" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Bell Labs technicians preparing the&lt;br /&gt;
&lt;a href="http://en.wikipedia.org/wiki/Telstar_1" rel="nofollow" target="_blank"&gt;Telstar&lt;/a&gt;&amp;nbsp;communications satellite for&lt;br /&gt;
launch in 1962.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
Describing the post &lt;a href="http://en.wikipedia.org/wiki/World_War_II" rel="nofollow" target="_blank"&gt;World War II&lt;/a&gt; golden age of innovation in the US, &lt;a href="https://www.goodreads.com/author/show/5808423.Jon_Gertner" rel="nofollow" target="_blank"&gt;Jon Gertner&lt;/a&gt; posits that the &lt;a href="http://en.wikipedia.org/wiki/Bell_laboratories" rel="nofollow" target="_blank"&gt;Bell Laboratories&lt;/a&gt;' motto might well have been:&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;Move Deliberately &amp;amp; Build Things.&lt;/i&gt;&lt;/blockquote&gt;
And &lt;i&gt;build&lt;/i&gt; they did. Bell Labs was the most prolific &lt;i&gt;innovation factory&lt;/i&gt; of the 20th century.&lt;br /&gt;
&lt;br /&gt;
Reviewing &lt;a href="https://www.goodreads.com/book/show/11797471-the-idea-factory" rel="nofollow" target="_blank"&gt;The Idea Factory&lt;/a&gt;, Gertner's book about Bell Laboratories innovations, &lt;a href="http://en.wikipedia.org/wiki/Walter_Isaacson" rel="nofollow" target="_blank"&gt;Walter Isaacson&lt;/a&gt; suggests that the first intercontinental phone call between New York and San Francisco, master-minded at Bell Laboratories, ushered in the novel model of the collaborative industrial organization — an organization that deliberately seeks and models cross-functional, cross-disciplinary teams.&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;The problem was one that required not just engineering skill but advances in pure science. They needed, among other things, to create a repeater or amplifier for the electric signals so that they would not attenuate after a few miles. Thus was the seed planted for a new collaborative industrial organization — teaming up theoreticians, experimentalists, material scientists, metallurgists, engineers and even telephone pole climbers — that eventually became Bell Labs. &lt;/i&gt;
&lt;br /&gt;
― &lt;a href="http://en.wikipedia.org/wiki/Walter_Isaacson" rel="nofollow" target="_blank"&gt;Walter Isaacson&lt;/a&gt;&lt;/blockquote&gt;
Isaacson asks,&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;What causes innovation? Why does it happen, and how might we nurture it?&lt;/i&gt;&lt;/blockquote&gt;
In &lt;a href="https://www.goodreads.com/book/show/11797471-the-idea-factory" rel="nofollow" target="_blank"&gt;The Idea Factory&lt;/a&gt; Gertner offers insights into how an engineered organizational structure, and an intentional physical layout led to and sustained decades of unprecedented innovation if the US until the monopolistic breakup of the Bell System in 1982.&lt;br /&gt;
&lt;br /&gt;
Contrary to the popular notion of a lone genius conjuring culture-changing inventions in the isolation of a garage workshop, Bell Labs inventions grew incrementally from teams of people with diverse expertise and temperaments. It grew incrementally from people learning from and extending the discoveries and inventions of their colleagues and historic predecessors.&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;If I have seen further than others, it is by standing upon the shoulders of giants.&lt;/i&gt; ― &lt;a href="http://en.wikipedia.org/wiki/Isaac_Newton" rel="nofollow" target="_blank"&gt;Isaac Newton&lt;/a&gt; (1642 – 1727)&lt;/blockquote&gt;
One of the many triumphs of Bell Labs was to connect us through digital machines shrinking our collective cultural &amp;amp; communication sphere. And &lt;i&gt;connect us&lt;/i&gt; they did.&lt;br /&gt;
&lt;br /&gt;
Conveying break-through scientific theory into useful consumer products is incremental and deliberate. The product development path was rarely direct, rather setbacks and diversions were not only expected but redoubled resolve ― resolve to drive toward better and cheaper products.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;REFERENCES&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.nytimes.com/2012/04/08/books/review/the-idea-factory-by-jon-gertner.html" rel="nofollow" target="_blank"&gt;Inventing the Future&lt;/a&gt;, a book review of Jon Gertner's &lt;a href="https://www.goodreads.com/book/show/11797471-the-idea-factory" rel="nofollow" target="_blank"&gt;The Idea Factory&lt;/a&gt;, by &lt;a href="http://en.wikipedia.org/wiki/Walter_Isaacson" rel="nofollow" target="_blank"&gt;Walter Isaacson&lt;/a&gt;, New York Times, April 6, 2012.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.goodreads.com/book/show/11797471-the-idea-factory" rel="nofollow" target="_blank"&gt;The Idea Factory: Bell Labs and the Great Age of American Innovation&lt;/a&gt;, by Jon Gertner.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.nytimes.com/2012/02/26/opinion/sunday/innovation-and-the-bell-labs-miracle.html" rel="nofollow" target="_blank"&gt;True Innovation&lt;/a&gt; by Jon Gertner, New York Times Opinion, February 25, 2012.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="clear:both; height:30px"&gt;&lt;/div&gt;
</description><link>http://bobtuse.blogspot.com/2014/02/move-deliberately-build-things.html</link><author>noreply@blogger.com (Bob MacNeal)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRiOFCKhoZkhp4wBswqVvEc24JtZPnm__sm_CtyLL2mKx1recwHW7YxKQgizXE-xhZVDN5BLyABLoGbNqfkmgiX-LobDgsHEIHGU-9B-pERMiBCt1IOPabOr4tzwV-PV9_MpsHGL1cNms7/s72-c/telstar.jpg" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2201343077108877660.post-7446893312158695761</guid><pubDate>Sun, 12 Jan 2014 19:54:00 +0000</pubDate><atom:updated>2014-01-12T14:12:52.327-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Bell Laboratories</category><category domain="http://www.blogger.com/atom/ns#">Continuous Partial Attention</category><category domain="http://www.blogger.com/atom/ns#">Jon Gertner</category><category domain="http://www.blogger.com/atom/ns#">Linda Stone</category><category domain="http://www.blogger.com/atom/ns#">Mervin Kelly</category><category domain="http://www.blogger.com/atom/ns#">Richard Hamming</category><title>Open or Closed</title><description>A closed door shields us from our shortcomings, but robs us of humanity's greatest currency ― sharing ideas. &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://en.wikipedia.org/wiki/Richard_Hamming" rel="nofollow" target="_blank"&gt;Richard Hamming&lt;/a&gt; left many insights about &lt;i&gt;learning to learn&lt;/i&gt; from his career as mathematician. Hamming retrospectively concluded that his cloistered colleagues had made less impact.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://en.wikipedia.org/wiki/Bell_Laboratories" rel="nofollow" target="_blank"&gt;Bell Laboratories&lt;/a&gt;, where Hamming worked from 1946 to 1976, capitalized on the physical proximity of brain power combined with a floor-plan that co-mingled multiple-disciplinary thinkers and doers.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgu8VydtPp3WwPM5hsW2arMbcEel5G2Ips57GIqtiMoN_z3kUZl8Rs64dl2dKwzPWCr4TlIaq6t4kw3N90UpPNrNjdjJZYQHMYkyQxJSVWpGkYySrJ0PsAt9rgd4VECHxbSSWJDDP2zVOJM/s1600/belllabs345.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgu8VydtPp3WwPM5hsW2arMbcEel5G2Ips57GIqtiMoN_z3kUZl8Rs64dl2dKwzPWCr4TlIaq6t4kw3N90UpPNrNjdjJZYQHMYkyQxJSVWpGkYySrJ0PsAt9rgd4VECHxbSSWJDDP2zVOJM/s1600/belllabs345.jpg" height="149" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Bell Laboratories&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;i&gt;"Traveling the hall’s length without encountering a number of acquaintances, problems, diversions and ideas was almost impossible. A physicist on his way to lunch in the cafeteria was like a magnet rolling past iron filings." &lt;/i&gt;&lt;br /&gt;
― &lt;a href="http://www.amazon.com/Jon-Gertner/e/B007ZSCPP8/ref=ntt_athr_dp_pel_1" rel="nofollow" target="_blank"&gt;Jon Gertner&lt;/a&gt;&lt;/blockquote&gt;
&lt;div&gt;
The mixing of disciplines at &lt;a href="http://en.wikipedia.org/wiki/Bell_Laboratories" rel="nofollow" target="_blank"&gt;Bell Laboratories&lt;/a&gt;,&amp;nbsp;attributed to &lt;a href="http://en.wikipedia.org/wiki/Bell_Laboratories" rel="nofollow" target="_blank"&gt;Bell Laboratories&lt;/a&gt; President (1951-59) &lt;a href="http://www.bell-labs.com/history/presidents/kelly.html" rel="nofollow" target="_blank"&gt;Mervin Kelly&lt;/a&gt;, orchestrated harmony and tension that &lt;i&gt;incited&lt;/i&gt; change. It was the frequency of change that sped up the flurry of innovation.&lt;/div&gt;
&lt;div&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;"If you're going to have progress, there has to be change. Change does not mean &lt;/i&gt;&lt;i&gt;progress, but progress requires change."&lt;/i&gt;&lt;br /&gt;
― &lt;a href="http://en.wikipedia.org/wiki/Richard_Hamming" rel="nofollow" target="_blank"&gt;Richard Hamming&lt;/a&gt;&lt;/blockquote&gt;
&lt;/div&gt;
&lt;div&gt;
Traveling the halls of &lt;a href="http://en.wikipedia.org/wiki/Bell_Laboratories" rel="nofollow" target="_blank"&gt;Bell Laboratories&lt;/a&gt;, Hamming observed the difference between those whose doors were open and those whose doors were shut.&lt;/div&gt;
&lt;div&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;I cannot prove to you whether the open door causes the open mind or whether the open mind causes the open door.&lt;/i&gt;&lt;br /&gt;
― &lt;a href="http://en.wikipedia.org/wiki/Richard_Hamming" rel="nofollow" target="_blank"&gt;Richard Hamming&lt;/a&gt;&lt;/blockquote&gt;
&lt;/div&gt;
&lt;div&gt;
An open door is an apt metaphor for an open mind. Hamming argued for diversity of input.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;"You have to get wide cleave of what's going on." &lt;/i&gt;&lt;/blockquote&gt;
He observed,&lt;/div&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;"Those who work with the door shut don't know what to work on. They're not connected with reality."&lt;/i&gt;&lt;/blockquote&gt;
A closed door leads to fewer interruptions, and fewer interruptions allow one concentrated time to knock off problem-solving tasks. What if it's the wrong problem? &lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;"The guys with their doors closed were often very well able, very gifted,&lt;/i&gt;&lt;i&gt;but they seemed to work always on slightly the wrong problem."&lt;/i&gt;&lt;br /&gt;
― &lt;a href="http://en.wikipedia.org/wiki/Richard_Hamming" rel="nofollow" target="_blank"&gt;Richard Hamming&lt;/a&gt;&lt;/blockquote&gt;
Learning is our imperative. The door is our metaphor. Today we have many channels vying for our attention or&amp;nbsp;what &lt;a href="http://en.wikipedia.org/wiki/Linda_Stone" rel="nofollow" target="_blank"&gt;Linda Stone&lt;/a&gt; calls &lt;a href="http://en.wikipedia.org/wiki/Continuous_partial_attention" rel="nofollow" target="_blank"&gt;Continuous Partial Attention&lt;/a&gt;. Paradoxically we must be both open and selective.&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;Being Open &lt;i&gt;and&lt;/i&gt; Selective is a discipline of that demands daily exercise and vigilance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;REFERENCES&lt;/b&gt;

&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.nytimes.com/2012/02/26/opinion/sunday/innovation-and-the-bell-labs-miracle.html?pagewanted=all&amp;amp;_r=0" rel="nofollow" target="_blank"&gt;True Innovation&lt;/a&gt;, by Jon Gertner, New York Times Opinion, February 25, 2012&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=a1zDuOPkMSw" rel="nofollow" target="_blank"&gt;You and Your Research&lt;/a&gt;, lecture by Richard Hamming recorded June 6, 1995. This lecture was from the capstone course "The Art of Doing Science and Engineering: Learning to Learn" for graduate students at the &lt;a href="http://en.wikipedia.org/wiki/Naval_Postgraduate_School" rel="nofollow" target="_blank"&gt;Naval Postgraduate School&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="clear: both; height: 30px;"&gt;
&lt;/div&gt;
</description><link>http://bobtuse.blogspot.com/2014/01/open-or-closed.html</link><author>noreply@blogger.com (Bob MacNeal)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgu8VydtPp3WwPM5hsW2arMbcEel5G2Ips57GIqtiMoN_z3kUZl8Rs64dl2dKwzPWCr4TlIaq6t4kw3N90UpPNrNjdjJZYQHMYkyQxJSVWpGkYySrJ0PsAt9rgd4VECHxbSSWJDDP2zVOJM/s72-c/belllabs345.jpg" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2201343077108877660.post-6618678906104114062</guid><pubDate>Tue, 31 Dec 2013 11:32:00 +0000</pubDate><atom:updated>2013-12-31T13:31:50.834-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Command and Control</category><category domain="http://www.blogger.com/atom/ns#">De Facto Leaders</category><category domain="http://www.blogger.com/atom/ns#">Google Hangout</category><category domain="http://www.blogger.com/atom/ns#">Mollie Marti</category><category domain="http://www.blogger.com/atom/ns#">Opposable Thumb</category><category domain="http://www.blogger.com/atom/ns#">Servant Leadership</category><category domain="http://www.blogger.com/atom/ns#">Team Lead</category><category domain="http://www.blogger.com/atom/ns#">Tim Elmore</category><title>Team Leads and the Opposable Thumb</title><description>I once observed an old-school project manager spew voice-quivering animus all over a &lt;a href="http://en.wikipedia.org/wiki/Google_Hangout" rel="nofollow" target="_blank"&gt;Google Hangout&lt;/a&gt;.&lt;br /&gt;
&lt;a href="http://upload.wikimedia.org/wikipedia/commons/b/b2/Roundtable2-Webcast-Screenshot-Smallbones.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://upload.wikimedia.org/wikipedia/commons/b/b2/Roundtable2-Webcast-Screenshot-Smallbones.png" height="120" style="cursor: move;" width="200" /&gt;&lt;/a&gt;&lt;br /&gt;
Most people don't respond well to controlled anger, particularly &lt;a href="http://en.wikipedia.org/wiki/Millennials" rel="nofollow" target="_blank"&gt;millennials&lt;/a&gt;. The project manager's Hangout audience was a group of thirty-something software developers.&lt;br /&gt;
&lt;br /&gt;
I thought, "He's lost them."&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;They wouldn't follow him into a company-sponsored happy hour.&lt;/i&gt;&lt;/blockquote&gt;
Software developers have numerous opportunities to pick up and leave should the toxicity level of an organization rise.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;Millennials bristle at the scent of an ass-clown.&lt;/i&gt;&lt;/blockquote&gt;
The developers I have worked with are the polar opposite to the stereotypical slacker dude. They're&amp;nbsp;&lt;b&gt;Do-ers&lt;/b&gt; who bang out complex tasks.&lt;br /&gt;
&lt;br /&gt;
Over the years my teammates and I have gotten reams of code pushed, reviewed, and committed. Productivity aside, work must be fun or millennials are done.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;&lt;a href="http://en.wikipedia.org/wiki/Command_and_control" rel="nofollow" target="_blank"&gt;Command and control&lt;/a&gt;&amp;nbsp;wind-baggery emanating from some two-bit spreadsheet jockey is a buzz kill that sends the best people packing.&lt;/i&gt;&lt;/blockquote&gt;
&lt;a href="http://www.huffingtonpost.com/tim-elmore/" rel="nofollow" target="_blank"&gt;Tim Elmore&lt;/a&gt; observed that millennials have intrinsic, extrinsic, and altruistic desires in the workplace.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Intrinsically&lt;/b&gt;, millennials want to:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;feel they're growing;&lt;/li&gt;
&lt;li&gt;do interesting work; and&lt;/li&gt;
&lt;li&gt;be challenged in their tasks.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;b&gt;Extrinsically&lt;/b&gt;, they want their:&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;workplace to feel like family;&lt;/li&gt;
&lt;li&gt;workplace to be social;&lt;/li&gt;
&lt;li&gt;leaders to be adaptable with time; and&lt;/li&gt;
&lt;li&gt;leaders to value their contribution and commitment.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;b&gt;Altruistically&lt;/b&gt;, they hope to:&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;contribute to their community;&lt;/li&gt;
&lt;li&gt;contribute to society; and&lt;/li&gt;
&lt;li&gt;change the world for the better.&lt;/li&gt;
&lt;/ul&gt;
&lt;a href="http://upload.wikimedia.org/wikipedia/commons/d/d2/BASE_Jumping_from_Sapphire_Tower_in_Istanbul.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://upload.wikimedia.org/wikipedia/commons/d/d2/BASE_Jumping_from_Sapphire_Tower_in_Istanbul.jpg" height="132" width="200" /&gt;&lt;/a&gt;&lt;br /&gt;
A &lt;a href="http://www.thefreedictionary.com/de+facto" rel="nofollow" target="_blank"&gt;de facto&lt;/a&gt; leader emerges from within every software team. &lt;a href="http://www.thefreedictionary.com/de+facto" rel="nofollow" target="_blank"&gt;De facto&lt;/a&gt; means &lt;i&gt;serving a function without being legally or officially established&lt;/i&gt;.&lt;br /&gt;
&lt;blockquote&gt;
&lt;b&gt;&lt;a href="http://www.thefreedictionary.com/de+facto" rel="nofollow" target="_blank"&gt;de facto&lt;/a&gt;&lt;/b&gt; &lt;span style="color: #666666;"&gt;(d&lt;img align="absbottom" src="http://img.tfd.com/hm/GIF/ibreve.gif" /&gt; f&lt;img align="absbottom" src="http://img.tfd.com/hm/GIF/abreve.gif" /&gt;k&lt;img align="absbottom" src="http://img.tfd.com/hm/GIF/prime.gif" /&gt;t&lt;img align="absbottom" src="http://img.tfd.com/hm/GIF/omacr.gif" /&gt;, d&lt;img align="absbottom" src="http://img.tfd.com/hm/GIF/amacr.gif" /&gt;)&lt;/span&gt;&lt;br /&gt;
adj.&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Actual.&lt;/li&gt;
&lt;li&gt;Exercising power or serving a function without being legally or officially established.&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
Ideally your team's &lt;a href="http://www.thefreedictionary.com/de+facto" rel="nofollow" target="_blank"&gt;de facto&lt;/a&gt; leader is also your &lt;a href="http://www.thefreedictionary.com/titular" rel="nofollow" target="_blank"&gt;titular&lt;/a&gt; head where the operative root of&amp;nbsp;&lt;a href="http://www.thefreedictionary.com/titular" rel="nofollow" target="_blank"&gt;titular&lt;/a&gt;&amp;nbsp;is &lt;i&gt;title&lt;/i&gt;.&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;“Your value lies not in status or title, but in the roots of your character and depth of your compassion.” &lt;/i&gt;
&lt;br /&gt;
― &lt;a href="https://www.goodreads.com/author/quotes/1003836.Mollie_Marti" rel="nofollow" target="_blank"&gt;Mollie Marti&lt;/a&gt;&lt;/blockquote&gt;
The titular head might be at odds with the de facto leader, but given time the titular head will be willfully ignored.&lt;br /&gt;
&lt;br /&gt;
Teammates of all stripes would do well to understand the spirit and essence of &lt;a href="http://en.wikipedia.org/wiki/Servant_leadership" rel="nofollow" target="_blank"&gt;servant leadership&lt;/a&gt;. &lt;a href="https://www.goodreads.com/author/quotes/1003836.Mollie_Marti" rel="nofollow" target="_blank"&gt;Mollie Marti&lt;/a&gt; wrote,&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;“A noble leader answers not to the trumpet calls of self promotion, but to the hushed whispers of necessity.”&lt;/i&gt;&lt;/blockquote&gt;
A team lead should be an indispensable “opposable thumb” who cheerfully helps all the other “digits” grasp and handle stuff. 
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;REFERENCES&lt;/b&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.huffingtonpost.com/tag/millennials-in-the-workplace" rel="nofollow" target="_blank"&gt;Millennials in the Workplace&lt;/a&gt;, Huffington Post.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.huffingtonpost.com/tim-elmore/three-realities-to-know-a_b_4414547.html" rel="nofollow" target="_blank"&gt;Three Realities to Know About Generation iY in the Workplace&lt;/a&gt; by &lt;a href="http://www.huffingtonpost.com/tim-elmore/" rel="nofollow" target="_blank"&gt;Tim Elmore&lt;/a&gt;, Huffington Post, 10 December 2013.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="clear: both; height: 30px;"&gt;
&lt;/div&gt;
</description><link>http://bobtuse.blogspot.com/2013/12/team-leads-and-opposable-thumb.html</link><author>noreply@blogger.com (Bob MacNeal)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2201343077108877660.post-8362073701139349336</guid><pubDate>Thu, 14 Nov 2013 06:49:00 +0000</pubDate><atom:updated>2013-11-14T01:53:53.830-06:00</atom:updated><title>The Big Wave Operating System</title><description>&lt;a href="http://upload.wikimedia.org/wikipedia/commons/thumb/c/c6/13%E2%80%9C_MacBook_Pro_Mid_2012.jpg/600px-13%E2%80%9C_MacBook_Pro_Mid_2012.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="200" src="http://upload.wikimedia.org/wikipedia/commons/thumb/c/c6/13%E2%80%9C_MacBook_Pro_Mid_2012.jpg/600px-13%E2%80%9C_MacBook_Pro_Mid_2012.jpg" width="200" /&gt;&lt;/a&gt;I surfed in my teens on tame East Coast waves. The draw to surf and to all aspects of water waves has never left me.&lt;br /&gt;
&lt;br /&gt;
I seek and study waves in lakes, rivers, oceans, storm sewers, and boiling hot springs. And like a kid with a shoe box full of treasures, I have mentally cataloged all of the famous surf breaks from the chilly shores of &lt;a href="http://en.wikipedia.org/wiki/Lake_Superior" rel="nofollow" target="_blank"&gt;Lake Superior&lt;/a&gt; getting pounded by an October gale to &lt;a href="http://en.wikipedia.org/wiki/Bali" rel="nofollow" target="_blank"&gt;Bali&lt;/a&gt; the mystical &lt;i&gt;Island of Temples&lt;/i&gt; with its thousand surfing waves. 
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://en.wikipedia.org/wiki/Mavericks_(location)" rel="nofollow" target="_blank"&gt;Mavericks&lt;/a&gt; in a legendary Northern California wave near &lt;a href="http://en.wikipedia.org/wiki/Half_Moon_Bay" rel="nofollow" target="_blank"&gt;Half Moon Bay&lt;/a&gt; that breaks a half-mile out to sea and gets downright perilous to surfers when the winter swells get juicy. 
&lt;br /&gt;
&lt;br /&gt;
Mavericks is also the name given to Apple's new operating system upgrade.&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;Mavericks is not so much the inspiration for a Beach Boys song as it is a symbol of Melvillian existential struggle.&lt;/i&gt;&lt;br /&gt;
&lt;span style="background-color: white; color: #7c7c7c; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14px; line-height: 19px;"&gt;―&amp;nbsp;&lt;/span&gt;&lt;a href="http://www.themillions.com/author/stewart-sinclair" rel="nofollow" target="_blank"&gt;Stewart Sinclair&lt;/a&gt;&lt;/blockquote&gt;
As an late Apple products convert, Mavericks strikes me as an appeal to the existential extremes of the extreme sports universe and a curious marketing decision. As a wave Mavericks is one of the ultimate big wave machismo rides on the globe -- a death defying free fall down a &lt;a href="http://en.wikipedia.org/wiki/Matterhorn" rel="nofollow" target="_blank"&gt;Matterhorn&lt;/a&gt; of water chased by an avalanche of roiling whitewater.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://upload.wikimedia.org/wikipedia/commons/thumb/1/1a/Mavericks_Surf_Contest_2010a.jpg/800px-Mavericks_Surf_Contest_2010a.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="142" src="http://upload.wikimedia.org/wikipedia/commons/thumb/1/1a/Mavericks_Surf_Contest_2010a.jpg/800px-Mavericks_Surf_Contest_2010a.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;
As for Mavericks the OSX upgrade, I haven't downloaded it because I rely on a &lt;a href="http://draft.blogger.com/"&gt;&lt;span id="goog_447484386"&gt;&lt;/span&gt;MacBook Pro&lt;span id="goog_447484387"&gt;&lt;/span&gt;&lt;/a&gt; to ply my trade. I am patiently waiting for my smarter teammates to resolve any compatibility kinks with Chrome Driver that might confound our integration tests and potentially &lt;i&gt;munge&lt;/i&gt; other development artifacts so I don't end up &lt;i&gt;dead in the water&lt;/i&gt;.&lt;br /&gt;
&lt;div style="clear: both;"&gt;
&lt;/div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;REFERENCES&lt;/b&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.themillions.com/2013/11/apples-private-beach.html" rel="nofollow" target="_blank"&gt;Apple's Private Beach&lt;/a&gt;, The Millions, by Stewart Sinclair, November 13, 2013.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="clear: both; height: 30px;"&gt;
&lt;/div&gt;
</description><link>http://bobtuse.blogspot.com/2013/11/the-big-wave-operating-system.html</link><author>noreply@blogger.com (Bob MacNeal)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2201343077108877660.post-663838225323585407</guid><pubDate>Thu, 17 Oct 2013 21:08:00 +0000</pubDate><atom:updated>2013-10-17T17:26:28.673-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Agile Manifesto</category><category domain="http://www.blogger.com/atom/ns#">Alexander Osterwalder</category><category domain="http://www.blogger.com/atom/ns#">Brooklyn</category><category domain="http://www.blogger.com/atom/ns#">Business Model Canvas</category><category domain="http://www.blogger.com/atom/ns#">Customer Segments</category><category domain="http://www.blogger.com/atom/ns#">Eric Ries</category><category domain="http://www.blogger.com/atom/ns#">Frank Rimalovski</category><category domain="http://www.blogger.com/atom/ns#">I-Corps</category><category domain="http://www.blogger.com/atom/ns#">Jerry Engel</category><category domain="http://www.blogger.com/atom/ns#">Lean Startup</category><category domain="http://www.blogger.com/atom/ns#">Lyndsey Gray</category><category domain="http://www.blogger.com/atom/ns#">NSF</category><category domain="http://www.blogger.com/atom/ns#">Steve Blank</category><category domain="http://www.blogger.com/atom/ns#">Value Proposition</category><title>Bootstrapping Lessons from Brooklyn</title><description>&lt;a href="https://www.goodreads.com/book/show/13483687-the-startup-owner-s-manual" imageanchor="1" rel="nofollow" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;" target="_blank"&gt;&lt;img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5pf0AGEAIaqyGm9CJ07t2J9IixzGkO6S06TU26g5RBSl0s5894e-fP7iwwFKwu1uJuCm8ABcnuil-nvsc2toLpFL8YmB-CjvWw-pGK7ciFrLprj4X5mliW0hK9OwXQHUQm3_Sjxf-Ll1v/s200/startupmanual.jpg" style="border: 1px outset gray;" width="144" /&gt;&lt;/a&gt;Before attending an October &lt;a href="http://nciia.org/i-corps/" rel="nofollow" target="_blank"&gt;NSF I-Corps&lt;/a&gt; entrepreneurial workshop in Brooklyn, I finished the required reading:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Steve Blank's &lt;a href="https://www.goodreads.com/book/show/13483687-the-startup-owner-s-manual" rel="nofollow" target="_blank"&gt;The Startup Owner's Manual: The Step-By-Step Guide for Building a Great Company&lt;/a&gt;, and &lt;/li&gt;
&lt;li&gt;Alexander Osterwalder's &lt;a href="https://www.goodreads.com/book/show/7723797-business-model-generation?from_search=true" rel="nofollow" target="_blank"&gt;Business Model Generation: A Handbook for Visionaries, Game Changers, and Challengers&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
In this post I'll share a few things I took away from the workshop as an observer, and what I learned from the books.&lt;br /&gt;
&lt;br /&gt;
As a launching point, a startup was defined as:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;"A temporary organisation designed to search for a repeatable and scalable business model"&lt;/i&gt;&lt;/blockquote&gt;
I was struck by the phrase &lt;i&gt;temporary organization, &lt;/i&gt;but I suppose the idea is that once you become a revenue generating venture, you're no longer in the startup phase, rather you toggle the switches into an operational business where success is measured by how well you execute.&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;National Science Foundation I-Corps&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://www.nsf.gov/" imageanchor="1" rel="nofollow" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;" target="_blank"&gt;&lt;img border="0" height="76" src="http://www.nsf.gov/news/special_reports/i-corps/images/banner.jpg" style="border: outset 1px gray;" width="200" /&gt;&lt;/a&gt;&lt;br /&gt;
The &lt;i&gt;I&lt;/i&gt; in &lt;i&gt;I-Corps&lt;/i&gt; stands for &lt;i&gt;Innovation&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
There is a shift afoot in the &lt;a href="http://www.nsf.gov/" rel="nofollow" target="_blank"&gt;NSF&lt;/a&gt; away from funding stand-alone scientific research toward "broadening the impact" of basic research.&lt;br /&gt;
&lt;br /&gt;
One way to broaden the impact of scientific research is to fast-track the science into products and businesses. Ergo we have I-Corps. From the &lt;a href="http://www.nsf.gov/news/special_reports/i-corps/index.jsp" rel="nofollow" target="_blank"&gt;I-Corps website&lt;/a&gt;:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;The NSF Innovation Corps (I-Corps) is a set of activities and programs that prepare scientists and engineers to extend their focus beyond the laboratory and broadens the impact of select, NSF-funded, basic-research projects.&lt;/i&gt;&lt;/blockquote&gt;
&lt;div&gt;
I-Corps, and the Brooklyn workshop I attended, are rooted in the soil of the &lt;a href="http://en.wikipedia.org/wiki/Lean_Startup" rel="nofollow" target="_blank"&gt;Lean Startup&lt;/a&gt; movement.&lt;/div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;Context: Customer Discovery &amp;amp; Lean Startup&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://en.wikipedia.org/wiki/Steve_Blank" rel="nofollow" target="_blank"&gt;Steve Blank&lt;/a&gt; is the de facto graybeard of &lt;a href="http://en.wikipedia.org/wiki/Lean_Startup" rel="nofollow" target="_blank"&gt;Lean Startup&lt;/a&gt;. Lean Startup was proposed in 2011 by Blank's former student and entrepreneurial mentee, &lt;a href="http://en.wikipedia.org/wiki/Eric_Ries" rel="nofollow" target="_blank"&gt;Eric Ries&lt;/a&gt;. While Ries popularized the movement beyond the software community, Blank contributed the essential first step:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;Customer Discovery&lt;/i&gt;&lt;/blockquote&gt;
With the exception of Customer Discovery, &lt;a href="http://en.wikipedia.org/wiki/Minimum_viable_product" rel="nofollow" target="_blank"&gt;Minimum Viable Product&lt;/a&gt;, and the novel idea of iteratively testing a hypothesis about perceived customer value, much of Lean Startup is derived from the &lt;a href="http://en.wikipedia.org/wiki/Agile_software_development" rel="nofollow" target="_blank"&gt;Agile / XP&lt;/a&gt; movement which has been used for over a decade in the software community.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Historical Context: Waterfall → Agile → Lean Startup&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Software developers progressed from &lt;a href="http://en.wikipedia.org/wiki/Waterfall_model" rel="nofollow" target="_blank"&gt;Waterfall&lt;/a&gt; to &lt;a href="http://en.wikipedia.org/wiki/Agile_software_development" rel="nofollow" target="_blank"&gt;Agile&lt;/a&gt; and, more recently, into &lt;a href="http://en.wikipedia.org/wiki/Lean_Startup" rel="nofollow" target="_blank"&gt;Lean Startup&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://en.wikipedia.org/wiki/Waterfall_model" rel="nofollow" target="_blank"&gt;Waterfall&lt;/a&gt; is a sequential design process that was the canonical approach to software development for over 40 years. The stages of a waterfall are an unfortunate but apt metaphor for process rigidity (i.e., a new stage may not start until its immediate predecessor is completed).&lt;br /&gt;
&lt;br /&gt;
Out of the process rigidity of Waterfall came the Agile Manifesto (Snowbird, Utah 2001).&lt;br /&gt;
&lt;br /&gt;
Software developers have lived through the gains and pains of Agile implementations for over a decade (see &lt;a href="http://www.bobtuse.com/2010/12/bottom-up-change-agile-manifesto-at-10.html" rel="nofollow" target="_blank"&gt;Bottom-Up Change: The Agile Manifesto at 10&lt;/a&gt;). The lighter weight Agile taught us to embrace change, to adapt quickly to an evolving product vision, and to produce working software for the customer. Agile also taught us to iterate over bite-sized chucks of work and to reflect upon what we'd accomplished. We learned the value of incremental development. In short, we learned to&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;Plan, produce, and reflect.&lt;/i&gt;&lt;/blockquote&gt;
&lt;div&gt;
Much of the Agile mindset is well-suited for starting a business.&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;The Business Model Canvas&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Much of the workshop was centered about teaching graduate science and engineering students how to effectively use a &lt;a href="http://www.businessmodelgeneration.com/downloads/business_model_canvas_poster.pdf" rel="nofollow" target="_blank"&gt;Business Model Canvas&lt;/a&gt;.  A Business Model Canvas is a &lt;a href="http://en.wikipedia.org/wiki/Business_Model_Canvas" rel="nofollow" target="_blank"&gt;template&lt;/a&gt; for developing new business models. The primary directive of a startup is to search for a viable business model.&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;"Startups search. Companies execute."&lt;/i&gt;&lt;br /&gt;
― &lt;a href="https://twitter.com/rimalovski" rel="nofollow" target="_blank"&gt;Frank Rimalovski&lt;/a&gt;, NYU Entrepreneurial Institute.&lt;/blockquote&gt;
In the journey to find out if your model has legs, the Business Model Canvas is used to organize your hunches about what will sell and who your customers will be.&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.businessmodelgeneration.com/downloads/business_model_canvas_poster.pdf" imageanchor="1" rel="nofollow" style="margin-left: auto; margin-right: auto;" target="_blank"&gt;&lt;img border="0" height="227" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8CGQjdRuIkyycElR5yuKbiZSCGe5zLK19mSK5DxpLF9yRAUReJ_rlxRLWrT8XU91w6GxjNBK4yDGcgzLvPr2BEaOgjYnfIlJ7EPYeeQhyhwSanvnIov_1yfNakfyd8ErDNTf-qwcWGW2_/s400/BMC.png" style="border: 1px solid gray;" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="font-size: 13px;"&gt;Business Model Canvas&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
Over the course of the 3-day workshop, the Business Model Canvas became both narrative and scorecard. It was used for measuring progress in discovering the essential aspects of the model. Participants were charged with finding and interviewing potential customers so they could test their hunches. They were admonished to &lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;"Get out of the building!"&lt;/i&gt;&lt;/blockquote&gt;
And participants were urged to,&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;"Start thinking about the ecosystem...how the money flows."&lt;/i&gt;&lt;/blockquote&gt;
Participants were instructed to frame, trim, and hone their product concepts (and the written descriptions of their products) so that the gist of the product was easily and instantly communicated to a less sophisticated audience.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;"Frame the description of your product for your mother."&lt;/i&gt;&lt;br /&gt;
― Lyndsey Marshall Gray, &lt;a href="http://www.nyu.edu/about/university-initiatives/entrepreneurship-at-nyu/about/entrepreneurial-institute-team.html" rel="nofollow" target="_blank"&gt;NYU Entrepreneurial Institute&lt;/a&gt;&lt;/blockquote&gt;
I observed graduate students, called Entrepreneurial Leads or ELs, struggling to coherently and concisely express concepts like &lt;a href="http://en.wikipedia.org/wiki/Value_proposition" rel="nofollow" target="_blank"&gt;Value Proposition&lt;/a&gt; or &lt;a href="http://en.wikipedia.org/wiki/Customer_segment" rel="nofollow" target="_blank"&gt;Customer Segments&lt;/a&gt; to a panel of business experts and instructors who grilled them. Several times a panel member blurted out, &lt;i&gt;"Who cares?"&lt;/i&gt;&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;"This is delivery. We learn by doing."&lt;/i&gt;&lt;br /&gt;
― &lt;a href="http://facultybio.haas.berkeley.edu/faculty-list/engel-jerome" rel="nofollow" target="_blank"&gt;Jerry Engel&lt;/a&gt;, Berkeley-Haas School of Business&lt;/blockquote&gt;
A  &lt;a href="http://en.wikipedia.org/wiki/Value_proposition" rel="nofollow" target="_blank"&gt;Value Proposition&lt;/a&gt; is a promise of value. The Business Model Canvas has a box for Value Proposition, labeled&lt;b&gt; VP&lt;/b&gt;. Participants were encouraged to write their value propositions as testable assertions.&lt;br /&gt;
&lt;br /&gt;
A value proposition applies directly to one customer segment or another. The Business Model Canvas also has a box for Customer Segment, labeled&lt;b&gt; CS&lt;/b&gt;. The workshop instructors stressed the importance of being able to map a value proposition to a specific customer.&lt;br /&gt;
&lt;br /&gt;
When participants struggled with identifying their customer segments, they were encouraged to be concise and to think about the &lt;i&gt;pointy tip of the arrow&lt;/i&gt;.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;"Who are the people who will open their wallets first?"&lt;/i&gt;&lt;br /&gt;
―Lyndsey Marshall Gray, &lt;a href="http://www.nyu.edu/about/university-initiatives/entrepreneurship-at-nyu/about/entrepreneurial-institute-team.html" rel="nofollow" target="_blank"&gt;NYU Entrepreneurial Institute&lt;/a&gt;&lt;/blockquote&gt;
&lt;b&gt;Parting Wisdom&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Many scientists, and would-be entrepreneurs, are hyper-focused on technologies or alleged features rather than benefits because that's what they find most compelling, but the process of determining value, and who might buy a product, has more to do with the &lt;i&gt;Pains and Gains&lt;/i&gt; experienced by a potential customer.&lt;br /&gt;
&lt;br /&gt;
Like the Business Model Canvas, &lt;a href="https://www.goodreads.com/book/show/13483687-the-startup-owner-s-manual" rel="nofollow" target="_blank"&gt;The Startup Owner's Manual&lt;/a&gt;  and &lt;a href="https://www.goodreads.com/book/show/7723797-business-model-generation?from_search=true" rel="nofollow" target="_blank"&gt;Business Model Generation&lt;/a&gt; are dry and formulaic. But who am I to argue with success?&lt;br /&gt;
&lt;br /&gt;
By all accounts, searching for a business model is a step-by-step journey of conquering one of the aspects of business development that might be most uncomfortable to those of us who are socially-inept or analytically minded:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;Engaging people to validate your hunches about your product.&lt;/i&gt;&lt;/blockquote&gt;
Software startups must be able to distinguish between &lt;i&gt;users&lt;/i&gt; and &lt;i&gt;paying customers&lt;/i&gt; because they're not always one in the same.&lt;br /&gt;
&lt;br /&gt;
Stripped bare, Steve Blank's insight is that customer discovery is essential. One personal epiphany worth repeating over and over again for would-be software entrepreneurs:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;Don't bother coding anything until you discover &amp;amp; understand who's going to buy it.&lt;/i&gt;&lt;/blockquote&gt;
If you're attempting to bootstrap a software product or company, &lt;a href="https://www.goodreads.com/book/show/13483687-the-startup-owner-s-manual" rel="nofollow" target="_blank"&gt;The Startup Owner's Manual&lt;/a&gt; is essential reading because I'm betting the formulaic practices will save you months, if not years, of misguided effort.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;b&gt;REFERENCES &lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.businessmodelgeneration.com/downloads/business_model_canvas_poster.pdf" rel="nofollow" target="_blank"&gt;Business Model Canvas&lt;/a&gt;. PDF.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.goodreads.com/book/show/7723797-business-model-generation?from_search=true" rel="nofollow" target="_blank"&gt;Business Model Generation: A Handbook for Visionaries, Game Changers, and Challengers&lt;/a&gt;, Alexander Osterwalder.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.nsf.gov/news/special_reports/i-corps/index.jsp" rel="nofollow" target="_blank"&gt;NSF Innovation Corps&lt;/a&gt;. National Science Foundation.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.goodreads.com/book/show/13483687-the-startup-owner-s-manual" rel="nofollow" target="_blank"&gt;The Startup Owner's Manual: The Step-By-Step Guide for Building a Great Company&lt;/a&gt;, Steve Blank.&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;SUPPLEMENTAL READING&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.bobtuse.com/2010/12/bottom-up-change-agile-manifesto-at-10.html" rel="nofollow" target="_blank"&gt;Bottom-Up Change: The Agile Manifesto at 10&lt;/a&gt;, Bobtuse Bobservations.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.bobtuse.com/2009/10/design-serves-human-purpose.html" rel="nofollow" target="_blank"&gt;Design Serves Human Purpose&lt;/a&gt;, Bobtuse Bobservations&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.bobtuse.com/2010/10/what-is-hypothesis-testing.html" rel="nofollow" target="_blank"&gt;Hypothesis Testing &amp;amp; Software&lt;/a&gt;, Bobtuse Bobservations&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="clear: both; height: 30px;"&gt;
&lt;/div&gt;
</description><link>http://bobtuse.blogspot.com/2013/10/bootstrapping-lessons-from-brooklyn.html</link><author>noreply@blogger.com (Bob MacNeal)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5pf0AGEAIaqyGm9CJ07t2J9IixzGkO6S06TU26g5RBSl0s5894e-fP7iwwFKwu1uJuCm8ABcnuil-nvsc2toLpFL8YmB-CjvWw-pGK7ciFrLprj4X5mliW0hK9OwXQHUQm3_Sjxf-Ll1v/s72-c/startupmanual.jpg" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2201343077108877660.post-6092416747069878308</guid><pubDate>Mon, 30 Sep 2013 17:47:00 +0000</pubDate><atom:updated>2013-10-08T23:10:43.090-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Culture</category><category domain="http://www.blogger.com/atom/ns#">Marissa Mayer</category><category domain="http://www.blogger.com/atom/ns#">Microsoft</category><category domain="http://www.blogger.com/atom/ns#">Product-centric</category><category domain="http://www.blogger.com/atom/ns#">Product-focused</category><category domain="http://www.blogger.com/atom/ns#">Software Development Community</category><category domain="http://www.blogger.com/atom/ns#">Steve Jobs</category><category domain="http://www.blogger.com/atom/ns#">Turn-around</category><category domain="http://www.blogger.com/atom/ns#">Vivek Wadhwa</category><title>Shorting Microsoft?</title><description>&lt;a href="http://upload.wikimedia.org/wikipedia/commons/2/27/Microsoft_sign_closeup.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="150" src="http://upload.wikimedia.org/wikipedia/commons/2/27/Microsoft_sign_closeup.jpg" width="200" /&gt;&lt;/a&gt;Are you&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Short_selling" rel="nofollow" target="_blank"&gt;short selling&lt;/a&gt; &lt;a href="http://en.wikipedia.org/wiki/Microsoft" rel="nofollow" target="_blank"&gt;Microsoft&lt;/a&gt;?&lt;br /&gt;
&lt;br /&gt;
Technology entrepreneur and academic &lt;a href="http://en.wikipedia.org/wiki/Vivek_Wadhwa" rel="nofollow" target="_blank"&gt;Vivek Wadhwa&lt;/a&gt; asks, &lt;a href="http://www.pbs.org/newshour/rundown/2013/08/can-microsoft-be-saved-maybe-not.html" rel="nofollow" target="_blank"&gt;Can Microsoft  be saved?&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Wadhwa's &lt;a href="http://www.pbs.org/newshour/rundown/2013/08/can-microsoft-be-saved-maybe-not.html" rel="nofollow" target="_blank"&gt;PBS article&lt;/a&gt; offers a glimmer of hope for Microsoft in its wealth of great people.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;"But there is still hope for Microsoft. It has a wealth of great people and great technologies in its labs. They need to be untethered from the central bureaucracy and set free to compete and take big risks. I am not too optimistic, though, that this will happen. I worry that Microsoft will go the way of Kodak, RIM and Nokia -- or even the former Soviet Union -- all of which tanked because they were busy protecting old turf."&lt;/i&gt;&lt;br /&gt;
― &lt;a href="http://en.wikipedia.org/wiki/Vivek_Wadhwa" rel="nofollow" target="_blank"&gt;Vivek Wadhwa&lt;/a&gt;&lt;/blockquote&gt;
&lt;div&gt;
As one who has used Microsoft's software development products extensively and almost exclusively in years past, my opinions about Microsoft align with Vivek Wadha's critique of Microsoft's fate.&lt;/div&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;Perhaps Microsoft will be saved, but it will be a tough row to hoe.&lt;/i&gt;&lt;/blockquote&gt;
&lt;b&gt;Culture-Changing &amp;amp; Product Focused&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://upload.wikimedia.org/wikipedia/commons/thumb/c/c2/Marissa_Mayer_speaking_at_TechCrunch_2008.jpg/400px-Marissa_Mayer_speaking_at_TechCrunch_2008.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="200" src="http://upload.wikimedia.org/wikipedia/commons/thumb/c/c2/Marissa_Mayer_speaking_at_TechCrunch_2008.jpg/400px-Marissa_Mayer_speaking_at_TechCrunch_2008.jpg" width="133" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Yahoo! CEO Mayer&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
We all thought &lt;a href="http://pressroom.yahoo.net/pr/ycorp/management.aspx" rel="nofollow" target="_blank"&gt;Yahoo!&lt;/a&gt; was dead, but against all odds, &lt;a href="http://en.wikipedia.org/wiki/Marissa_Mayer" rel="nofollow" target="_blank"&gt;Marissa Mayer&lt;/a&gt; is reviving &lt;a href="http://pressroom.yahoo.net/pr/ycorp/management.aspx" rel="nofollow" target="_blank"&gt;Yahoo!&lt;/a&gt;&amp;nbsp;Microsoft sorely needs a culture-changing &amp;amp; product-focused CEO like &lt;a href="http://en.wikipedia.org/wiki/Marissa_Mayer" rel="nofollow" target="_blank"&gt;Mayer&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Microsoft has a busted culture that historically pitted one division against another. Microsoft is also burdened with a shitty stable of over-priced, sever-centric products.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;Windows 8? Fahgettaboutit!
&lt;/i&gt;&lt;/blockquote&gt;
Not only has Microsoft been late on just about everything the last decade, they've also lost the software development community. Losing the software development community is one big, sloppy kiss of death. For today's software developer, having too much Microsoft on your LinkedIn profile is a liability that says,&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;"I'm old school &amp;amp; unmotivated to learn new stuff".&lt;/i&gt;&lt;/blockquote&gt;
No software product start-up worth its salt builds on the Microsoft tech stack. The price of entry is too high, the tools are insular, and the ecosystems around the tools are anemic when compared to competing tech stacks.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Nuke &amp;amp; Pave?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Microsoft needs the &lt;a href="http://en.wikipedia.org/wiki/Marissa_Mayer" rel="nofollow" target="_blank"&gt;Marissa Mayer&lt;/a&gt; playbook. Microsoft's new CEO will have to nuke and pave the culture, then put a laser focus on products. Borrowing from &lt;a href="http://en.wikipedia.org/wiki/Steve_jobs" rel="nofollow" target="_blank"&gt;Steve Jobs&lt;/a&gt;, the Microsoft product line must be trimmed and profoundly simplified.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://upload.wikimedia.org/wikipedia/commons/thumb/9/92/Affinity_group_collateral_damage.jpg/381px-Affinity_group_collateral_damage.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="200" src="http://upload.wikimedia.org/wikipedia/commons/thumb/9/92/Affinity_group_collateral_damage.jpg/381px-Affinity_group_collateral_damage.jpg" width="126" /&gt;&lt;/a&gt;&lt;b&gt;Make it Cool?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
You don't see many hipsters booting Windows 8 in your local coffee shop do you?&lt;br /&gt;
&lt;br /&gt;
Creating, sustaining, or turning-around a company usually boils down to people and buzz. Underlying and buttressing the buzz are kick-ass products that aid and delight.&lt;br /&gt;
&lt;br /&gt;
One of the questions the new CEO should address is,&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;How do we win back the software development community?&lt;/i&gt;&lt;/blockquote&gt;
Somehow the new CEO needs to make it &lt;i&gt;cool&lt;/i&gt; to have Microsoft chops again.﻿
&lt;br /&gt;
&lt;div style="clear: both; height: 30px;"&gt;
&lt;/div&gt;
</description><link>http://bobtuse.blogspot.com/2013/09/shorting-microsoft.html</link><author>noreply@blogger.com (Bob MacNeal)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2201343077108877660.post-3279662662819774965</guid><pubDate>Wed, 28 Aug 2013 10:23:00 +0000</pubDate><atom:updated>2013-08-28T15:31:38.650-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Bitbucket</category><category domain="http://www.blogger.com/atom/ns#">Branch</category><category domain="http://www.blogger.com/atom/ns#">Commit</category><category domain="http://www.blogger.com/atom/ns#">Feature Branch</category><category domain="http://www.blogger.com/atom/ns#">Git</category><category domain="http://www.blogger.com/atom/ns#">GitHub</category><category domain="http://www.blogger.com/atom/ns#">Merge</category><category domain="http://www.blogger.com/atom/ns#">Pull Request</category><category domain="http://www.blogger.com/atom/ns#">Shared Repository</category><category domain="http://www.blogger.com/atom/ns#">Trunk</category><category domain="http://www.blogger.com/atom/ns#">Workflow</category><title>Pull Requests for Teams</title><description>&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; text-align: right;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://upload.wikimedia.org/wikipedia/commons/thumb/8/8e/WLA_metmuseum_Vincent_van_Gogh_Sunflowers_2.jpg/800px-WLA_metmuseum_Vincent_van_Gogh_Sunflowers_2.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="142" src="http://upload.wikimedia.org/wikipedia/commons/thumb/8/8e/WLA_metmuseum_Vincent_van_Gogh_Sunflowers_2.jpg/800px-WLA_metmuseum_Vincent_van_Gogh_Sunflowers_2.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Sunflowers, 1887&lt;br /&gt;
Vincent van Gogh&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
If you recognize a measure of truth in the proverb:&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;Two heads are better than one,&lt;/i&gt;&lt;/blockquote&gt;
you will want to experiment with the &lt;i&gt;Pull Request&lt;/i&gt; workflow with your next software team.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Pull Request Workflow&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The Pull Request workflow, implemented by popular shared source code repositories like &lt;a href="https://github.com/" rel="nofollow" target="_blank"&gt;GitHub&lt;/a&gt; and &lt;a href="https://bitbucket.org/" rel="nofollow" target="_blank"&gt;Bitbucket&lt;/a&gt;, is an excellent means to spark team discussions and improve code quality.&lt;br /&gt;
&lt;br /&gt;
Like a classic Greek ode, the Pull Request Workflow has three &lt;i&gt;call &amp;amp; response&lt;/i&gt; parts:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Branch;&lt;/li&gt;
&lt;li&gt;Discussion; and&lt;/li&gt;
&lt;li&gt;Merge&lt;/li&gt;
&lt;/ol&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIeTdHyGcyYq3FTsjsMC4AXzhFpivISDUk_bA4pE472T9XkG1mKvU8jPuLDmp5xjEjFBBML7mGPyEJ9kfb-jvkwEZCxkZldrKRYA8Sy5zHeVyqnc8ept9NQrFOHOW6fGsUHZ60l0ZQAO55/s1600/prdiagram.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="120" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIeTdHyGcyYq3FTsjsMC4AXzhFpivISDUk_bA4pE472T9XkG1mKvU8jPuLDmp5xjEjFBBML7mGPyEJ9kfb-jvkwEZCxkZldrKRYA8Sy5zHeVyqnc8ept9NQrFOHOW6fGsUHZ60l0ZQAO55/s640/prdiagram.png" width="520" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Pull Request Workflow: 1. Branch; 2. Discussion; and 3. Merge&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
Following is a sample workflow for a hypothetical feature called &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;more_cowbell&lt;/span&gt;.
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1. Branch&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Assuming you have already &lt;a href="http://gitref.org/creating/" rel="nofollow" target="_blank"&gt;cloned&lt;/a&gt; (downloaded) a shared repository to your local machine, the first step is to create a branch off of the trunk (often called master).&lt;br /&gt;
&lt;br /&gt;
Following are series of git terminal commands that will get you to the point where you can modify code. Typically you will create a local branch from the shared repository to work on a new feature or a bug.&lt;br /&gt;
&lt;br /&gt;
Create the &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;more_cowbell&lt;/span&gt; branch as follows:&lt;br /&gt;
&lt;br /&gt;
&lt;table cellpadding="0" cellspacing="0" style="border: outset 1px silver;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="background-color: beige; font-family: Courier New, Courier, monospace; padding: 5px 5px 5px 5px; white-space: nowrap;"&gt;(master) $ git checkout -b more_cowbell&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
Then checkout the newly created local branch as follows:&lt;br /&gt;
&lt;br class="Apple-interchange-newline" /&gt;
&lt;table cellpadding="0" cellspacing="0" style="border: 1px outset silver;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="background-color: beige; font-family: 'Courier New', Courier, monospace; padding: 5px; white-space: nowrap;"&gt;$ git checkout more_cowbell&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
Think of &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;more_cowbell&lt;/span&gt; as your local &lt;i&gt;sandbox&lt;/i&gt;. Now make additions, deletions, or changes, then create/run unit tests and integration tests, and commit your changes. Or if you prefer &lt;i&gt;test-first&lt;/i&gt;, do the tests first, then commit.&lt;br /&gt;
&lt;br class="Apple-interchange-newline" /&gt;
&lt;table cellpadding="0" cellspacing="0" style="border: 1px outset silver;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="background-color: beige; font-family: 'Courier New', Courier, monospace; padding: 5px; white-space: nowrap;"&gt;(more_cowbell) $ git commit -am "Add more cowbell"&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
Finally you're ready to &lt;i&gt;push&lt;/i&gt; your changes back to the shared repository for review, discussion, and a potential merge back to master.&lt;br /&gt;
&lt;br /&gt;
&lt;table cellpadding="0" cellspacing="0" style="border: 1px outset silver;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="background-color: beige; font-family: 'Courier New', Courier, monospace; padding: 5px; white-space: nowrap;"&gt;(more_cowbell) $ git push -u origin more_cowbell&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;b&gt;2. Discussion&lt;/b&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
Go to your shared repository on GitHub, Bitbucket, or other. Locate the &lt;span style="font-family: Courier New, Courier, monospace;"&gt;more_cowbell&lt;/span&gt; branch you pushed in Step #1.&lt;br /&gt;
&lt;br /&gt;
GitHub and Bitbucket both have side-by-side comparison tools. Use the compare tools to carefully inspect the proposed changes by comparing &lt;span style="font-family: Courier New, Courier, monospace;"&gt;more_cowbell&lt;/span&gt; with master.&lt;br /&gt;
&lt;br /&gt;
When you're ready to open your proposed &lt;span style="font-family: Courier New, Courier, monospace;"&gt;more_cowbell&lt;/span&gt; changes to a team discussion, locate and click the Pull Request link (or button).&lt;br /&gt;

&lt;br /&gt;
&lt;div&gt;
Your teammates will be notified of your Pull Request. They will then review your changes, post comments on individual lines of code, or post general comments on the Pull Request. Typical comments might involve issues with formatting, the location of a method, notification of code duplication, suggestions for refactoring, etc.&lt;br /&gt;
&lt;br /&gt;
It is courteous to respond to the comments posted on your Pull Request in a timely and respectful fashion. A concise and courteous response from you following a &lt;i&gt;"you might want to..."&lt;/i&gt; comment might be:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;"Good catch. Will do."&lt;/i&gt;&lt;/blockquote&gt;
Some teams use &lt;a href="http://www.thefreedictionary.com/round+robin" rel="nofollow" target="_blank"&gt;round-robin&lt;/a&gt; to determine who reviews a given Pull Request with each developer assuming the role of &lt;i&gt;reviewer&lt;/i&gt;. Other teams assign one or more lead developers to review all the Pull Requests. Most teams encourage the entire team to look at and comment on Pull Requests as time permits.&lt;br /&gt;
&lt;br /&gt;
Others may add commits to your branch by doing a fetch and a checkout of &lt;span style="font-family: Courier New, Courier, monospace;"&gt;more_cowbell&lt;/span&gt; on their local machines. They would follow the same workflow of modify, commit, and push back to the shared repository. Presumably more discussion would ensue.&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;
&lt;b&gt;3. Merge&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
After ample discussion, and perhaps following some additional changes or tweaks that have been suggested to you, someone other than you will merge your changes to master.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Summary&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
For me, the essence of a Pull Request is:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;to learn from my teammates, and&lt;/li&gt;
&lt;li&gt;to agree upon what constitutes a worthy addition or an incremental improvement.&lt;/li&gt;
&lt;/ul&gt;
Like me, most developers readily agree that code reviews improve quality. And like me, most developers dread the traditional code review because it often means an uncomfortable one-on-one encounter with a high-ranking &lt;a href="http://en.wikipedia.org/wiki/Alpha_(ethology)" rel="nofollow" target="_blank"&gt;alpha&lt;/a&gt; developer where one is made to feel defensive or worse, incompetent.&lt;br /&gt;
&lt;br /&gt;
Pull Requests feel less authoritarian and more democratic. It is a lightweight quality improvment process more in the mode of discussion and edification, than in the mode of admonishment. It has been my experience that Pull Requests spark discussions about the code and the craft which, in turn, tends to improve the quality of the code.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;I'm all in favor of the democratic principle that one idiot is as good as one genius, but I draw the line when someone takes the next step and concludes that two idiots are better than one genius.&lt;/i&gt;&lt;br /&gt;
-&lt;a href="http://en.wikipedia.org/wiki/Le%C3%B3_Szil%C3%A1rd" rel="nofollow" target="_blank"&gt;Leo Szilard&lt;/a&gt;&lt;/blockquote&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;References&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://confluence.atlassian.com/display/BITBUCKET/Work+with+pull+requests" rel="nofollow" target="_blank"&gt;Work with Pull Requests&lt;/a&gt;, Bitbucket.org.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://help.github.com/articles/using-pull-requests" rel="nofollow" target="_blank"&gt;Using Pull Requests&lt;/a&gt;, Github.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://codeinthehole.com/writing/pull-requests-and-other-good-practices-for-teams-using-github/" rel="nofollow" target="_blank"&gt;Effective pull requests and other good practices for teams using github&lt;/a&gt;, David Winterbottom, October 20, 2012.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</description><link>http://bobtuse.blogspot.com/2013/08/pull-requests-for-teams.html</link><author>noreply@blogger.com (Bob MacNeal)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIeTdHyGcyYq3FTsjsMC4AXzhFpivISDUk_bA4pE472T9XkG1mKvU8jPuLDmp5xjEjFBBML7mGPyEJ9kfb-jvkwEZCxkZldrKRYA8Sy5zHeVyqnc8ept9NQrFOHOW6fGsUHZ60l0ZQAO55/s72-c/prdiagram.png" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2201343077108877660.post-4497801229811389173</guid><pubDate>Sun, 14 Jul 2013 18:10:00 +0000</pubDate><atom:updated>2013-07-14T13:15:24.939-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Agile</category><category domain="http://www.blogger.com/atom/ns#">Craftsmanship Surcharge</category><category domain="http://www.blogger.com/atom/ns#">Dogma</category><category domain="http://www.blogger.com/atom/ns#">Hyperbole</category><category domain="http://www.blogger.com/atom/ns#">Situational Utility</category><category domain="http://www.blogger.com/atom/ns#">Situationally-dependent</category><category domain="http://www.blogger.com/atom/ns#">TDD</category><category domain="http://www.blogger.com/atom/ns#">Test-First</category><category domain="http://www.blogger.com/atom/ns#">XP</category><category domain="http://www.blogger.com/atom/ns#">You're Doing it Wrong</category><title>I'm Doing it Wrong? Really?</title><description>&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihqZ56YZPEhbHW4tiWHvTan735eiwWGnYIvehwbYA8wOfMakrKPJw3VnXm4YckvLwoANlD3Zp0CIPfkcDB6Z5lKJr-Zr8gqWh5Yjb_mS-E9XkGTb6opBBf3_9qncyHz21qhtSYJvxamOZt/s1600/bush_doing_it_wrong_2.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="179" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihqZ56YZPEhbHW4tiWHvTan735eiwWGnYIvehwbYA8wOfMakrKPJw3VnXm4YckvLwoANlD3Zp0CIPfkcDB6Z5lKJr-Zr8gqWh5Yjb_mS-E9XkGTb6opBBf3_9qncyHz21qhtSYJvxamOZt/s200/bush_doing_it_wrong_2.jpg" width="200" /&gt;&lt;/a&gt;I chafe at how freely many of us will say&lt;i&gt; &lt;a href="http://knowyourmeme.com/memes/youre-doing-it-wrong" rel="nofollow" target="_blank"&gt;you're doing it wrong&lt;/a&gt;.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Sometimes distinguishing a &lt;i&gt;right way&lt;/i&gt; from a &lt;i&gt;wrong way&lt;/i&gt; is easy. Sometimes it's not.&lt;br /&gt;
&lt;br /&gt;
Holding a telephone handset upside down appears laughably &lt;i&gt;wrong&lt;/i&gt; - unless you're doing a comedy bit (where it might appear laughably right).&lt;br /&gt;
&lt;br /&gt;
The &lt;i&gt;wrong way&lt;/i&gt; to produce software is not as obvious as holding a telephone handset upside down.&lt;br /&gt;
&lt;br /&gt;
Producing software involves contextually-dependent variables. We are faced with business constraints, technical hurdles, and inter-personal challenges. Constraints, hurdles, and challenges are situationally-dependent. Constraints, hurdles, and challenges vary from product to product, and change from one environment to the next.&lt;br /&gt;
&lt;br /&gt;
What might have seemed &lt;i&gt;&lt;b&gt;wildly right&lt;/b&gt;&lt;/i&gt; in one context, might be &lt;i&gt;&lt;b&gt;wildly wrong&lt;/b&gt;&lt;/i&gt; in another.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Your Dogma Ran Over Your Karma&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
A post was shared on &lt;a href="http://www.linkedin.com/groups/agile-net-practitioners-131804/about" rel="nofollow" target="_blank"&gt;agile .net practitioners&lt;/a&gt; with the title "&lt;b&gt;If you are building applications without writing your tests first then you are doing it wrong.&lt;/b&gt; The title was probably meant to attract attention, and the post was probably written in the vein of self-promotion, but it got my attention.&lt;br /&gt;
&lt;br /&gt;
I have benefited from the virtues of &lt;a href="http://en.wikipedia.org/wiki/Test-driven_development" rel="nofollow" target="_blank"&gt;Test First&lt;/a&gt;, but the statement, &lt;i&gt;"If you are building applications without writing your tests first then you are doing it wrong"&lt;/i&gt; seems hyperbolic, naive and unnecessarily dogmatic.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Situational Utility&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://en.wikipedia.org/wiki/Test-driven_development" rel="nofollow" target="_blank"&gt;Test-Driven Development&lt;/a&gt; (TDD) and Test-First have become catchphrases. Who hasn't been endorsed for TDD on their &lt;a href="http://www.linkedin.com/profile/view?id=11385891" rel="nofollow" target="_blank"&gt;LinkedIn profile&lt;/a&gt;?&lt;br /&gt;
&lt;br /&gt;
Several developers I know use Test First exclusively. Many more developers I know talk about Test First, but do Test After. Still more developers I know appreciate and espouse the virtues of Test-Driven Development, but rarely use it. Hardly anyone doesn't, at least, pay lip service to TDD.&lt;br /&gt;
&lt;br /&gt;
Developers encounter many different situations. It follows that there are many ways to approach the tasks at hand. TDD is not the holy grail.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Craftsmanship Surcharge&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
There is at least one situation, and perhaps several more, where TDD or Test First adds a gratuitous &lt;i&gt;craftsmanship surcharge&lt;/i&gt; to the bill.&lt;br /&gt;
&lt;br /&gt;
Lets say you are contracted by a start-up to iterate from an initial proposition to a viable business model. Is TDD a cost-saving approach? Probably not. While the code might be flawless, TDD slows down the cycle of testing a business proposition thereby increasing the start-up's burn rate. Many start-ups don't need flawless code during the market testing phase. The reality is that there is going to be throw-away code, particularly in the context of a &lt;a href="http://en.wikipedia.org/wiki/Lean_Startup" rel="nofollow" target="_blank"&gt;lean start-up&lt;/a&gt; where the team is meant to be in iterative learning mode.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Be Kind, Rewind&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7NZlXBHhwg0-MzbGgxdqZQhu4H7ZhFSBhBNWfA7QvMOsXsEROhABTaFYhWlqWtKIJWftlEpl2tszUqvVCKzCaY7nvFJ64QU09Nu60OINSRUm7kCt3iMSEKXXEcNEvx-jPn0mvaP1HS8lu/s1600/bluntinstrument.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7NZlXBHhwg0-MzbGgxdqZQhu4H7ZhFSBhBNWfA7QvMOsXsEROhABTaFYhWlqWtKIJWftlEpl2tszUqvVCKzCaY7nvFJ64QU09Nu60OINSRUm7kCt3iMSEKXXEcNEvx-jPn0mvaP1HS8lu/s200/bluntinstrument.png" width="192" /&gt;&lt;/a&gt;Several of the useful things many of us picked up in the early days of &lt;a href="http://en.wikipedia.org/wiki/Extreme_programming" rel="nofollow" target="_blank"&gt;XP&lt;/a&gt;, and during the maturation of &lt;a href="http://en.wikipedia.org/wiki/Agile_software_development" rel="nofollow" target="_blank"&gt;Agile&lt;/a&gt;, are too often applied as blunt instruments to pummel our less dogmatic teammates.&lt;br /&gt;
&lt;br /&gt;
TDD can be a blunt instrument. Just like the common misapplication of Stand-ups, Retros, and Burn-down charts, Test First can degrade to an abrasive &lt;a href="http://en.wikipedia.org/wiki/Command_and_control" rel="nofollow" target="_blank"&gt;command-and-control&lt;/a&gt; directive as readily as it can prove to be a prudent practice.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;The What and The Why&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Approaches, practices and tools have a place when they serve The What and The Why. We agree craftsmanship deserves attention. As practitioners we love bullet-proof code. Many of us have gotten proficient at The How and The When&lt;b&gt;.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
I'm self-critical. I know I might be doing it wrong. In many cases, I &lt;i&gt;presume&lt;/i&gt; to be wrong. But increasingly I don't care so much for The How or The When.&lt;br /&gt;
&lt;br /&gt;
I'm reviving my old mantra: &lt;i&gt;Don't Lose Sight of The What and The Why&lt;/i&gt;.
&lt;br /&gt;
&lt;div style="clear: both; height: 30px;"&gt;
&lt;/div&gt;
</description><link>http://bobtuse.blogspot.com/2013/07/im-doing-it-wrong-really.html</link><author>noreply@blogger.com (Bob MacNeal)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihqZ56YZPEhbHW4tiWHvTan735eiwWGnYIvehwbYA8wOfMakrKPJw3VnXm4YckvLwoANlD3Zp0CIPfkcDB6Z5lKJr-Zr8gqWh5Yjb_mS-E9XkGTb6opBBf3_9qncyHz21qhtSYJvxamOZt/s72-c/bush_doing_it_wrong_2.jpg" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2201343077108877660.post-4667478142788217505</guid><pubDate>Sat, 19 Jan 2013 01:44:00 +0000</pubDate><atom:updated>2013-01-19T12:20:52.074-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Agile Manifesto</category><category domain="http://www.blogger.com/atom/ns#">Commoditized Agile</category><category domain="http://www.blogger.com/atom/ns#">R. Buckminster Fuller</category><category domain="http://www.blogger.com/atom/ns#">Shunryu Suzuki</category><category domain="http://www.blogger.com/atom/ns#">Snake Oil</category><title>A Personal Approach to Agility</title><description>I will always appreciate the spirit of the &lt;a href="http://agilemanifesto.org/" rel="nofollow" target="_blank"&gt;Agile Manifesto&lt;/a&gt;. I revisit the&lt;a href="http://agilemanifesto.org/principles.html" rel="nofollow" target="_blank"&gt; 12 principles behind&lt;/a&gt; the Agile Manifesto on occasion, particularly after experiencing recipe-driven nincompoops who use the principles as blunt instruments to flog me and fellow developers.&lt;br /&gt;
&lt;br /&gt;
I am also increasingly surprised by how disconnected &lt;i&gt;Conference Circuit Agilists&lt;/i&gt; have become from producing software. Pithy anecdotes don't often jibe with in-the-trenches experience.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;A Personal Approach
&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
As an itinerant software maker, I enjoy the inter-personal stuff of software teams. I also enjoy the process stuff, but mainly in environments where the process remains in a state of continuous improvement.&lt;br /&gt;
&lt;br /&gt;
Improvement has little to do with output and a much more to do with making software that people like to use. My approach is born from trial and error. I hope my approach remains in continuous improvement. I hope it remains simple.&lt;br /&gt;
&lt;br /&gt;
I try to understand the context of the product challenges. I like to think I have become less dogmatic and grown more pragmatic. I try to be sensitive to the social dynamics of the organization that has invited me in. Some truisms are:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Recognize every product is different - &lt;i&gt;There's no one-size-fits-all in producing software&lt;/i&gt;. &lt;/li&gt;
&lt;li&gt;Build capital by getting stuff done - &lt;i&gt;There are few bigger chits than working software.&lt;/i&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi01mzYT-ImVqRp_pk80spDebNJ0h8u3nRfLbjO3daKn4_tM6fmcfkpvPE0XQd9AjUcaeSLXosJrEVZw6j0dBubJgUP-XxbdyoVjIAuU1Y_W5fB1UjOkIOfGZ7MOIYHhDu5-TjoR7f3AZch/s1600/som.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi01mzYT-ImVqRp_pk80spDebNJ0h8u3nRfLbjO3daKn4_tM6fmcfkpvPE0XQd9AjUcaeSLXosJrEVZw6j0dBubJgUP-XxbdyoVjIAuU1Y_W5fB1UjOkIOfGZ7MOIYHhDu5-TjoR7f3AZch/s200/som.png" width="125" /&gt;&lt;/a&gt;Assuming you have banked some capital with your benefactors:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Protest &amp;amp; respectfully resist process ceremony - &lt;i&gt;Process ceremony wastes everyone's time&lt;/i&gt;. &lt;/li&gt;
&lt;li&gt;Practice the things that make sense - &lt;i&gt;If it has to make sense, it's always a fluid practice&lt;/i&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
My approach is a &lt;i&gt;state of mind&lt;/i&gt;, rather than a recipe.
&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;"In the beginner's mind there are many possibilities, but in the expert's mind there are few"&lt;/i&gt;&lt;br /&gt;
-&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Shunryu_Suzuki" rel="nofollow" target="_blank"&gt;Shunryu Suzuki&lt;/a&gt;
&lt;/blockquote&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;Commoditized Agile&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Commoditized Agile is a market-driven, largely failed, money-making machine. It is a prescriptive approach that metastasized from what began as the agile movement. Behind the guise of agile, ne'er-do-wells seized the chance to make a living lecturing people about&amp;nbsp;&lt;i&gt;The Best&lt;/i&gt; way to make software.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;a href="http://upload.wikimedia.org/wikipedia/commons/d/d5/Volkswagen_Assembly_Line_in_Wolfsburg_(1960).jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="133" src="http://upload.wikimedia.org/wikipedia/commons/d/d5/Volkswagen_Assembly_Line_in_Wolfsburg_(1960).jpg" width="200" /&gt;&lt;/a&gt;&lt;i&gt;It's the product of opportunists and lazy organizations.&lt;/i&gt;&lt;/blockquote&gt;
Lazy organizations, seeking the easy pills, threw money at a &lt;i&gt;state of mind&lt;/i&gt; believing it would somehow morph into a &lt;i&gt;prescriptive remedy&lt;/i&gt; for unhappy employees and crappy software.&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Opportunists packaged prescriptive service offerings and over-featured software products around a set of principles that were probably never intended to be prescriptive.&lt;/li&gt;
&lt;li&gt;Organizations seized on &lt;i&gt;something new&lt;/i&gt;, so they had to throw money at the &lt;i&gt;something new&lt;/i&gt; as proof they were &lt;i&gt;doing it&lt;/i&gt;.&lt;/li&gt;
&lt;/ul&gt;
Commoditized Agile as troweled out by &lt;i&gt;Conference Circuit Agilists&lt;/i&gt;, several of whom couldn't possibly have time to produce software, is mostly snake oil. Commoditized Agile, as represented by a host of crappy software products targeted at organizations who are "doing agile", is poorly conceived.
&lt;br /&gt;
&lt;br /&gt;
The lessons are simple. Find a personal approach that's an aggregation of trial and error. Co-opt the best ideas of others. Apply those ideas where they make sense. Deep-six any process with the scent of gratuitous ceremony. Remain skeptical of shiny new things. Get rid of tools that hinder your progress. Beware of charlatans selling snake oil.&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;"You never change things by fighting the existing reality. To change something, build a new model that makes the existing model obsolete."&lt;/i&gt;&lt;br /&gt;
- R. Buckminster Fuller&lt;/blockquote&gt;
&lt;br /&gt;
&lt;b&gt;Postscript&lt;/b&gt;
&lt;br /&gt;
&lt;br /&gt;
I've been told in a tweet that this post is a bit cynical. So readers should know that I almost always enjoy the smart people I work with. In fact, &lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;The joy I get from the people I work with invariably outweighs the profound organizational stupidity I encounter.
&lt;/i&gt;&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div style="clear: both; height: 25px;"&gt;
&lt;/div&gt;
</description><link>http://bobtuse.blogspot.com/2013/01/a-personal-approach-to-agility.html</link><author>noreply@blogger.com (Bob MacNeal)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi01mzYT-ImVqRp_pk80spDebNJ0h8u3nRfLbjO3daKn4_tM6fmcfkpvPE0XQd9AjUcaeSLXosJrEVZw6j0dBubJgUP-XxbdyoVjIAuU1Y_W5fB1UjOkIOfGZ7MOIYHhDu5-TjoR7f3AZch/s72-c/som.png" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2201343077108877660.post-6043282599881616439</guid><pubDate>Sat, 24 Nov 2012 19:13:00 +0000</pubDate><atom:updated>2012-11-24T13:26:28.536-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">37Signals</category><category domain="http://www.blogger.com/atom/ns#">Assertive Software</category><category domain="http://www.blogger.com/atom/ns#">Ayende Rahien</category><category domain="http://www.blogger.com/atom/ns#">Jason Fried</category><category domain="http://www.blogger.com/atom/ns#">Opinionated Software</category><title>Simple, Assertive Software</title><description>Do you want your app to &lt;i&gt;Kick Ass &amp;amp; Call it &lt;a href="http://www.imdb.com/title/tt0066011/" rel="nofollow" target="_blank"&gt;Love Story&lt;/a&gt;&lt;/i&gt;? Keep it simple. And make it assertive.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
Focus on doing &lt;i&gt;at least one thing right&lt;/i&gt;. 
&lt;/blockquote&gt;
Distill that &lt;i&gt;thing&lt;/i&gt; to its essence. Industrial designer &lt;a href="http://en.wikipedia.org/wiki/Dieter_Rams" rel="nofollow" target="_blank"&gt;Dieter Rams&lt;/a&gt; advises, &lt;i&gt;Less, But Better&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
Whenever I've ruminated on then distilled an idea - whether in the shop or in the cubicle - the distillation is almost always stronger.
&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;Less, but better – because it concentrates on the essential aspects, and the products are not burdened with non-essentials. Back to purity, back to simplicity.&lt;/i&gt;&lt;br /&gt;
— &lt;a href="http://en.wikipedia.org/wiki/Dieter_Rams" rel="nofollow" target="_blank"&gt;Dieter Rams&lt;/a&gt;, 10 Principles of “Good Design”
&lt;/blockquote&gt;
Twitter is an example of not overstepping a founding concept of a 140-character micro-blog, then focusing on delivering essentials. Simple idea. Simple execution.
&lt;br /&gt;
&lt;br /&gt;
I have grown weary of feature-driven apps. In particular, I am weary of apps that try to be &lt;i&gt;everything&lt;/i&gt; to &lt;i&gt;everybody&lt;/i&gt; — more so when they miss the mark on the essentials.
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Assertive Over Universal&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Microsoft Word is the universal remote of application software. It's a work-horse I use almost every day because, as luck would have it, I can efficiently produce documents with it. But I'll be damned if I know what many of the icons signify on the toolbar.&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzI2bhRxXUXZpXA2koivJrBftdm2fP0Iy84pnN16BupqdcSdykZzxIOmC2bEbViHFct3wh6qki9t78dEF0gXY5GQLl9Uv1SvIzytPf7k66B1GJGsqFbXJUNEIcecp_nYf6iSELvRlV8pL_/s1600/Wordtoolbar.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzI2bhRxXUXZpXA2koivJrBftdm2fP0Iy84pnN16BupqdcSdykZzxIOmC2bEbViHFct3wh6qki9t78dEF0gXY5GQLl9Uv1SvIzytPf7k66B1GJGsqFbXJUNEIcecp_nYf6iSELvRlV8pL_/s1600/Wordtoolbar.png" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Microsoft Word 2010 Toolbar&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
Despite a bewildering quiver of options, settings, and features, Word delivers on the essential. If you provide users with a gazillion options, settings, and features, be sure to have the empathy to deliver the essential.&lt;br /&gt;
&lt;br /&gt;
For developers, &lt;i&gt;Nice to Have&lt;/i&gt; is the front door of feature-madness. &lt;i&gt;Nice to Have&lt;/i&gt; is often a one-way ticket to frustrating software.
&lt;br /&gt;
&lt;br /&gt;
The most pleasurable software often seems to have an ax to grind. In the most pleasurable cases, it's a sharp ax. Should your app take sides? The folks at &lt;a href="http://en.wikipedia.org/wiki/37signals" rel="nofollow" target="_blank"&gt;37Signals&lt;/a&gt; think so. I suggest reading their essay &lt;a href="http://gettingreal.37signals.com/ch04_Make_Opinionated_Software.php"&gt;Make Opinionated Software&lt;/a&gt;. &lt;a href="http://37signals.com/svn/writers/jf" rel="nofollow" target="_blank"&gt;Jason Fried&lt;/a&gt;, and others, make the case for assertive software:&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;The best software has a vision. The best software takes sides. When someone uses software, they're not just looking for features, they're looking for an approach. They're looking for a vision. Decide what your vision is and run with it.
&lt;/i&gt;&lt;/blockquote&gt;
A shining example of assertive software is &lt;a href="http://ayende.com/blog/4584/ravendb-includes" rel="nofollow" target="_blank"&gt;Ayende Rahien&lt;/a&gt;'s open-source Document Database &lt;a href="http://ayende.com/blog/4499/why-raven-db" rel="nofollow" target="_blank"&gt;RavenDB&lt;/a&gt;.
&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;When I set out to build RavenDB, I had a very clear idea about what I wanted to do. I wanted to build an integrated, opinionated, solution. Something that will do the right thing most of the time, and let you override that if you really want to.&lt;/i&gt;&lt;br /&gt;
— &lt;a href="http://ayende.com/blog/4584/ravendb-includes" rel="nofollow" target="_blank"&gt;Ayende Rahien&lt;/a&gt;&lt;/blockquote&gt;
RavenDB is good at one thing - providing lightening fast read-models developers can bind to views. And to my good fortune, Ayende imbued RavenDB with guiding opinions - opinions that rescue us from sloppy coding. For example, RavenDB expresses an opinion about&amp;nbsp;&lt;i&gt;unbounded result sets. &lt;/i&gt;RavenDB will let you query for the mother lode, but forces you to &lt;a href="http://ravendb.net/docs/client-api/basic-operations/understanding-session-object" rel="nofollow" target="_blank"&gt;override default behavior&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Ayende has well-considered professional opinions and expresses them in his software.&lt;br /&gt;
&lt;br /&gt;
So my new mantra is this:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
Keep it simple. Make it assertive.&lt;/blockquote&gt;
&lt;br /&gt;
REFERENCES&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://gettingreal.37signals.com/toc.php" rel="nofollow" target="_blank"&gt;Getting Real: The smarter, faster, easier way to build a successful web application&lt;/a&gt;, Jason Fried, et. al., 2009.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://ravendb.net/docs/intro/ravendb-in-a-nutshell" rel="nofollow" target="_blank"&gt;RavenDB in a Nutshell&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="clear: both; height: 25px;"&gt;
&lt;/div&gt;
</description><link>http://bobtuse.blogspot.com/2012/11/simple-assertive-software.html</link><author>noreply@blogger.com (Bob MacNeal)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzI2bhRxXUXZpXA2koivJrBftdm2fP0Iy84pnN16BupqdcSdykZzxIOmC2bEbViHFct3wh6qki9t78dEF0gXY5GQLl9Uv1SvIzytPf7k66B1GJGsqFbXJUNEIcecp_nYf6iSELvRlV8pL_/s72-c/Wordtoolbar.png" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2201343077108877660.post-5787418278137931612</guid><pubDate>Thu, 26 Jul 2012 10:56:00 +0000</pubDate><atom:updated>2012-07-26T14:38:55.875-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Blue Screen of Death</category><category domain="http://www.blogger.com/atom/ns#">BSOD</category><category domain="http://www.blogger.com/atom/ns#">Yellow Screen of Death</category><category domain="http://www.blogger.com/atom/ns#">YSOD</category><title>YSOD is the New BSOD</title><description>&lt;b&gt;&lt;span style="font-size: large;"&gt;Old Paradigm&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPaO1KZBuEV9ye5c5hbkBnektb7BrwzMEeEKMNQMq332LZcdoPL4nDtwACPddJnzz2h8J2NXD1JrTPZiAXhHdab5brC39Q4kvxBPWFBSGrCy_0xcskYXGbrxTIN5PBugX34kpfAKp2W64l/s1600/bsod2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPaO1KZBuEV9ye5c5hbkBnektb7BrwzMEeEKMNQMq332LZcdoPL4nDtwACPddJnzz2h8J2NXD1JrTPZiAXhHdab5brC39Q4kvxBPWFBSGrCy_0xcskYXGbrxTIN5PBugX34kpfAKp2W64l/s1600/bsod2.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;New Paradigm&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&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="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgA3w4mto7ieiSXDHLuz3e49s3F_5eFS_YrpN-Q9AWN9kLRtl84KYglWs2mDYLf8tyOxTEXUL5ICENrJru7R5cx7-1DhTTu9dkearPAUezm0ohwCMg7yuwxGP1LPys8MV86RcqZYoP_BJIk/s1600/YSOD.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="280" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgA3w4mto7ieiSXDHLuz3e49s3F_5eFS_YrpN-Q9AWN9kLRtl84KYglWs2mDYLf8tyOxTEXUL5ICENrJru7R5cx7-1DhTTu9dkearPAUezm0ohwCMg7yuwxGP1LPys8MV86RcqZYoP_BJIk/s400/YSOD.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
In the enchanted land of Microsoft &lt;a href="http://en.wikipedia.org/wiki/Windows_OS" rel="nofollow" target="_blank"&gt;Windows OS&lt;/a&gt; and Microsoft &lt;a href="http://en.wikipedia.org/wiki/Internet_Information_Services" rel="nofollow" target="_blank"&gt;IIS&lt;/a&gt;, the &lt;b&gt;Yellow&lt;/b&gt; Screen of Death (YSOD) has all but replaced the &lt;b&gt;Blue&lt;/b&gt; Screen of Death (BSOD). &lt;/div&gt;
&lt;br /&gt;
This phenomena is a resplendently chromatic illustration of a Bobtuse principle:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;Nothing in the universe is static or perfect.&lt;/i&gt;&lt;/blockquote&gt;
&lt;br /&gt;
&lt;br /&gt;</description><link>http://bobtuse.blogspot.com/2012/07/ysod-is-new-bsod.html</link><author>noreply@blogger.com (Bob MacNeal)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPaO1KZBuEV9ye5c5hbkBnektb7BrwzMEeEKMNQMq332LZcdoPL4nDtwACPddJnzz2h8J2NXD1JrTPZiAXhHdab5brC39Q4kvxBPWFBSGrCy_0xcskYXGbrxTIN5PBugX34kpfAKp2W64l/s72-c/bsod2.png" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2201343077108877660.post-1141783624337336390</guid><pubDate>Thu, 28 Jun 2012 10:41:00 +0000</pubDate><atom:updated>2012-06-28T15:14:04.200-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Alan Cooper</category><category domain="http://www.blogger.com/atom/ns#">Designers</category><category domain="http://www.blogger.com/atom/ns#">FORTRAN</category><category domain="http://www.blogger.com/atom/ns#">Sausage</category><category domain="http://www.blogger.com/atom/ns#">Tripod</category><category domain="http://www.blogger.com/atom/ns#">Turbo Pascal</category><category domain="http://www.blogger.com/atom/ns#">Visual Basic</category><category domain="http://www.blogger.com/atom/ns#">Visual Basic 1.0</category><category domain="http://www.blogger.com/atom/ns#">Visual Design</category><title>Should Designers Code?</title><description>&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeLaIRZXpO5jXn3DUCEa4Bcel05hzHXxyxdDWbNhOfHDTj2w1bVFJdVIbnVn0cUnYadEg2UCiHQEscZ_Dhz0R1iDWsGsHJ5a6FpV3uHIsyMI_SiOiPxfuD-bIegPVYOk3M9lcu96hc_xKB/s1600/beehouse.jpg" imageanchor="1" rel="nofollow" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;" target="_blank"&gt;&lt;img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeLaIRZXpO5jXn3DUCEa4Bcel05hzHXxyxdDWbNhOfHDTj2w1bVFJdVIbnVn0cUnYadEg2UCiHQEscZ_Dhz0R1iDWsGsHJ5a6FpV3uHIsyMI_SiOiPxfuD-bIegPVYOk3M9lcu96hc_xKB/s200/beehouse.jpg" width="150" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Bobtuse Honeybee &lt;i&gt;Pagoda&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
I am an long-time programmer. I have a keen interest in simple design and providing a pleasurable aesthetic experience in most things I build.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.jonkolko.com/" rel="nofollow" target="_blank"&gt;Jon Kolko&lt;/a&gt;'s post&amp;nbsp;&lt;a href="http://www.ac4d.com/2012/06/26/code-is-material-why-designers-must-learn-to-code/" rel="nofollow" target="_blank"&gt;code is material: why designers must learn to code&lt;/a&gt;&amp;nbsp;got me thinking, and predicting:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;Designers don't need to learn to code. The code will come to them.&lt;/i&gt;&lt;/blockquote&gt;
&lt;b&gt;My Programming Arc&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
I wrote my&amp;nbsp;&lt;i&gt;Hello World&lt;/i&gt;&amp;nbsp;in&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/FORTRAN" rel="nofollow" target="_blank"&gt;FORTRAN&lt;/a&gt; at the University of Minnesota in the early 1980s. But I started programming in earnest as a Civil Engineering undergraduate in the mid 1980s in the days&amp;nbsp;&lt;a href="http://www.bobtuse.com/2011/10/when-fast-was-turbo.html" target="_blank"&gt;when fast was turbo&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Today I am handsomely compensated to jerk around coughed up hair balls of client-side &lt;a href="http://en.wikipedia.org/wiki/Javascript" rel="nofollow" target="_blank"&gt;JavaScript&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Thankfully I never had to program in &lt;a href="http://en.wikipedia.org/wiki/Machine_language" rel="nofollow" target="_blank"&gt;machine code&lt;/a&gt;. One great programming leap was the advent of commonly used computer languages like FORTRAN that abstracted the complexities of machine code.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Another Great Leap&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://en.wikipedia.org/wiki/Alan_Cooper" imageanchor="1" rel="nofollow" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;" target="_blank"&gt;&lt;img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiscimp_5CILL3FLYHqS4Fp1C-pv-h1zFDioMS0Gw4cR6df7tGb34b0R1dYQaEBsTzssC05QC_fZAGq0BPa3c6sE6Fyow2d7m8_k5LbaKnnHPjS7dto81HBvOd5pEfzyCt0qMmZzM8EkpJj/s200/ac.png" style="border: solid 1px silver;" width="148" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;a href="http://en.wikipedia.org/wiki/Alan_Cooper" rel="nofollow" target="_blank"&gt;Alan Cooper&lt;/a&gt;&amp;nbsp;in his office&lt;br /&gt;
at&amp;nbsp;&lt;a href="http://www.cooper.com/#home" rel="nofollow" style="background-color: white;" target="_blank"&gt;Cooper&lt;/a&gt;&amp;nbsp;&lt;span style="background-color: white;"&gt;in San Francisco&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
Programming made a quantum leap when &lt;a href="http://en.wikipedia.org/wiki/Visual_basic" rel="nofollow" target="_blank"&gt;Visual Basic&lt;/a&gt; 1.0 was introduced in 1991. Visual Basic pioneered &lt;a href="http://en.wikipedia.org/wiki/Drag_and_drop" rel="nofollow" target="_blank"&gt;drag and drop&lt;/a&gt; design for crafting user interfaces.&lt;br /&gt;
&lt;br /&gt;
Visual Basic derived from a form generator prototype developed by &lt;a href="http://en.wikipedia.org/wiki/Alan_Cooper" rel="nofollow" target="_blank"&gt;Alan Cooper&lt;/a&gt; and his company called Tripod.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;Alan Cooper put the "visual" in Visual Basic&lt;/i&gt;&lt;/blockquote&gt;
The visual nature of the new Visual Basic paradigm abstracted the software maker from the underlying sausage.&lt;br /&gt;
&lt;br /&gt;
The&amp;nbsp;Visual Basic&amp;nbsp;leap for occurred after the 1991 &lt;a href="http://en.wikipedia.org/wiki/COMDEX" rel="nofollow" target="_blank"&gt;COMDEX/Windows&lt;/a&gt; trade show. There have been no equivalent leaps since. We're overdue.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;The Next Great Leap - A Future for Creatives&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Returning to my assertion that&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;Designers don't need to learn to code. The code will come to them.&lt;/i&gt;&lt;/blockquote&gt;
I suspect there will be a bright future for creative types. All that's needed is another revolutionary leap in development tooling that will enable designers to do what programmers do without having to &lt;i&gt;know how to code&lt;/i&gt;. Someone &lt;i&gt;will&lt;/i&gt; abstract the complexity.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4ss3H9OOIJSvvbTezcO1a-cu8J7g3mXSWxLvFHO7XlCQrAwP3bVG-wpHz4AShkDjl-djBqub4tBjz9ySgAqoM3mhNaJPLq7qROtetR-uWIKvEidQfJRjk9mrxIOTRoQsYIvtnwV8l-Ras/s1600/sausage.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="136" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4ss3H9OOIJSvvbTezcO1a-cu8J7g3mXSWxLvFHO7XlCQrAwP3bVG-wpHz4AShkDjl-djBqub4tBjz9ySgAqoM3mhNaJPLq7qROtetR-uWIKvEidQfJRjk9mrxIOTRoQsYIvtnwV8l-Ras/s200/sausage.jpg" width="200" /&gt;&lt;/a&gt;The explosion of&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Rich_client" rel="nofollow" target="_blank"&gt;rich client&lt;/a&gt; applications, and all of the attending JavaScript &lt;i&gt;schmutz,&amp;nbsp;&lt;/i&gt;is a programming nightmare for cats like me who have known better times.&lt;br /&gt;
&lt;br /&gt;
Today's &lt;a href="http://en.wikipedia.org/wiki/Rich_client" rel="nofollow" target="_blank"&gt;rich client&lt;/a&gt; frameworks and &lt;a href="http://en.wikipedia.org/wiki/Persistence_framework" rel="nofollow" target="_blank"&gt;persistence &lt;/a&gt;schemes have lots of hoop-jumping complications.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&amp;nbsp;&lt;i&gt;Too much sausage meat!&lt;/i&gt;&amp;nbsp;&lt;/blockquote&gt;
Take heart, I think tooling will be invented that will put the sausage back in the case.&lt;br /&gt;
&lt;br /&gt;
It is laudable to know the your work environment and the materials you work with through and through. But in the case of making applications, simplification by abstraction is what frees us to be creative.&lt;br /&gt;
&lt;br /&gt;
Already tools are appearing that enable applications to be built without the gratuitous and frustrating hair balls that require the services of a programmer.&lt;br /&gt;
&lt;br /&gt;
So I think the &lt;i&gt;code will come to the designers.&lt;/i&gt; Application development will be made visual, gestural, instinctual and intuitive.
&lt;br /&gt;
&lt;div style="clear: both; height: 20px;"&gt;
&lt;/div&gt;</description><link>http://bobtuse.blogspot.com/2012/06/should-designers-code.html</link><author>noreply@blogger.com (Bob MacNeal)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeLaIRZXpO5jXn3DUCEa4Bcel05hzHXxyxdDWbNhOfHDTj2w1bVFJdVIbnVn0cUnYadEg2UCiHQEscZ_Dhz0R1iDWsGsHJ5a6FpV3uHIsyMI_SiOiPxfuD-bIegPVYOk3M9lcu96hc_xKB/s72-c/beehouse.jpg" width="72"/><thr:total>0</thr:total></item></channel></rss>