<?xml version='1.0' encoding='windows-1252'?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-3412775</id><updated>2008-04-04T12:34:35.590-04:00</updated><title type='text'>Object Technology Jeff Sutherland</title><link rel='alternate' type='text/html' href='http://jeffsutherland.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default?start-index=26&amp;max-results=25'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jeffsutherland.com/rss.xml'/><author><name>Jeff Sutherland</name></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>215</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3412775.post-4288769101979049657</id><published>2008-04-04T11:01:00.006-04:00</published><updated>2008-04-04T12:34:35.627-04:00</updated><title type='text'>HICSS 42 Call for Papers due 15 June 2008</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://jeffsutherland.com/uploaded_images/HICSS42-745437.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://jeffsutherland.com/uploaded_images/HICSS42-745437.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;It's time for you to get your most scintillating Agile theories&lt;br /&gt;together, write a kick-ass paper that could get published in the IEEE&lt;br /&gt;library and spend a week in beautiful Hawaii next January. Sound good?&lt;br /&gt;Then get writing!&lt;br /&gt;&lt;br /&gt;HICSS-42 CALL FOR PAPERS - due 15 June 2008&lt;br /&gt;&lt;a href="http://www.hicss.hawaii.edu/hicss_42/minitracks/st-asd.htm" target=blank&gt;http://www.hicss.hawaii.edu/hicss_42/minitracks/st-asd.htm&lt;/a&gt;&lt;br /&gt;January 5-8, 2009&lt;br /&gt;Hilton Waikoloa Village Resort&lt;br /&gt;Waikoloa, Big Island, Hawaii&lt;br /&gt;&lt;br /&gt;HICSS-42 offers a unique, highly interactive and professionally&lt;br /&gt;challenging environment that attendees find "very helpful -- lots of&lt;br /&gt;different perspectives and ideas as a result of discussion." HICSS&lt;br /&gt;sessions are comprised primarily of refereed paper presentations; the&lt;br /&gt;conference does not host vendor presentations. All papers are peer&lt;br /&gt;reviewed and accepted papers are published in the IEEE Digital Library.&lt;br /&gt;&lt;br /&gt;Software Technology Minitrack&lt;br /&gt;Agile Software Development: Lean, Distributed, and Scalable&lt;br /&gt;(Jeff Sutherland and Gabrielle Benefield)&lt;br /&gt;&lt;br /&gt;Agile software development processes have been influenced by best&lt;br /&gt;practices in Japanese industry, particularly by lean product&lt;br /&gt;development principles implemented at companies like Honda and Toyota,&lt;br /&gt;and knowledge management strategies developed by Takeuchi and Nonaka, now at the Hitotsubashi Business School in Japan, and Peter Senge at&lt;br /&gt;MIT. This Minitrack will focus on advancing the state of the art or&lt;br /&gt;presenting innovative ideas related to agile methods, individual&lt;br /&gt;practices and tools.&lt;br /&gt;&lt;br /&gt;Accepted papers will potentially enrich the body of knowledge and&lt;br /&gt;influence the framework of thought in the field by investigating Agile&lt;br /&gt;methods in a rigorous fashion.&lt;br /&gt;&lt;br /&gt;We are open to research papers on multiple aspects of agile methods,&lt;br /&gt;particularly those that bring best practices in knowledge management&lt;br /&gt;and lean development to scalable, distributed, and outsourced Scrum,&lt;br /&gt;eXtreme Programming (XP), and other agile practices. Topics include:&lt;br /&gt;&lt;br /&gt;1. Research on existing or new methodologies and approaches: informal&lt;br /&gt;modeling techniques and practices, adapting/trimming existing methods,&lt;br /&gt;and new product/project planning techniques&lt;br /&gt;2. Research on existing or new techniques or practices: pairing,&lt;br /&gt;war-rooms, test-first design, paper-based prototyping, early&lt;br /&gt;acceptance test driven development, exploratory testing, refactoring,&lt;br /&gt;or others.&lt;br /&gt;3. Research on special topics or tools: configuration and resource&lt;br /&gt;management, testing, project steering, user involvement, design for&lt;br /&gt;agility, virtual teams or others.&lt;br /&gt;4. Research on integrating ideas from other fields, e.g. interaction&lt;br /&gt;design, requirements engineering, cognitive science, organizational&lt;br /&gt;psychology, usability testing, software security, into agile processes.&lt;br /&gt;5. Research studies of development teams using ethnographic or social&lt;br /&gt;6. Research on agile software engineering economics.&lt;br /&gt;7. Quantitative and qualitative studies of agile methods, practices,&lt;br /&gt;and tools.&lt;br /&gt;8. Research on agile compliance and cost benefits within CMMI, ISO&lt;br /&gt;9000, and FDA certified development projects.&lt;br /&gt;&lt;br /&gt;Papers are particularly relevant when agile process implementations&lt;br /&gt;are shown to produce quantitative and qualitative benefits on&lt;br /&gt;distributed, outsourced, large, or standards compliant software&lt;br /&gt;development projects which have been previously been viewed&lt;br /&gt;(erroneously) as unsuited for agile development.&lt;br /&gt;&lt;br /&gt;To submit papers and read more about the conference please go to:&lt;br /&gt;&lt;a href="http://www.hicss.hawaii.edu/hicss_42/minitracks/st-asd.htm" target=blank&gt;http://www.hicss.hawaii.edu/hicss_42/minitracks/st-asd.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Jeff Sutherland&lt;br /&gt;Scrum, Inc.&lt;br /&gt;332 Congress St., 3rd Floor&lt;br /&gt;Boston, MA 02210&lt;br /&gt;&lt;br /&gt;Gabrielle Benefield&lt;br /&gt;Scrum Training Institute&lt;br /&gt;Mountain View,&lt;br /&gt;CA 94040&lt;br /&gt;Email: gabriellebenefield@yahoo.com</content><link rel='alternate' type='text/html' href='http://jeffsutherland.com/2008/04/hicss-42-call-for-papers-due-15-june.html' title='HICSS 42 Call for Papers due 15 June 2008'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3412775&amp;postID=4288769101979049657' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://jeffsutherland.com/rss.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/4288769101979049657'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/4288769101979049657'/><author><name>Jeff Sutherland</name></author></entry><entry><id>tag:blogger.com,1999:blog-3412775.post-4553963718053145113</id><published>2008-02-02T15:05:00.002-05:00</published><updated>2008-03-21T15:35:09.702-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='scrum organizational patterns jim coplien'/><title type='text'>Agility and Organizational Patterns</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://jeffsutherland.com/uploaded_images/ScrumOrgPatterns-769264.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://jeffsutherland.com/uploaded_images/ScrumOrgPatterns-769262.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;In the early days of what we now know as Agile processes, Mike Beedle was influenced by the online description of Scrum, implemented the process in his own company, and led the effort to drive Scrum through the Pattern Languages of Programming Design conferences. This made Scrum the first (and only) formal organizational pattern that describes a complete Agile process. One of the patterns books contains the Scrum pattern:&lt;br /&gt;&lt;br /&gt;M. Beedle, M. Devos, Y. Sharon, K. Schwaber, and J. Sutherland, "Scrum: A Pattern Language for Hyperproductive Software Development," in &lt;a href="http://astore.amazon.com/jeffsutherlasobj/detail/0201433044/105-0209728-4437246" target=blank&gt;Pattern Languages of Program Design. vol. 4&lt;/a&gt;, N. Harrison, Ed. Boston: Addison-Wesley, 1999, pp. 637-651.&lt;br /&gt;&lt;br /&gt;Recent work by Jim Coplien shows that Scrum is deceptively simply while compressing a complex array of organizational patterns in his book, "&lt;a href="http://astore.amazon.com/jeffsutherlasobj/detail/0131467409/104-6903857-9799930" target=blank&gt;Organizational Patterns in Agile Software Development.&lt;/a&gt;" Jim was surprised when he found that Scrum compresses at least 33 patterns from his book into a concept that can be explained in 2 minutes. It takes over 60 pages of rather dense text to describe these patterns.&lt;br /&gt;&lt;br /&gt;One of Scrum's design goals was to encapsulate best practices from 40 years of software development into a process that was simple enough for the average IT worker to use for development in less than 2 days of startup time. Jim's research shows that we did a good job of accomplishing that goal. You can download a copy of the complete Scrum pattern as it is part of a draft of "&lt;a href="http://jeffsutherland.com/scrum/scrumpapers.pdf" target=blank&gt;The Scrum Papers.&lt;/a&gt;"&lt;br /&gt;&lt;br /&gt;&lt;a href="http://jeffsutherland.com/scrum/20071029CoplienOrgPats.pdf" target=blank&gt;Click here for Jim's presentation on Scrum as a set of patterns.&lt;/a&gt;</content><link rel='alternate' type='text/html' href='http://jeffsutherland.com/2008/02/agility-and-organizational-patterns.html' title='Agility and Organizational Patterns'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3412775&amp;postID=4553963718053145113' title='2 Comments'/><link rel='replies' type='application/atom+xml' href='http://jeffsutherland.com/rss.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/4553963718053145113'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/4553963718053145113'/><author><name>Jeff Sutherland</name></author></entry><entry><id>tag:blogger.com,1999:blog-3412775.post-2382629699878191909</id><published>2008-01-08T14:55:00.000-05:00</published><updated>2008-01-08T17:29:48.810-05:00</updated><title type='text'>Agile Software Development: Lean, Distributed, and Scalable</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://jeffsutherland.com/uploaded_images/HICSS2008_013-788547.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://jeffsutherland.com/uploaded_images/HICSS2008_013-788132.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;HICSS 2008 Agile MiniTrack&lt;br /&gt;Co-Chairs: Jeff Sutherland and Hubert Smits&lt;br /&gt;&lt;span style="font-style:italic;"&gt;&lt;a href="http://www.hicss.hawaii.edu/hicss_41/apahome41.html" target=blank&gt;HICSS 41, January 7-10, 2008 - Hilton Waikoloa Village Resort&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;Waikoloa, Big Island, Hawaii&lt;br /&gt;&lt;br /&gt;If you are in Hawaii now, congratulations! If not, eat your heart out ...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;ST 1 Thursday; Kona 3; 8:00 – 9:30&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This session has three papers. Authors will have 15 minutes for presentation and 15 minutes for discussion. Papers will be presented in the following order.&lt;br /&gt;&lt;br /&gt;Bridge Methods: Complementary Steps Integrating Agile Development Tools and Methods with Formal Process Methodologies&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Stephen J. Cohen and &lt;a href="mailto:wmoney@gwu.edu" target=blank&gt;William H. Money&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;Rolling Out Agile in a Large Enterprise&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Gabrielle Benefield&lt;/span&gt;&lt;br /&gt;Great Scrums Need Great Product Owners: Unbounded Collaboration and Collective Product Ownership (in competition for best paper)&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Ken H. Judy and Ilio Krumins-Beens&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;ST 2 Thursday; Kona 3; 10:00 – 11:30&lt;/span&gt;'&lt;br /&gt;&lt;br /&gt;This session has four papers. Authors will have 15 minutes for presentation and 10 minutes for discussion.&lt;br /&gt;&lt;br /&gt;Effects of Agile Methods on Website Quality for Electronic Commerce&lt;br /&gt;&lt;span style="font-style:italic;"&gt;&lt;a href="mailto:dfrico@comcast.net" target=blank&gt;David F. Rico&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;A Case Study: Introducing eXtreme Programming in a US Government System Development Project&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Ann Fruhling, Patrick McDonald, and Christopher Dunbar&lt;/span&gt;&lt;br /&gt;Retrofitting Cyber Physical Systems for Survivability through External Coordination&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Kun Xiao, Shangping Ren, and Kevin Kwiat&lt;/span&gt;&lt;br /&gt;Scrum and CMMI Level 5: The Magic Potion for Code Warriors&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Jeff Sutherland, Carsten Ruseng Jakobsen, and Kent Johnson&lt;/span&gt;</content><link rel='alternate' type='text/html' href='http://jeffsutherland.com/2008/01/agile-software-development-lean.html' title='Agile Software Development: Lean, Distributed, and Scalable'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3412775&amp;postID=2382629699878191909' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://jeffsutherland.com/rss.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/2382629699878191909'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/2382629699878191909'/><author><name>Jeff Sutherland</name></author></entry><entry><id>tag:blogger.com,1999:blog-3412775.post-173970549475487915</id><published>2007-11-14T11:10:00.001-05:00</published><updated>2007-11-14T11:14:22.445-05:00</updated><title type='text'>Douglas Crockford on The State of Ajax</title><content type='html'>&lt;a href="http://jeffsutherland.com/uploaded_images/logo_artima_developer-773750.gif"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://jeffsutherland.com/uploaded_images/logo_artima_developer-773748.gif" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;In a recent Yahoo YUI video, Yahoo's Douglas Crockford gives an overview of the state of &lt;a href="http://www.artima.com/forums/flat.jsp?forum=276&amp;thread=218594" target=blank&gt;Ajax application development on the Web&lt;/a&gt;, and points to ways in which the Web can improve. Advertisement &lt;br /&gt; &lt;br /&gt;Douglas Crockford, inventor of the JSON data exchange format, and Yahoo's chief DHTML evangelist, presents an overview of the State of Ajax and client-side Web development. Among the topics he discusses are Java, the flaws and benefits of JavaScript, why CSS should be replaced, why mashups are significant, and what can be done about Web technologies, such as HTML and JavaScript, that saw their last major updates in 1999.</content><link rel='alternate' type='text/html' href='http://jeffsutherland.com/2007/11/douglas-crockford-on-state-of-ajax.html' title='Douglas Crockford on The State of Ajax'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3412775&amp;postID=173970549475487915' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://jeffsutherland.com/rss.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/173970549475487915'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/173970549475487915'/><author><name>Jeff Sutherland</name></author></entry><entry><id>tag:blogger.com,1999:blog-3412775.post-7057012238227366198</id><published>2007-10-31T20:56:00.000-04:00</published><updated>2007-10-31T21:06:31.738-04:00</updated><title type='text'>Kleiner Perkins gets real on global warming</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://jeffsutherland.com/uploaded_images/JohnDoerr-791573.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://jeffsutherland.com/uploaded_images/JohnDoerr-791571.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;John Doerr gave a great talk on climate change at the recent TED conference. Check out "&lt;a href="http://www.ted.com/talks/view/id/128" target=blank&gt;Seeking salvation and profit in greentech&lt;/a&gt;."&lt;br /&gt;&lt;br /&gt;-----&lt;br /&gt;John Doerr, a partner in famed VC firm Kleiner Perkins Caufield &amp; Byers, made upwards of $1 billion picking dot-com stars like Amazon, Google, Compaq and Netscape. (He also picked some flops, like Go Corporation and the scandal-ridden MyCFO.com.) He was famously quoted saying, "The Internet is the greatest legal creation of wealth in history," right before the dot-com crash.&lt;br /&gt;&lt;br /&gt;But now he's back, warning that carbon-dioxide-sputtering, gas-powered capitalism will destroy us all, and that going green may be the "biggest economic opportunity of the 21st century." So Kleiner Perkins has invested $200 million in so-called greentech, a combination of startups that are pioneering alternative energy, waste remediation and other schemes to prevent the coming environmental calamity. But Doerr is afraid that it might be too little, too late.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;"[John Doerr] is, by all accounts, the most influential venture capitalist of his generation."&lt;/span&gt; Fast Company</content><link rel='alternate' type='text/html' href='http://jeffsutherland.com/2007/10/kleiner-perkins-gets-real-on-global.html' title='Kleiner Perkins gets real on global warming'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3412775&amp;postID=7057012238227366198' title='1 Comments'/><link rel='replies' type='application/atom+xml' href='http://jeffsutherland.com/rss.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/7057012238227366198'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/7057012238227366198'/><author><name>Jeff Sutherland</name></author></entry><entry><id>tag:blogger.com,1999:blog-3412775.post-4733995753437639723</id><published>2007-10-07T14:29:00.000-04:00</published><updated>2007-10-07T14:33:00.937-04:00</updated><title type='text'>Why Time Sheets are Lame ...</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://jeffsutherland.com/scrum/uploaded_images/HrsVsQuality-777338.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://jeffsutherland.com/scrum/uploaded_images/HrsVsQuality-777334.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;span style="font-style:italic;"&gt;Programmer time vs. Quality Software Score. &lt;a href="http://www.joelonsoftware.com/articles/HighNotes.html" target=blank&gt;Totally uncorrelated!&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Actually time sheets are worse than lame:&lt;br /&gt;* they demotivate developers&lt;br /&gt;* 10-15% loss of productivity is the minimum&lt;br /&gt;* developers have to fake the time to fill them out properly&lt;br /&gt;* erroneous data is used for reporting and management makes bad decisions&lt;br /&gt;* customers are deceived&lt;br /&gt;* they have nothing to do with quality code production&lt;br /&gt;* they focus the whole organization on phony data instead of production&lt;br /&gt;&lt;br /&gt;Nevertheless, this is not enough for many managers to give up time sheets. Just like the waterfall process, there is a psychological dependency so strong, it is as if they are on drugs.&lt;br /&gt;&lt;br /&gt;However, the situation is even worse. Most management has completely wrong information in their head and thus continually make bad decisions. One of my students recently said to me, "You mean everything my manager told me is wrong!"&lt;br /&gt;&lt;br /&gt;Yes, Jose, everything your manager ever told you is wrong:&lt;br /&gt;* there is no correlation between developer time and software production&lt;br /&gt;* there is no correlation between time spent and quality of code&lt;br /&gt;* there is no relationship between "quality people" and code production&lt;br /&gt;&lt;br /&gt;The only correlation between developer time and quality production code is the quality story points measured as a deliverable for a specific team.&lt;br /&gt;&lt;br /&gt;Research over many years at Yale University provides some of the best data on this topic - see &lt;a href="http://www.joelonsoftware.com/articles/HighNotes.html" target=blank&gt;Joel on Software&lt;br /&gt;&lt;/a&gt;:&lt;br /&gt;* for a single project worst/best coding times are 1/10&lt;br /&gt;* across many projects worst/best coding times are 1/25&lt;br /&gt;* the ratios above are the same for the worst and best Yale students&lt;br /&gt;* the quality of the code produced is completely independent of time spent&lt;br /&gt;&lt;br /&gt;For some reason, many development managers makes decisions without any data at all on this issue and their assumptions are completely out of reality.&lt;br /&gt;&lt;br /&gt;Tom Poppendieck told me recently a competent manager actually did some research on his XP teams to see what number of hours per week produced the maximum amount of quality production code. After trying shorter weeks and overtime weeks, the best number of hours for teams to produce the most quality code was a 16 hour work week!&lt;br /&gt;&lt;br /&gt;Trust me, you need to dump those lame time sheets and get focused on real software production before an Agile competitor puts you out of business!</content><link rel='alternate' type='text/html' href='http://jeffsutherland.com/2007/10/why-time-sheets-are-lame.html' title='Why Time Sheets are Lame ...'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3412775&amp;postID=4733995753437639723' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://jeffsutherland.com/rss.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/4733995753437639723'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/4733995753437639723'/><author><name>Jeff Sutherland</name></author></entry><entry><id>tag:blogger.com,1999:blog-3412775.post-1778444720783624799</id><published>2007-09-05T14:18:00.000-04:00</published><updated>2007-09-05T14:19:01.817-04:00</updated><title type='text'>Scrum and CMMI Level 5: A Magic Potion for Code Warriors</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://jeffsutherland.com/scrum/uploaded_images/logo_agile2007-741831.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://jeffsutherland.com/scrum/uploaded_images/logo_agile2007-741829.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;An earlier blog item commented on the dramatic advantages of using Scrum with CMMI, particularly with a CMMI Level 5 company. See &lt;a href="http://jeffsutherland.com/scrum/2006/11/scrum-supports-cmmi-level-5.html" target=blank&gt;Scrum supports CMMI Level 5&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;At the Agile 2007 Conference in Washington, D.C., an experience report was presented on the results of introducing Scrum into a CMMI Level 5 environment to replace waterfall projects for large defense and healthcare contracts. See &lt;a href="http://jeffsutherland.com/scrum/Sutherland-ScrumCMMI6pages.pdf" target=blank&gt;Scrum and CMMI Level 5: A Magic Potion for Code Warriors&lt;/a&gt;. The paper was written by:&lt;br /&gt;&lt;br /&gt;Jeff Sutherland, Ph.D. - Co-Creator of Scrum&lt;br /&gt;Carsten Jakobsen - Systematic Software Engineering Process Leader&lt;br /&gt;Kent Johnson - CMMI Level 5 Auditor&lt;br /&gt;&lt;br /&gt;Systematic Software Engineering is a company which executes the waterfall process better than almost all companies in the world, with an ontime, on budget delivery rate of over 95% with estimates within 10% of actuals. The Scrum results were extraordinary, similar to introducing a team of Toyota consultants into a manufacturing plant. This was the result of driving the Scrum implemenation by lean principles which assured a disciplined and measured introduction of Agile practice.&lt;br /&gt;&lt;br /&gt;- Productivity doubled in less than six months reducing total project costs by 50%. &lt;br /&gt;- Defects were reduced by 40% in all Scrum projects (despite the fact this company already had one of the lowest defect rates in the world.)&lt;br /&gt;- Planning costs were reduced by about 80%.&lt;br /&gt;- User satisfaction and developer satifaction were much higher than comparable waterfall implementations.&lt;br /&gt;- Projects were linearly scalable, something never seen before. The productivity of individual developers remains the same as the project increases in size.&lt;br /&gt;&lt;br /&gt;The data in this study is some of the best in the industry and puts to rest the argument about whether the waterfall is preferable in some cases. The waterfall will always be less productive with higher defects on any project compared to a well executed Scrum.&lt;br /&gt;&lt;br /&gt;Systematic Software engineering has revised its standard processes to use Scrum everywhere. See &lt;a href="http://jeffsutherland.com/scrum/Sutherland-ScrumCMMI6pages.pdf" target=blank&gt;Scrum and CMMI Level 5: A Magic Potion for Code Warriors&lt;/a&gt;.</content><link rel='alternate' type='text/html' href='http://jeffsutherland.com/2007/09/scrum-and-cmmi-level-5-magic-potion-for.html' title='Scrum and CMMI Level 5: A Magic Potion for Code Warriors'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3412775&amp;postID=1778444720783624799' title='2 Comments'/><link rel='replies' type='application/atom+xml' href='http://jeffsutherland.com/rss.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/1778444720783624799'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/1778444720783624799'/><author><name>Jeff Sutherland</name></author></entry><entry><id>tag:blogger.com,1999:blog-3412775.post-5420437852795247612</id><published>2007-08-20T19:31:00.000-04:00</published><updated>2007-08-20T19:38:54.352-04:00</updated><title type='text'>Agile 2007 Video Contest 1st Place: Developer Abuse</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;p&gt;&lt;object height='350' width='425'&gt;&lt;param value='http://youtube.com/v/LYlhCGng5Mk' name='movie'/&gt;&lt;embed height='350' width='425' type='application/x-shockwave-flash' src='http://youtube.com/v/LYlhCGng5Mk'/&gt;&lt;/object&gt;&lt;/p&gt;&lt;p&gt;At the Google party at Agile 2007 we all voted (screamed) for the best Agile video advertisement. Developer Abuse won easily.&lt;/p&gt;&lt;/div&gt;</content><link rel='alternate' type='text/html' href='http://jeffsutherland.com/2007/08/agile-2007-video-contest-1st-place.html' title='Agile 2007 Video Contest 1st Place: Developer Abuse'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3412775&amp;postID=5420437852795247612' title='1 Comments'/><link rel='replies' type='application/atom+xml' href='http://jeffsutherland.com/rss.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/5420437852795247612'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/5420437852795247612'/><author><name>Jeff Sutherland</name></author></entry><entry><id>tag:blogger.com,1999:blog-3412775.post-6326382601971605848</id><published>2007-08-10T01:15:00.000-04:00</published><updated>2007-08-10T01:27:23.695-04:00</updated><title type='text'>Camp Scrum: A Powerful New Concept to Accelerate your Agile Program</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://jeffsutherland.com/uploaded_images/SittingAround-714103.gif"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://jeffsutherland.com/uploaded_images/SittingAround-714099.gif" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Looking for a powerful way forward into the world of &lt;a href="http://campscrum.com" target=blank&gt;Agile development&lt;/a&gt;? Whether you're just getting started or looking for ideas that can improve your current Agile implementation, you don't want to miss this opportunity to learn from the world's top experts in Scrum and Agile software development.&lt;br /&gt;&lt;br /&gt;Imagine having a whole week together with four of the most authoritative personalities in Agile software development today... Not only a week of seminars, but a week of living with the experts, and of informal discussions of everyday practical problems of project management... Imagine gaining deep insights into the fundamentals of Scrum and Agile that could make all the difference in the world on your current project... Imagine being able to discuss these issues with others like you who bring their experiences to this event... Then imagine it all taking place in a beautiful rural Swedish setting, surrounded by nature...&lt;br /&gt;&lt;br /&gt;If you can imagine this, you can imagine &lt;a href="http://campscrum.com" target=blank&gt;Camp Scrum&lt;/a&gt;.</content><link rel='alternate' type='text/html' href='http://jeffsutherland.com/2007/08/camp-scrum-powerful-new-concept-to.html' title='Camp Scrum: A Powerful New Concept to Accelerate your Agile Program'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3412775&amp;postID=6326382601971605848' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://jeffsutherland.com/rss.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/6326382601971605848'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/6326382601971605848'/><author><name>Jeff Sutherland</name></author></entry><entry><id>tag:blogger.com,1999:blog-3412775.post-635588959342750759</id><published>2007-06-09T02:34:00.000-04:00</published><updated>2007-08-10T00:49:00.320-04:00</updated><title type='text'>Hawaii International Conference on Soft ware Systems 2008: Call for Papers - due 15 June 2007</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://jeffsutherland.com/uploaded_images/HICSS41-736120.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://jeffsutherland.com/uploaded_images/HICSS41-736119.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Get your papers in by 15 June 2007 - don't miss Hawaii in January 2008!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;a href="http://jeffsutherland.com/HICSS2008/index.html" target=blank&gt;Agile Software Development: Lean, Distributed, and Scalable&lt;/a&gt; &lt;/span&gt;&lt;br /&gt;(Jeff Sutherland and Hubert Smits)&lt;br /&gt;&lt;br /&gt;Agile software development processes have been influenced by best practices in Japanese industry, particularly by lean product development principles implemented at companies like Honda and Toyota, and knowledge management strategies developed by Takeuchi and Nonaka, now at the Hitotsubashi Business School in Japan, and Peter Senge  at MIT. This Minitrack will focus on advancing the state of the art or presenting innovative ideas related to agile methods, individual practices and tools. Accepted papers will potentially enrich the body of knowledge and influence the framework of thought in the field by investigating Agile methods in a rigorous fashion.&lt;br /&gt;&lt;br /&gt;We are open to research papers on multiple aspects of agile methods, particularly those that bring best practices in knowledge management and lean development to scalable, distributed, and outsourced Scrum, eXtreme Programming (XP), and other agile practices. Topics include:&lt;br /&gt;&lt;br /&gt;Research on existing or new methodologies and approaches: informal modeling techniques and practices, adapting/trimming existing methods, and new product/project planning techniques&lt;br /&gt;     &lt;br /&gt;Research on existing or new techniques or practices: pairing, war-rooms, test-first design, paper-based prototyping, early acceptance test driven development, exploratory testing, refactoring, or others.&lt;br /&gt;&lt;br /&gt;Research on special topics or tools: configuration and resource management, testing, project steering, user involvement, design for agility, virtual teams or others.&lt;br /&gt;&lt;br /&gt;Research on integrating ideas from other fields, e.g. interaction design, requirements engineering, cognitive science, organizational psychology, usability testing, software security, into agile processes.&lt;br /&gt;&lt;br /&gt;Research studies of development teams using ethnographic or social research techniques.&lt;br /&gt;&lt;br /&gt;Research on agile software engineering economics.&lt;br /&gt;&lt;br /&gt;Quantitative and qualitative studies of agile methods, practices, and tools.&lt;br /&gt;&lt;br /&gt;Research on agile compliance and cost benefits within CMMI, ISO 9000, and FDA certified development projects.&lt;br /&gt;&lt;br /&gt;Papers are particularly relevant when agile process implementations are shown to produce quantitative and qualitative benefits on distributed, outsourced, large, or standards compliant software development projects which have been previously been viewed (erroneously) as unsuited for agile development.&lt;br /&gt;&lt;br /&gt;Jeff Sutherland (primary contact)&lt;br /&gt;Chief Technology Officer and Worldwide Scrum Consulting Practice Manager&lt;br /&gt;PatientKeeper Inc.&lt;br /&gt;275 Washington St., 2nd Floor&lt;br /&gt;Newton MA 02458&lt;br /&gt;Tel: (617) 987-0394&lt;br /&gt;Email: jeff.sutherland@computer.org&lt;br /&gt;&lt;br /&gt;Hubert Smits&lt;br /&gt;Services Dept&lt;br /&gt;Rally Software Development&lt;br /&gt;3333 Walnut Street&lt;br /&gt;Boulder, CO 80301&lt;br /&gt;Email: Hubert.Smits@rallydev.com</content><link rel='alternate' type='text/html' href='http://jeffsutherland.com/2007/06/hawaii-international-conference-on-soft.html' title='Hawaii International Conference on Soft ware Systems 2008: Call for Papers - due 15 June 2007'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3412775&amp;postID=635588959342750759' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://jeffsutherland.com/rss.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/635588959342750759'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/635588959342750759'/><author><name>Jeff Sutherland</name></author></entry><entry><id>tag:blogger.com,1999:blog-3412775.post-7043245551088969746</id><published>2007-06-05T09:38:00.001-04:00</published><updated>2007-06-23T02:26:14.673-04:00</updated><title type='text'>Graduation Time: MIT PhD Thesis uses cheap supercomputer</title><content type='html'>&lt;span style="font-weight:bold;"&gt;All at Once Computing&lt;/span&gt;&lt;br /&gt;.........|....................|..................|..................|..................|&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://jeffsutherland.com/uploaded_images/HPPavilliona6030nsmall-714697.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://jeffsutherland.com/uploaded_images/HPPavilliona6030nsmall-714695.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://jeffsutherland.com/uploaded_images/HPPavilliona6030nsmall-714697.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://jeffsutherland.com/uploaded_images/HPPavilliona6030nsmall-714695.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://jeffsutherland.com/uploaded_images/HPPavilliona6030nsmall-714697.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://jeffsutherland.com/uploaded_images/HPPavilliona6030nsmall-714695.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://jeffsutherland.com/uploaded_images/HPPavilliona6030nsmall-714697.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://jeffsutherland.com/uploaded_images/HPPavilliona6030nsmall-714695.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://jeffsutherland.com/uploaded_images/HPPavilliona6030nsmall-714697.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://jeffsutherland.com/uploaded_images/HPPavilliona6030nsmall-714695.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;.........|....................|..................|&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://jeffsutherland.com/uploaded_images/HPPavilliona6030nsmall-714697.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://jeffsutherland.com/uploaded_images/HPPavilliona6030nsmall-714695.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://jeffsutherland.com/uploaded_images/HPPavilliona6030nsmall-714697.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://jeffsutherland.com/uploaded_images/HPPavilliona6030nsmall-714695.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://jeffsutherland.com/uploaded_images/HPPavilliona6030nsmall-714697.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://jeffsutherland.com/uploaded_images/HPPavilliona6030nsmall-714695.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Dr. Andrew Sutherland will be awarded his Ph.D. degree at MIT on &lt;a href="http://web.mit.edu/commencement/2007/schedule.html" target=blank&gt;7 June 2007&lt;/a&gt;. He needed a supercomputer to complete thesis thesis and his approach was to link eight HP a6030m dual processor AMD systems together to parallel process new mathematical techniques that will be useful for encryption. Breaking through a previous unsolved problem required developing algorithms that ran thousands of times faster than previous approachs. A calculation that required 15 days on a Sun Sparcstation4 now takes less than 3 seconds on a PC.&lt;br /&gt;&lt;br /&gt;I bought one of these inexpensive HP systems to test it out and is extremely fast, almost totally silent, and produces almost no heat compared to the Dell dual processor Intel system sitting next to it. I can see why Dell is "feeling the heat" from the competition. Suffice to say, this HP is blazingly fast compared to my &lt;a href="http://jeffsutherland.com/2006/11/water-cooled-laptop-boost-your.html" target=blank&gt;watercooled IBM Thinkpad T42&lt;/a&gt; which I have relegated to the dustbin of computing history. I'm thinking about buying a couple more of the HP systems. For the orginal price of my Dell workstation, I could have a eight system supercomputer lab.&lt;br /&gt;&lt;br /&gt;For those of you who are math geeks, here is the thesis abstract:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Order Computations in Generic Groups&lt;/span&gt;&lt;br /&gt;by Andrew V. Sutherland&lt;br /&gt;Submitted to the Department of Mathematics on May 16, 2007, in partial fulfillment of the requirements for the degree of DOCTOR OF PHILOSOPHY&lt;br /&gt;&lt;a href="http://theory.lcs.mit.edu/~cis/theses/sutherland-phd.pdf" target=blank&gt;For PDF of thesis click here.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Abstract&lt;/span&gt;&lt;br /&gt;&lt;p&gt;We consider the problem of computing the order of an element in a generic group. This is known to require exponential time. The two standard algorithms, Pollard’s rho method and Shanks’ baby-steps giant-steps technique, both use &amp;#920; (&lt;i&gt;N&lt;/i&gt;&lt;sup&gt;1/2&lt;/sup&gt;) group operations to compute |?| = &lt;i&gt;N&lt;/i&gt;, and a lower bound of &amp;#937; (&lt;i&gt;N&lt;/i&gt;&lt;sup&gt;1/2&lt;/sup&gt;) has been conjectured. We disprove this conjecture, presenting a generic algorithm with complexity &lt;i&gt;o&lt;/i&gt; &lt;i&gt;N&lt;/i&gt;&lt;sup&gt;1/2&lt;/sup&gt;) in any group. The worst case occurs when &lt;i&gt;G&lt;/i&gt; is a cyclic group of (unknown) prime order, but for approximately half the integers &lt;i&gt;N&lt;/i&gt; &amp;#949; &amp;#91;0,&lt;i&gt;M&lt;/i&gt;&amp;#93;, the complexity is &lt;i&gt;O&lt;/i&gt; (&lt;i&gt;N&lt;/i&gt;&lt;sup&gt;1/3&lt;/sup&gt;).&lt;/p&gt;&lt;p&gt;We prove that a generic algorithm can perform any number of order computations in near linear time, plus the cost of a single order computation with &lt;i&gt;N&lt;/i&gt; = #955;(&lt;i&gt;G&lt;/i&gt;), where &amp;#955;(&lt;i&gt;G&lt;/i&gt;) is the group exponent (without knowledge of &amp;#955;(&lt;i&gt;G&lt;/i&gt;)). We show that in abelian groups, &amp;#955;(&lt;i&gt;G&lt;/i&gt;) can be computed for the same cost, and also consider some non-abelian cases. &lt;/p&gt;&lt;p&gt;We then use &amp;#955;(&lt;i&gt;G&lt;/i&gt;) to compute the structure of an abelian group. Given an &lt;i&gt;O&lt;/i&gt; (&lt;i&gt;N&lt;/i&gt;&lt;sup&gt;2-&amp;#949;&lt;/sup&gt;) bound on |&lt;i&gt;G&lt;/i&gt;| = &lt;i&gt;N&lt;/i&gt;, we can compute group structure in &lt;i&gt;o&lt;/i&gt; (&lt;i&gt;N&lt;/i&gt;&lt;sup&gt;1/2&lt;/sup&gt;) group operations for all but a small set of pathological cases. The complexity is essentially that of an order computation on a single random element. A lower bound of &amp;#937; &lt;i&gt;N&lt;/i&gt;&lt;sup&gt;1/2&lt;/sup&gt;) had been assumed, based on a similar bound for the discrete logarithm problem. &lt;/p&gt;&lt;p&gt;We apply these results to compute the ideal class groups of imaginary quadratic number fields, a standard test case for generic algorithms. The record class group computation by a generic algorithm, for discriminant ?4(1030 + 1), involved some 240 million group operations over the course of 15 days on a Sun SparcStation4. We accomplish the same task using 1/1000th the group operations, taking less than 3 seconds on a PC. Comparisons with non-generic algorithms for class group computation are also favorable in many cases. We successfully computed several class groups with discriminants containing more than 100 digits. These are believed to be the largest class groups ever computed.&lt;/p&gt;</content><link rel='alternate' type='text/html' href='http://jeffsutherland.com/2007/06/graduation-time-mit-phd-thesis-uses.html' title='Graduation Time: MIT PhD Thesis uses cheap supercomputer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3412775&amp;postID=7043245551088969746' title='2 Comments'/><link rel='replies' type='application/atom+xml' href='http://jeffsutherland.com/rss.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/7043245551088969746'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/7043245551088969746'/><author><name>Jeff Sutherland</name></author></entry><entry><id>tag:blogger.com,1999:blog-3412775.post-2852274727873655173</id><published>2007-05-23T10:02:00.000-04:00</published><updated>2007-06-05T11:45:00.551-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scrum T-shirt'/><title type='text'>Scrum World Tour T-Shirt</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://jeffsutherland.com/scrum/uploaded_images/t_shirt_large-794865.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://jeffsutherland.com/scrum/uploaded_images/t_shirt_large-794825.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Thanks to Örjan Hillbom CPG we now have a Scrum World Tour T-Shirt produced by Trifork in Denmark. Örjan is a rock group/motorcycle gang video expert who attended a Certified ScrumMaster training by me and Jens Ostergaard in Copenhagen recently. He said Scrum really "rocks" and it is definitely "faster, better, cooler" and must have a world class T-shirt which he designed for free.&lt;br /&gt;&lt;br /&gt;A Type C Scrum Danish company produces really nice T-shirts so I asked them to produce this one. It costs about $30 plus a few dollars for shipping. &lt;a href="http://www.trifork.com/Default.asp?Action=Details&amp;Item=17" target=blank&gt;Get your Scrum World Tour T-Shirt at Trifork&lt;/a&gt;.</content><link rel='alternate' type='text/html' href='http://jeffsutherland.com/2007/05/scrum-world-tour-t-shirt.html' title='Scrum World Tour T-Shirt'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3412775&amp;postID=2852274727873655173' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://jeffsutherland.com/rss.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/2852274727873655173'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/2852274727873655173'/><author><name>Jeff Sutherland</name></author></entry><entry><id>tag:blogger.com,1999:blog-3412775.post-412169744937555861</id><published>2007-05-16T11:34:00.000-04:00</published><updated>2007-05-16T11:39:20.057-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QA tools'/><title type='text'>Regenerative Build Tools</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://jeffsutherland.com/uploaded_images/logo_artima_developer-712619.gif"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://jeffsutherland.com/uploaded_images/logo_artima_developer-712615.gif" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Regenerative Build Tools&lt;/span&gt;&lt;br /&gt;by &lt;a href="http://www.artima.com/weblogs/viewpost.jsp?thread=205641" target=blank&gt;Michael Feathers&lt;/a&gt;, May 15, 2007&lt;br /&gt;&lt;br /&gt;    Summary&lt;br /&gt;    Dust off an old computer and put it to work. &lt;br /&gt;&lt;br /&gt;I think that when people look back at the way we program today, one of the things that they'll be amazed at is the fact that we have so much computing power but we don't do much with it.&lt;br /&gt;&lt;br /&gt;Seriously, how many computers do you have?  If you're like me you have a least a couple of stray ones sitting around the office, and they aren't doing anything.  What a waste.  And, it's only going to get worse as multicore processors become more prevalent.&lt;br /&gt;&lt;br /&gt;When I first heard of continuous integration, way back in the day, I misunderstood it.  I thought that some computer someplace was going to build my project continuously.  That is, regardless of whether I or anyone else had checked in.  Silly?  Perhaps. But, wasteful?  I don't think so, the computer is running anyway.  It might as well work.&lt;br /&gt;&lt;br /&gt;A while back, I visited a C++ team that had found a wonderful use for a spare computer.   They set it up to build continuously.  Then they  did something  fascinating. They created a script that went into their code and commented out  a single #include.  Then it built their project.  If the build and the tests passed, the script deleted the include.  If it didn't, the script uncommented the include and went on to the next one.  Yes, it took quite a while to march through the code, but with that build running continuously in the background, they were able to eliminate a large number of superfluous dependencies.  Their build got better.&lt;br /&gt;&lt;br /&gt;That script that they wrote is an example of something I call a regenerative build tool.  There are others.  Jester is a regenerative build tool which uses mutation testing to find problems.  It changes your code in subtle ways and runs your tests to see whether they still pass.  If they do, you either don't have the tests you need to have, or you could have code which is really doesn't contribute to your results at all -- zombie code.  Guantanamo is another regenerative build tool, a rather severe one.  It deletes all code that isn't covered by a set of tests.</content><link rel='alternate' type='text/html' href='http://jeffsutherland.com/2007/05/regenerative-build-tools.html' title='Regenerative Build Tools'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3412775&amp;postID=412169744937555861' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://jeffsutherland.com/rss.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/412169744937555861'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/412169744937555861'/><author><name>Jeff Sutherland</name></author></entry><entry><id>tag:blogger.com,1999:blog-3412775.post-5584036236169513540</id><published>2007-04-13T14:01:00.000-04:00</published><updated>2007-04-13T14:02:19.039-04:00</updated><title type='text'>Deep Agile: A Dialogue Between Scrum and XP</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://jeffsutherland.com/scrum/uploaded_images/deepagile-769754.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://jeffsutherland.com/scrum/uploaded_images/deepagile-769746.jpg" border="0" alt="The Plan is the Problem" /&gt;&lt;/a&gt;&lt;span style="font-style:italic; border="0""&gt;&lt;a href="http://www.stsc.hill.af.mil/CrossTalk/2007/04/index.html" target=blank&gt;Photo from cover of Crosstalk, Apr 2007&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Spend two days with two signatories of the Agile Manifesto - Jeff Sutherland, Co-Creator of Scrum, and Ron Jeffries, XP author and consultant.&lt;br /&gt;&lt;br /&gt;You wouldn't want to miss a two day deep dive into Agile: Scrum, Extreme Programming(XP) and Lean steps to software development success. Not to mention how to get Scrum and XP working together ...&lt;br /&gt;&lt;br /&gt; When:  April 28 and 29th, 2007&lt;br /&gt; Where:  MIT Tang Center/E51-345, Cambridge, MA&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.gbcacm.org/website/deepagile/" target=blank&gt;Register here&lt;/a&gt;. All proceeds go to the Boston chapter of the ACM.</content><link rel='alternate' type='text/html' href='http://jeffsutherland.com/2007/04/deep-agile-dialogue-between-scrum-and.html' title='Deep Agile: A Dialogue Between Scrum and XP'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3412775&amp;postID=5584036236169513540' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://jeffsutherland.com/rss.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/5584036236169513540'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/5584036236169513540'/><author><name>Jeff Sutherland</name></author></entry><entry><id>tag:blogger.com,1999:blog-3412775.post-600526012807519253</id><published>2007-03-16T10:39:00.000-04:00</published><updated>2007-04-08T11:24:17.196-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='scrum'/><title type='text'>Scrum Montage</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://jeffsutherland.com/uploaded_images/ScrumMonstageFlash-700774.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://jeffsutherland.com/uploaded_images/ScrumMonstageFlash-700698.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;a href="http://grant.robinson.name/projects/montage-a-google/" target=blank&gt;Montage-a-Google&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Montage-a-google is a simple web-based app that uses Google's image search to generate a large gridded montage of images based on keywords (search terms) entered by the user. Not only an interesting way of browsing the net, it can also be used to create desktop pictures or even posters.&lt;br /&gt;&lt;br /&gt;The Scrum montage was created by setting Scrum as the keyword for a Montage-a-Google search.</content><link rel='alternate' type='text/html' href='http://jeffsutherland.com/2007/03/scrum-montage.html' title='Scrum Montage'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3412775&amp;postID=600526012807519253' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://jeffsutherland.com/rss.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/600526012807519253'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/600526012807519253'/><author><name>Jeff Sutherland</name></author></entry><entry><id>tag:blogger.com,1999:blog-3412775.post-8929401209597963771</id><published>2007-03-04T14:59:00.001-05:00</published><updated>2007-03-04T15:00:40.336-05:00</updated><title type='text'>Get an Experienced Developer on the Test Team</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://jeffsutherland.com/scrum/uploaded_images/artima-714381.gif"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://jeffsutherland.com/scrum/uploaded_images/artima-711910.gif" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;In 1993, at Easel Corporation, we went to the local university and hired their best Master of Computer Science graduate to join the test team and focus 100% on automation. This was one of the decisions that put the first Scrum into a hyperproductive state where we delivered software so fast, the management, sales, and marketing people asked us to slow down.&lt;br /&gt;&lt;br /&gt;Alberto Savoia proposes the same thing in his recent blog posting and his proposed job description is below. &lt;a href="http://www.artima.com/weblogs/viewpost.jsp?thread=196922" target=blank&gt;Click here to read the full post&lt;/a&gt; that makes the case for an experienced developer on the test team.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Agitating Thoughts &amp; Ideas&lt;br /&gt;Developer Testing Masters and Brain Surgeons&lt;/span&gt;&lt;br /&gt;by Alberto Savoia&lt;br /&gt;February 26, 2007&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Developer Testing Master&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is a high-visibility, high-impact, senior software development position, reporting to the VP of Software Engineering at Company ABC. The successful candidate will help our software engineering organization bridge the gap between development and QA by providing developers with the infrastructure, tools, training, and support necessary to be successful at developer/unit testing.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Job Requirements:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;[Should start with the organization’s standard requirements for non-junior software developers. Remember, this should not be an entry-level or junior position. This person has to be at least as good as other developers – ideally better than most of them since the DTM will often have to understand, clean-up, and make testable some of the un-testable code the other developers have created.]&lt;br /&gt;&lt;br /&gt;Must have demonstrated passion for, and experience in, developer testing. Should be extremely familiar with continuous integration and testing tools and frameworks (CruiseControl, xUnit, code-coverage tools, etc.)&lt;br /&gt;&lt;br /&gt;Must have leadership ability to evangelize, motivate, and train developers in the art and science of unit testing.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Job Responsibilities&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Help to set-up a software development environment that enables continuous integration and testing. Environment must support automated hourly and nightly builds. The former must run smoke tests and the latter the full battery of developer tests. Might have to implement distributed testing framework to allow parallel test execution.&lt;br /&gt;&lt;br /&gt;Analyze the existing code base and recommend and/or implement re-designs and refactorings to make the code base testable.&lt;br /&gt;&lt;br /&gt;Extend and customize xUnit framework to standardize and simplify unit test writing for the other developers. Extend the “TestCase” class by creating “CompanyABCTestCase” and maintain the latter. Implement initial set of mocks, test fixtures, and other set-up methods to enable other developers to write true unit tests that don’t depend on external system resources.&lt;br /&gt;&lt;br /&gt;Create and deliver basic unit testing training material to educate all developers in the art and science of unit testing.&lt;br /&gt;&lt;br /&gt;Work with the team to decide on developer testing metrics and objectives. Create, maintain, and publish a developer-testing dashboard to track those objectives.</content><link rel='alternate' type='text/html' href='http://jeffsutherland.com/2007/03/get-experienced-developer-on-test-team.html' title='Get an Experienced Developer on the Test Team'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3412775&amp;postID=8929401209597963771' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://jeffsutherland.com/rss.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/8929401209597963771'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/8929401209597963771'/><author><name>Jeff Sutherland</name></author></entry><entry><id>tag:blogger.com,1999:blog-3412775.post-8115916862625372408</id><published>2007-02-26T15:36:00.000-05:00</published><updated>2007-02-26T15:47:37.030-05:00</updated><title type='text'>Ruby Implementations Shootout</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://jeffsutherland.com/uploaded_images/rubyperformance-728038.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://jeffsutherland.com/uploaded_images/rubyperformance-716466.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.antoniocangiano.com/articles/2007/02/19/ruby-implementations-shootout-ruby-vs-yarv-vs-jruby-vs-gardens-point-ruby-net-vs-rubinius-vs-cardinal" target=blank&gt;Antonio Cangiano reported on Ruby benchmarks recently&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;Many brilliant developers are working on improving the current implementation of Ruby and on creating alternatives. I was curious about their current respective speeds, so I installed and ran some benchmarks for the most popular implementations. In this article, I’m sharing the results for the community to see...&lt;br /&gt;&lt;br /&gt;Benchmark Environment&lt;br /&gt;&lt;br /&gt;My tests were conducted on an AMD Athlon™ 64 3500+ processor, with 1 GB of RAM.&lt;br /&gt;&lt;br /&gt;The tested Ruby implementations were:&lt;br /&gt;&lt;br /&gt;    * Ruby 1.8.5-p12 stable on Linux;&lt;br /&gt;    * Ruby 1.8.5-p12 stable on Windows Vista;&lt;br /&gt;    * Ruby 1.9 on Linux;&lt;br /&gt;    * JRuby on Linux;&lt;br /&gt;    * Rubinius on Linux;&lt;br /&gt;    * Cardinal on Linux;&lt;br /&gt;    * Gardens Point Ruby .NET Beta 0.6 on Windows Vista;&lt;br /&gt;&lt;br /&gt;The operating system that was used for all – but Ruby.NET – is Ubuntu 6.10 (for x86). Ruby.NET currently runs on Microsoft Windows only, therefore I’ve used Vista with the .NET Framework 2.0 and have also run Ruby 1.8.5-p12 on Windows as a means of having a more direct comparison with Ruby.NET.</content><link rel='alternate' type='text/html' href='http://jeffsutherland.com/2007/02/ruby-implementations-shootout.html' title='Ruby Implementations Shootout'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3412775&amp;postID=8115916862625372408' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://jeffsutherland.com/rss.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/8115916862625372408'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/8115916862625372408'/><author><name>Jeff Sutherland</name></author></entry><entry><id>tag:blogger.com,1999:blog-3412775.post-6576292720974589927</id><published>2006-11-30T15:58:00.000-05:00</published><updated>2006-11-30T16:36:15.881-05:00</updated><title type='text'>Bjarne Stroustrup, inventor of C++, on what's wrong with most software ...</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://jeffsutherland.com/uploaded_images/logo_mit_tech_review-792255.gif" target=blank&gt;&lt;img style="cursor: pointer;" src="http://jeffsutherland.com/uploaded_images/logo_mit_tech_review-792149.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;The Problem with Programming&lt;/span&gt;&lt;br /&gt;By &lt;a href="http://www.technologyreview.com/read_article.aspx?id=17831&amp;ch=infotech"&gt;Jason Pontin, Tuesday, November 28, 2006&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In the 1980s and 90s, Bjarne Stroustrup designed and implemented the C++ programming language, which popularized object-oriented programming and influenced numerous other programming languages, including Java.&lt;br /&gt;&lt;br /&gt;C++ remains the archetypal "high level" computer language (that is, one that preserves the features of natural, human language), and it is still used by millions of programmers. Many of the systems and applications of the PC and Internet eras were written in C++. For all that, the language remains controversial, largely because it is notoriously difficult to learn and use, and also because Stroustrup's design allows developers to make serious programming mistakes in the interest of preserving their freedom.&lt;br /&gt;&lt;br /&gt;Stroustrup, for many years a researcher at AT&amp;amp;T Bell Labs, is now a professor of computer science in the Department of Engineering, at Texas A&amp;M University, near Houston.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Technology Review: &lt;/span&gt;Why is most software so bad?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Bjarne Stroustrup:&lt;/span&gt; Some software is actually pretty good by any standards. Think of the Mars Rovers, Google, and the Human Genome Project. That's quality software! Fifteen years ago, most people, and especially most experts, would have said each of those examples was impossible. Our technological civilization depends on software, so if software had been as bad as its worst reputation, most of us would have been dead by now.&lt;br /&gt;&lt;br /&gt;On the other hand, looking at "average" pieces of code can make me cry. The structure is appalling, and the programmers clearly didn't think deeply about correctness, algorithms, data structures, or maintainability. Most people don't actually read code; they just see Internet Explorer "freeze."&lt;br /&gt;&lt;br /&gt;I think the real problem is that "we" (that is, we software developers) are in a permanent state of emergency, grasping at straws to get our work done. We perform many minor miracles through trial and error, excessive use of brute force, and lots and lots of testing, but--so often--it's not enough.&lt;br /&gt;&lt;br /&gt;Software developers have become adept at the difficult art of building reasonably reliable systems out of unreliable parts. The snag is that often we do not know exactly how we did it: a system just "sort of evolved" into something minimally acceptable. Personally, I prefer to know when a system will work, and why it will.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;TR:&lt;/span&gt; How can we fix the mess we are in? ... &lt;a href="http://www.technologyreview.com/read_article.aspx?id=17831&amp;amp;ch=infotech" target=blank&gt;Click here to find out!&lt;/a&gt;</content><link rel='alternate' type='text/html' href='http://jeffsutherland.com/2006/11/bjarne-stroustrup-inventor-of-c-on.html' title='Bjarne Stroustrup, inventor of C++, on what&apos;s wrong with most software ...'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3412775&amp;postID=6576292720974589927' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://jeffsutherland.com/rss.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/6576292720974589927'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/6576292720974589927'/><author><name>Jeff Sutherland</name></author></entry><entry><id>tag:blogger.com,1999:blog-3412775.post-1196583355254942130</id><published>2006-11-29T12:40:00.001-05:00</published><updated>2006-11-29T16:10:05.629-05:00</updated><title type='text'>Agile Performance Reviews</title><content type='html'>&lt;img height="64" src="http://jeffsutherland.com/individual/indivloop.gif" width="194" shapes="_x0000_i1025" /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;span style="FONT-WEIGHT: bold;font-size:180%;" &gt;MEMO – June 1996&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold;font-size:18;" &gt; &lt;/span&gt;&lt;span style="FONT-WEIGHT: bold;font-size:85%;" &gt;(updated Mar 1997 for IDX RISD, Feb 2000 for PatientKeeper, Nov 2006 for Scrum &lt;?xml:namespace prefix = st1 /&gt;&lt;st1:city&gt;&lt;st1:place&gt;Alliance&lt;/st1:place&gt;&lt;/st1:city&gt;&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold;font-size:85%;" &gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;To: All Development Staff&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;From: Jeff Sutherland&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;VP Engineering, Individual&lt;br /&gt;SVP Engineering and CTO, IDX Systems&lt;br /&gt;CTO, PatientKeeper&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Subject: Performance Reviews&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Over the past 10 years, the attached review process was evolved during the first implementation of Scrum at Easel Corporation in 1993 and enhanced in several leading software companies. Hyper-performance teams have used this process to accelerate their effectiveness. (Hyper-performance teams deliver product in record time and computer journal editors write rave reviews and say it is the best product of its type that they have ever seen.)&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;This review process: &lt;/p&gt;&lt;ul type="disc"&gt;&lt;li class="MsoNormal"&gt;Allows the review to be a better means of communication with an employee. &lt;/li&gt;&lt;li class="MsoNormal"&gt;Helps build mutual understanding on performance, personal goals and objectives, company goals and objective, training needed, and objectives for the next three months. &lt;/li&gt;&lt;li class="MsoNormal"&gt;Makes the rating system more objective by focusing attention on the user experience of the product being developed, along with time to market. The subjective experience of the manager is deemphasized. &lt;/li&gt;&lt;li class="MsoNormal"&gt;Require raters to all work closely with one another to sanity check ratings. It is not easily managable on a large, impersonal system, as currently used in the IDX peer rating system in 1997.&lt;/li&gt;&lt;/ul&gt;&lt;h2 style="TEXT-ALIGN: center" align="center"&gt;&lt;hr align="center" width="100%" size="2"&gt;&lt;/h2&gt;&lt;h2&gt;&lt;span style="font-size:14;"&gt;&lt;span style="font-size:130%;"&gt;The Process Takes Three Meetings to Initialize&lt;/span&gt;&lt;?xml:namespace prefix = o /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;b&gt;Meeting 1:&lt;/b&gt; Reviewer meets with employee and goes over this document. The employee is then asked to write his own individual review after the meeting by responding to the key questions (see below) and giving him/herself a rating. The employee can write a little or a lot. This review is designed to minimize the amount of writing. &lt;/p&gt;&lt;p&gt;&lt;b&gt;Meeting 2:&lt;/b&gt; The second meeting occurs when the employee returns the review (along with soft copy). The reviewer discussed the employees perceptions to get a good understanding of them. After the meeting the reviewer carefully edits the review to incorporate the reviewers perception of performance. &lt;/p&gt;&lt;p&gt;&lt;b&gt;Meeting 3:&lt;/b&gt; The third meeting occurs after the reviewer has finished editing the review and the ratings. The updated document is carefully discussed with the employee. Any difference in perceptions is noted. If there is any disagreement, the employee may convince the reviewer to change the review or, failing that, write a rebuttal that will be attached to the review. After changes are incorporated, the review is signed by both reviewer and employee, as well as the VP of Engineering.. &lt;/p&gt;&lt;h2 style="TEXT-ALIGN: center" align="center"&gt;&lt;hr align="center" width="100%" size="2"&gt;&lt;/h2&gt;&lt;h2&gt;&lt;span style="font-size:14;"&gt;&lt;span style="font-size:130%;"&gt;The Review Ratings&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;b&gt;It is well known that employee performance ratings in all organizations are inflated.&lt;/b&gt; &lt;b&gt;This process is designed to produce realistic, provably accurate, ratings.&lt;/b&gt; Ratings tend to reflect how well the employee sucks up to the manager, rather than whether or not the employee generated a great product that led to lots of sales and happy customers. We have to get away from motivating employees to please the manager, and get them to please the customer.&lt;span style="font-size:0;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;The higher rating supercedes the lower. If the manager gives a 4 and the team gives a 7, it is a 7 and so forth. This review is a form of &lt;a href="http://en.wikipedia.org/wiki/360-degree_feedback" target="blank"&gt;360 degree feedback&lt;/a&gt; where the review process is designed to surface gross disparities between market perception, customer perception, company perception, team perception, manager perception, and individual employee perception of their performance. Gross disparities are rare and should be dealt with on an exception basis.&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="font-size:14;"&gt;&lt;span style="font-size:130%;"&gt;Ratings on the review are scaled from 1 to 10:&lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;10&lt;/b&gt; &lt;span style="font-size:0;"&gt;&lt;/span&gt;Trade journals are writing rave reviews about your work saying it is best in class&lt;/p&gt;&lt;p&gt;Historically, two teams scored a 10 with this system. The first was the original Scrum team at Easel Corporation for delivering Object Studio (ScrumMaster: John Scumniotales). The second was at IDX for delivering a new Enterprise Master Patient Index System (ScrumMaster: Mary Rettig).&lt;/p&gt;&lt;p&gt;&lt;b&gt;9&lt;/b&gt; &lt;span style="font-size:0;"&gt;&lt;/span&gt;Customers are writing rave reviews about you (must be documented in writing)&lt;/p&gt;&lt;p&gt;&lt;b&gt;8 &lt;/b&gt;&lt;span style="font-size:0;"&gt;&lt;/span&gt;Exceeds expectation of the company senior management &lt;/p&gt;&lt;p&gt;&lt;b&gt;7&lt;/b&gt; &lt;span style="font-size:0;"&gt;&lt;/span&gt;Exceeds expectation of Product Owner and Team &lt;/p&gt;&lt;p&gt;&lt;b&gt;6&lt;/b&gt; &lt;span style="font-size:0;"&gt;&lt;/span&gt;Exceeds reviewers expectations &lt;/p&gt;&lt;p&gt;&lt;b&gt;5&lt;/b&gt; &lt;span style="font-size:0;"&gt;&lt;/span&gt;Meets reviewers expectations &lt;/p&gt;&lt;p&gt;&lt;b&gt;4&lt;/b&gt;&lt;span style="font-size:0;"&gt; &lt;/span&gt;Does not meet reviewers expectations &lt;/p&gt;&lt;p&gt;&lt;b&gt;3&lt;/b&gt; &lt;span style="font-size:0;"&gt;&lt;/span&gt;Does not meet development teams expectations &lt;/p&gt;&lt;p&gt;&lt;b&gt;2 &lt;/b&gt;&lt;span style="font-size:0;"&gt;&lt;/span&gt;Does not meet Engineering group or company expectations &lt;/p&gt;&lt;p&gt;&lt;b&gt;1&lt;/b&gt; &lt;span style="font-size:0;"&gt;&lt;/span&gt;Customers are complaining about you &lt;/p&gt;&lt;p&gt;&lt;b&gt;0&lt;/b&gt; &lt;span style="font-size:0;"&gt;&lt;/span&gt;You are personally roasted in PC Week &lt;/p&gt;&lt;p&gt;Under this system, the manager can give a 4, 5, or 6. Any other rating requires outside input from the development team, the engineering group, senior management, customers, or the press. The employee can always write a rebuttal to any review and have it attached to the review as part of the human resources record.&lt;/p&gt;&lt;h2 style="TEXT-ALIGN: center" align="center"&gt;&lt;hr align="center" width="100%" size="2"&gt;&lt;/h2&gt;&lt;h2&gt;&lt;span style="font-size:14;"&gt;&lt;span style="font-size:130%;"&gt;Review Template&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;The attached document provides a &lt;a href="http://jeffsutherland.com/individual/review_template.html" target="blank"&gt;template for the review&lt;/a&gt;. &lt;/p&gt;&lt;h2 style="TEXT-ALIGN: center" align="center"&gt;&lt;hr align="center" width="100%" size="2"&gt;&lt;/h2&gt;&lt;h2&gt;&lt;span style="font-size:14;"&gt;&lt;span style="font-size:130%;"&gt;Ongoing Reviews&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;One an initial review is written, it becomes the template for the next review. Subsequent reviews can be done easily and quickly with this template in place.&lt;/p&gt;</content><link rel='alternate' type='text/html' href='http://jeffsutherland.com/2006/11/agile-performance-reviews.html' title='Agile Performance Reviews'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3412775&amp;postID=1196583355254942130' title='2 Comments'/><link rel='replies' type='application/atom+xml' href='http://jeffsutherland.com/rss.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/1196583355254942130'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/1196583355254942130'/><author><name>Jeff Sutherland</name></author></entry><entry><id>tag:blogger.com,1999:blog-3412775.post-7487689041818048130</id><published>2006-11-20T08:12:00.000-05:00</published><updated>2006-11-20T08:26:43.226-05:00</updated><title type='text'>Water Cooled Laptop: Boost Your Performance!</title><content type='html'>&lt;a href="http://jeffsutherland.com/uploaded_images/DSCN0284-711289.JPG"&gt;&lt;img style="CURSOR: hand" alt="" src="http://jeffsutherland.com/uploaded_images/DSCN0284-708658.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;My IBM Thinkpad T42 has a nasty habit of giving me the black screen of death. I've tried three different T42s and it happens on all of them. Tracking down the problem, it is clear that the cause is overheating. My IT Manager says I have too many programs on my machine that drive the processor too hard.&lt;br /&gt;&lt;br /&gt;What kind of answer is that? The machine runs fine until the black screen of death appears!&lt;br /&gt;&lt;br /&gt;The latest version of Google Earth will cause the laptop to fail every time I run it so I got serious about finding a solution. After using a cold water towel and ice I achieved success. The solution has been now optimized using an ice cold sixpack of Coke! Since my company has unlimited free supply of soft drinks, I simply get a new sixpack every four hours.&lt;br /&gt;&lt;br /&gt;The side benefit of the water cooled laptop is that it runs screamingly fast as long as the Coke is cold. It will probably benefit all high powered laptops to watercool them!&lt;br /&gt;&lt;br /&gt;My IT Manager thought this was so "cool" he is buying me a new Thinkpad T60. I'll keep you posted on whether water cooling the new laptop improves performance.</content><link rel='alternate' type='text/html' href='http://jeffsutherland.com/2006/11/water-cooled-laptop-boost-your.html' title='Water Cooled Laptop: Boost Your Performance!'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3412775&amp;postID=7487689041818048130' title='2 Comments'/><link rel='replies' type='application/atom+xml' href='http://jeffsutherland.com/rss.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/7487689041818048130'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/7487689041818048130'/><author><name>Jeff Sutherland</name></author></entry><entry><id>tag:blogger.com,1999:blog-3412775.post-6261506592625324540</id><published>2006-11-19T13:19:00.000-05:00</published><updated>2006-11-19T13:21:01.146-05:00</updated><title type='text'>Scrum in 5 Minutes</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://jeffsutherland.com/scrum/uploaded_images/logo_softhouse-714862.gif"&gt;&lt;img style="cursor: pointer;" src="http://jeffsutherland.com/scrum/uploaded_images/logo_softhouse-709591.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;When I am in Scandinavia, I often work with Softhouse, a consultancy with clients like Sony/Ericson and IKEA. They have an excellent short paper called:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;a href="http://www.softhouse.se/Uploades/Scrum_eng_webb.pdf"&gt;Scrum in 5 Minutes&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;On my laptop, I can run this PDF in full screen mode as a slide show and use it for press briefings or short overviews for those not familiar with Scrum, particularly when working on "Scrum for Everybody" for non-IT implementations.&lt;br /&gt;&lt;br /&gt;I used it in a large press conference last week in Buenos Aires and the press feedback was very positive. They said it hit them at just the right level and that my responses to questions (working through a real time Spanish interpreter) were unusually direct and to the point every time. I told them that was a lesson in Scrum transparency. We want everything to be open, clear, and direct so that teams and companies can self-organize to improve performance.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://jeffsutherland.com/scrum/uploaded_images/scrum-overview-741006.gif"&gt;&lt;img style="cursor: pointer;" src="http://jeffsutherland.com/scrum/uploaded_images/scrum-overview-723500.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Softhouse also has a nice graphic showing the Scrum process.</content><link rel='alternate' type='text/html' href='http://jeffsutherland.com/2006/11/scrum-in-5-minutes.html' title='Scrum in 5 Minutes'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3412775&amp;postID=6261506592625324540' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://jeffsutherland.com/rss.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/6261506592625324540'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/6261506592625324540'/><author><name>Jeff Sutherland</name></author></entry><entry><id>tag:blogger.com,1999:blog-3412775.post-116300430698037488</id><published>2006-11-08T10:47:00.000-05:00</published><updated>2006-11-11T05:30:46.469-05:00</updated><title type='text'>JRuby - Saving programmers from their Java-only prisons!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://jeffsutherland.com/uploaded_images/charlesnutter-716623.jpg"&gt;&lt;img style="cursor: pointer;" src="http://jeffsutherland.com/uploaded_images/charlesnutter-712872.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;Charles Nutter, Sun Microsystems&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ruby-lang.org/en/" target="blank"&gt;Ruby&lt;/a&gt; is basically Smalltalk for Perl programmers. However, it is getting more interesting for Java programmers. Sun has hired Charles Nutter and others to build the next generation JRuby interpreter which will run on the JVM to save "Java developers anxious to escape from their Java-only prisons."&lt;br /&gt;&lt;br /&gt;I first got excited about Ruby at the Agile Manifesto meeting in 2001, after dining and drinking with pragmatic programmers David Thomas and Andy Hunt, authors of "&lt;a href="http://pragmaticprogrammer.com/titles/ruby/index.html" target="blank"&gt;Programming in Ruby&lt;/a&gt;." Ever since, I've done my best to avoid programming in anything else. Some of my Scrum clients have moved to Ruby for mainstream product development, and a few of the senior engineers at my company would move to Ruby in a nanosecond if it made business sense.&lt;br /&gt;&lt;br /&gt;JRuby will allow us to run Ruby programs on the Java JVM which is essentially the core strategy I recommended to the Smalltalk community years ago to save Smalltalk.&lt;br /&gt;&lt;br /&gt;Sutherland, Jeff. &lt;a href="http://jeffsutherland.com/papers/Sutherland1996SmalltalkManifestoObjMag9_96.htm" target="blank"&gt;The   Smalltalk Manifesto&lt;/a&gt;: Avoiding RoadKill on the InfoBahn. &lt;em&gt;Object Magazine&lt;/em&gt;   9.96&lt;br /&gt;&lt;br /&gt;Alas, they were not quick to respond. Fortunately, Ruby has come to rescue former Smalltalkers. It's definitely a survivor.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://headius.blogspot.com/2006/10/another-year-another-interpreter.html" target="blank"&gt;&lt;span style="font-weight: bold;"&gt;JRuby Now and Into the Future&lt;/span&gt;&lt;/a&gt; by Charles Nutter&lt;br /&gt;&lt;br /&gt;So where has all this led? JRuby has been getting more and more attention from folks within Sun, Rubyists around the world, and especially from Java developers anxious to escape from their Java-only prisons. Our compatibility is increasing faster than before; we've had over a hundred new bugs reported in the past few weeks...almost all of them with community-contributed patches. We have added our first non-Sun team member Ola Bini, a star of the JRuby community who has proven his dedication to making Ruby on the JVM succeed. And we have started to solidify our short-term goals for the project.&lt;br /&gt;&lt;br /&gt;The primary goal remains the same: JRuby should be as close to 100% compatible with Ruby 1.8 as possible. Today, we are doing extremely well in this department. Rails generally works without issues, and most pure Ruby applications run without modification. There's still plenty of edge cases to iron out, but we're moving very rapidly now. Getting Rails to work as well as it does is already a major achievement.&lt;br /&gt;&lt;br /&gt;We have also started to iron out what a JRuby 1.0 release should look like. A few major points come up again and again:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Compatibility should be such that we can safely claim "Rails is supported"&lt;/li&gt;&lt;li&gt;Java integration should look like we want it to look for the future, and should be performant, lightweight, and seamless&lt;/li&gt;&lt;li&gt;All major codebase refactorings should be complete; this includes a solid design for wiring up Java-based method implementations, external extensions, and IO channels&lt;/li&gt;&lt;li&gt;Unicode should be supported out-of-the-box, giving Ruby code access to everything Java is capable of&lt;/li&gt;&lt;li&gt;Threading should work perfectly, both for JRuby-launched threads and for "adopted" threads from outside the runtime&lt;/li&gt;&lt;li&gt;Performance should be markedly improved&lt;/li&gt;&lt;/ul&gt;</content><link rel='alternate' type='text/html' href='http://jeffsutherland.com/2006/11/jruby-saving-programmers-from-their.html' title='JRuby - Saving programmers from their Java-only prisons!'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3412775&amp;postID=116300430698037488' title='3 Comments'/><link rel='replies' type='application/atom+xml' href='http://jeffsutherland.com/rss.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/116300430698037488'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/116300430698037488'/><author><name>Jeff Sutherland</name></author></entry><entry><id>tag:blogger.com,1999:blog-3412775.post-115913013474464990</id><published>2006-09-24T16:34:00.000-04:00</published><updated>2006-11-11T05:30:46.217-05:00</updated><title type='text'>InfoQ and the Roots of Scrum</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://jeffsutherland.com/scrum/uploaded_images/InfoQandRootsOfScrum-758688.jpg"&gt;&lt;img style="cursor: pointer;" src="http://jeffsutherland.com/scrum/uploaded_images/InfoQandRootsOfScrum-727112.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The JAOO Conference is coming up next week in Denmark. This is one of the leading annual software developer conferences and highly recommended. Last year, I presented at the &lt;a href="http://www.jaoo.dk/jaoo2005/speakers/show_speaker.jsp?oid=17" target="blank"&gt;JAOO conference&lt;/a&gt; on the &lt;span style="font-weight: bold;"&gt;Roots of Scrum&lt;/span&gt;. It was a great conference with about 900 Java and .NET developers in attendance.&lt;br /&gt;&lt;br /&gt;InfoQ has just put up a video of the entire &lt;a href="http://www.infoq.com/presentations/The-Roots-of-Scrum" target="blank"&gt;Roots of Scrum&lt;/a&gt; presentation along with slides that synchronize with the video. Very cool!&lt;br /&gt;&lt;br /&gt;The Roots of Scrum marketing pitch on InfoQ concerning Kent Beck, Scrum, and XP is somewhat exaggerated. In the presentation, I discuss the email Kent sent me in 1995 when he requested materials on Scrum. He was certainly aware of Scrum and particularly the Takeuchi and Nonaka 1996 Harvard Business Review paper mentioned in the Roots of Scrum video. XP, however, focuses on engineering practices which are quite useful to Scrum teams. While the first Scrum team used all of what became XP engineering practices in some form, an early decision was made with Ken Schwaber to focus industry-wide rollout of Scrum on team, project management, and scaling issues. As a result, Scrum as a way to manage and scale teams is nicely complementary, yet not overlapping, to XP engineering practices. The highest performing development teams tend to use both Scrum and XP at once as you will notice in my recent paper on the &lt;a href="http://jeffsutherland.com/scrum/2006/09/new-scrum-paper-international.html" target="blank"&gt;SirsiDynix project&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Next Wednesday at JAOO, I will talk about &lt;a href="http://jeffsutherland.com/scrum/2006/08/scrum-tuning-program-management-with.html" target=blank&gt;Scrum Tuning&lt;/a&gt;. How do you make your Scrum implementation better and what are best practices observed when watching hyperproductive Scrum teams in action? This will be followed by a two day Scrum certification course at the conference. This CSM course has been sold out for months so those of you who would like to become a Certified ScrumMaster in Denmark should take a look at the October 25-26 CSM Course in Aarhus which will follow the JAOO conference. Contact Anne Sophie Bille at EOS: &lt;a href="mailto:asb@eos.dk"&gt;asb@eos.dk&lt;/a&gt;.</content><link rel='alternate' type='text/html' href='http://jeffsutherland.com/2006/09/infoq-and-roots-of-scrum.html' title='InfoQ and the Roots of Scrum'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3412775&amp;postID=115913013474464990' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://jeffsutherland.com/rss.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/115913013474464990'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/115913013474464990'/><author><name>Jeff Sutherland</name></author></entry><entry><id>tag:blogger.com,1999:blog-3412775.post-115556681843585583</id><published>2006-08-14T10:46:00.000-04:00</published><updated>2006-11-11T05:30:45.913-05:00</updated><title type='text'>Type C Scrum: The Agile Enterprise</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://jeffsutherland.com/scrum/uploaded_images/scrum_II-756832.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://jeffsutherland.com/scrum/uploaded_images/scrum_II-754523.jpg" alt="" border="0" /&gt;&lt;/a&gt;At the Agile 2005 conference in Denver, I presented a research paper on a multi-team, multi-product Scrum which has a daily Scrum-of-Scrums meetings and a weekly MetaScrum where all Sprints are started, stopped, or changed by a broad base of company stakeholders. Thus the entire company runs as a Scrum.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Sutherland, Jeff. &lt;a style="font-weight: bold;" href="http://www.agile2005.org/RP10.pdf" target="blank"&gt;Future of Scrum: Parallel Pipelining of Sprints in Complex Projects.&lt;/a&gt; Agile 2005, Denver, CO. IEEE (in press)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The thrust of a Type C Scrum is to enable the entire enterprise to be Agile. Better software and faster development may not be enough to win in the marketplace. You need a Type C Scrum to turn your company into a competitive monster. &lt;a href="http://jeffsutherland.com/scrum/ScrumIIAgile2005.pdf" target="blank"&gt;Check out the slides from my presentation.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Since the IEEE format limits text to 10 pages, I have written up a more detailed version which will be published real soon in a short book called "The Scrum Papers." Let me know if you are interested in the long paper and I will send you a draft of the book (but only if you agree to give me feedback on how to make the paper better)!</content><link rel='alternate' type='text/html' href='http://jeffsutherland.com/2006/08/type-c-scrum-agile-enterprise.html' title='Type C Scrum: The Agile Enterprise'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3412775&amp;postID=115556681843585583' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://jeffsutherland.com/rss.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/115556681843585583'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/115556681843585583'/><author><name>Jeff Sutherland</name></author></entry><entry><id>tag:blogger.com,1999:blog-3412775.post-115135439393498166</id><published>2006-06-26T16:19:00.000-04:00</published><updated>2006-11-11T05:30:45.587-05:00</updated><title type='text'>No Silver Bullet: Essence and Accidents of Software Engineering</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://jeffsutherland.com/uploaded_images/fredbrooks-793057.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://jeffsutherland.com/uploaded_images/fredbrooks-769447.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.cs.unc.edu/Events/News/TuringAward.html" target=blank&gt;Fred Brooks&lt;/a&gt; comments:&lt;br /&gt;&lt;br /&gt;Much of present-day software-acquisition procedure rests upon the assumption that one can specify a satisfactory system in advance, get bids for its construction, have it built, and install it. I think this assumption is fundamentally wrong, and that many software-acquisition problems spring from that fallacy. Hence, they cannot be fixed without fundamental revision--revision that provides for iterative development and specification of prototypes and products.&lt;br /&gt;&lt;br /&gt;Incremental development--grow, don't build, software. I still remember the jolt I felt in 1958 when I first heard a friend talk about building a program, as opposed to writing one. In a flash he broadened my whole view of the software process. The metaphor shift was powerful, and accurate. Today we understand how like other building processes the construction of software is, and we freely use other elements of the metaphor, such as specifications, assembly of components, and scaffolding.&lt;br /&gt;&lt;br /&gt;The building metaphor has outlived its usefulness. It is time to change again. If, as I believe, the conceptual structures we construct today are too complicated to be specified accurately in advance, and too complex to be built faultlessly, then we must take a radically different approach.&lt;br /&gt;&lt;br /&gt;Let us turn nature and study complexity in living things, instead of just the dead works of man. Here we find constructs whose complexities thrill us with awe. The brain alone is intricate beyond mapping, powerful beyond imitation, rich in diversity, self-protecting, and selfrenewing. The secret is that it is grown, not built.&lt;br /&gt;&lt;br /&gt;So it must be with our software-systems. Some years ago Harlan Mills proposed that any software system should be grown by incremental development. [10] That is, the system should first be made to run, even if it does nothing useful except call the proper set of dummy subprograms. Then, bit by bit, it should be fleshed out, with the subprograms in turn being developed--into actions or calls to empty stubs in the level below.&lt;br /&gt;&lt;br /&gt;I have seen most dramatic results since I began urging this technique on the project builders in my Software Engineering Laboratory class. Nothing in the past decade has so radically changed my own practice, or its effectiveness. The approach necessitates top-down design, for it is a top-down growing of the software. It allows easy backtracking. It lends itself to early prototypes. Each added function and new provision for more complex data or circumstances grows organically out of what is already there.&lt;br /&gt;&lt;br /&gt;The morale effects are startling. Enthusiasm jumps when there is a running system, even a simple one. Efforts redouble when the first picture from a new graphics software system appears on the screen, even if it is only a rectangle. One always has, at every stage in the process, a working system. I find that teams can grow much more complex entities in four months than they can build.&lt;br /&gt;&lt;br /&gt;Brooks, Frederick P., "&lt;a href="http://www-inst.eecs.berkeley.edu/%7Emaratb/readings/NoSilverBullet.html" target="blank"&gt;No Silver Bullet: Essence and Accidents of Software Engineering&lt;/a&gt;," Computer, Vol. 20, No. 4 (April 1987) pp. 10-19.</content><link rel='alternate' type='text/html' href='http://jeffsutherland.com/2006/06/no-silver-bullet-essence-and-accidents.html' title='No Silver Bullet: Essence and Accidents of Software Engineering'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3412775&amp;postID=115135439393498166' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://jeffsutherland.com/rss.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/115135439393498166'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3412775/posts/default/115135439393498166'/><author><name>Jeff Sutherland</name></author></entry></feed>