<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8892139651869332787</id><updated>2012-01-22T10:46:06.950Z</updated><category term='Waterfall'/><category term='Agile'/><category term='Roles'/><title type='text'>Agile on Track</title><subtitle type='html'>Keeping Software Product Development on course</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://agileontrack.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8892139651869332787/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://agileontrack.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Gene</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_WBlWLj1DOoY/SjtsGngoT9I/AAAAAAAAAHA/8UcF27-vAHg/S220/gene_2006.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>3</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8892139651869332787.post-7627636662258016687</id><published>2009-08-16T16:45:00.008+01:00</published><updated>2009-09-21T12:00:00.969+01:00</updated><title type='text'>How do you define quality? (Draft- In progress)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_WBlWLj1DOoY/Sobi5X3DLwI/AAAAAAAAAIU/iSIJsxfu_Lc/s320/Bullseye.png"&gt;&lt;br /&gt;&lt;img style="float:left; margin:25px 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 298px;" src="http://1.bp.blogspot.com/_WBlWLj1DOoY/Sobi5X3DLwI/AAAAAAAAAIU/iSIJsxfu_Lc/s320/Bullseye.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5370229080971226882" /&gt;&lt;/a&gt;&lt;br /&gt;I've recently read a lot of posts about improving 'software quality', yet many of these posts look at a considered subset of what quality is, and very naively don't try to define it. A QA tester will often qualify quality by the number of bugs raised. A Product Manager may use the number of features in a product as a measure of quality. And end user, ultimately, will rate the quality of the software on his or her experience alone. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Earlier this year, I authored a project recovery paper, and within, I coined the phrase, the Quality Continuum.&lt;br /&gt;&lt;!-- &lt;/div&gt;&lt;br /&gt;&lt;div&gt; Twitter a lot been introduced to the concept of Minimum Viable Product by &lt;a href="http://www.threeriversinstitute.org/blog/?p=333"&gt;Kent Beck&lt;/a&gt;, &lt;a href="http://startuplessonslearned.blogspot.com/2009/08/minimum-viable-product-guide.html"&gt;Eric Ries&lt;/a&gt;, and read a related post on quality by &lt;a href="http://bobtuse.blogspot.com/2009/08/quality-okay-but-whos-paying-freight.html"&gt;Bob MacNeal&lt;/a&gt; and by another by &lt;a href="http://www.threeriversinstitute.org/blog/?p=321"&gt;Kent Beck&lt;/a&gt;. I'll be blogging later about Minimum Viable Product, in my &lt;a href="http://datumlogic.blogspot.com/"&gt;startup blog&lt;/a&gt;, but for now I'd like to share my thoughts on Product Quality  that have surfaced from these posts and a term I coined earlier in 2009 in a paper I wrote, The Quality Continuum.&lt;br /&gt;Before I discuss topics raised in the other blogs, let me first describe to you what I mean by Quality Continuum.&lt;br /&gt;--&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As you may know, a continuum is a continuous succession in which no part is distinct or distinguishable from adjacent part. The Quality Continuum, as I defined it, is the notion of Quality that transcends the development phase. If you are gathering Marketing requirements, or performing your final System test before release, Quality must be defined in the same way.  For instance, it is often said in software development, there are four variables: people, time, scope and quality. Back when I was a Development Manager, I remember our CTO telling me that quality is not negotiable, so shouldn't be on the list, Yet months later, as we were preparing to ship, he cut scope he also negotiated that certain Priority 3 (P3) and P4 level defects could ship to meet our deadline, and even demoted some P2's to P3. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;To meet our deadline, we cut scope, which angered product management, as they considered the reducing release feature-set as lowering the product quality. By reducing the number of features, we also eliminated the potential for more defects. &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_WBlWLj1DOoY/SobnBg9C6UI/AAAAAAAAAIc/cIapHbRbnDQ/s1600-h/The+Quality+Continuum+w-o+title.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 219px;" src="http://1.bp.blogspot.com/_WBlWLj1DOoY/SobnBg9C6UI/AAAAAAAAAIc/cIapHbRbnDQ/s320/The+Quality+Continuum+w-o+title.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5370233618897758530" /&gt;&lt;/a&gt;It has become obvious to me over the years that scope and quality are intrinsically linked are are not distinct variables in software development. In his blog post title &lt;a href="http://www.blogger.com/post-edit.g?blogID=8892139651869332787&amp;amp;postID=4260012072902887479"&gt;To Fix Or Not To Fix?: Another Good Question&lt;/a&gt;, Kent Beck argues that the XP concept of Defect Zero, eliminates the need to negotiate quality; defects are fixed as they are found. But herein are the issues; How do we define quality? Can all issues really be fixed in the given time? What if the issue is not easily reproducible or discoverable (eg- a Threading issue)? What if it is an edge case, and in 90% of the customer use cases, won't be an issue?&lt;br /&gt;&lt;br /&gt;Just as with software product requirements, you need to understand the boundaries and constraints of the problem, when considering product quality, I find it first very useful to define exactly what we taking about hen we say Quality. We've so far defined Functionality Scope and Reliability (Defects or bugs) as two of the most obvious attributes of quality. Another attribute I  have encountered is Maintainability. Even is a given feature works are defined, and without defects, if it's design is so fragile that trivial changes easily cause new defects, isn't this of poor quality? &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_WBlWLj1DOoY/Sob1qUxu8GI/AAAAAAAAAIk/WXbLxsqWLBA/s1600-h/ISO+9126-+Quality+characteristics.gif"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 253px;" src="http://4.bp.blogspot.com/_WBlWLj1DOoY/Sob1qUxu8GI/AAAAAAAAAIk/WXbLxsqWLBA/s320/ISO+9126-+Quality+characteristics.gif" border="0" alt="" id="BLOGGER_PHOTO_ID_5370249713166512226" /&gt;&lt;/a&gt;After reading Bob MacNeal post titled &lt;a href="http://bobtuse.blogspot.com/2009/08/quality-okay-but-whos-paying-freight.html"&gt;Quality's Okay, But Who's Paying the Freight?&lt;/a&gt;, I started searching for other characteristics of software quality, and found this reference to the ISO/IEC 9126  standard for Software Product Evaluation of Quality characteristics from 1991. Brilliant! Besides validating my attributes of Functionality, Reliability, and Maintainability, it also includes Usability, Efficiency, and Portability. In Scrum, I've included Usability and Performance (Efficiency) checks as 'Done' criteria, in the Review meetings, so they make sense as attributes as well. Also in my default 'Done' template, I include Security (is the code free of potential buffer overruns, SQL injection, etc). In the ISO 9126 model, Security is a a sub characteristic of Functionality, But I disagree with this hypothesis. Security should be considered an attribute on its own, as it is can be cross functional and it deserves more visibility. ISO 9126 was initially drafted in 1991, after all ;-)&lt;br /&gt;&lt;br /&gt;I've thought long and hard about including Portability as an attribute of quality. My initial reaction was it is not, as it isn't an issue with every project. I considered it as an optional attribute. But my final conclusion is that Portability is a requirement and therefore a sub-attribute of Functionality, as not all projects require it and not all programming languages supports portability (For instance C# &amp;amp; .NET, although arguably Mono makes this point somewhat mute), and often I've seen very portable code with lots of conditional includes that make the code very hard to maintain.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_WBlWLj1DOoY/SocEX9HXFHI/AAAAAAAAAIs/jrVp8u8VI0U/s1600-h/broken+chain.jpeg"&gt;&lt;img style="float:left; margin:25px 10px 10px 0;cursor:pointer; cursor:hand; width: 122px; height: 98px;" src="http://4.bp.blogspot.com/_WBlWLj1DOoY/SocEX9HXFHI/AAAAAAAAAIs/jrVp8u8VI0U/s320/broken+chain.jpeg" border="1" alt="" id="BLOGGER_PHOTO_ID_5370265890251543666" /&gt;&lt;/a&gt;&lt;br /&gt;Every organisation I've worked for has negotiated what defects would not be fixed at release time, and some organisations use this forum to draft its Known Issues List in the release notes. When Ken states that an organisation shouldn't need a bug tracking tool, I wholeheartedly agree; the product backlog should be the place to keep requirements, features, defects, etc. One of the things I detest most about many project and product management software packages is the idea that defects are different from stories/features. The Product Backlog is the ideal place to keep track of stories/features and defects. But if bugs are found mid iteration, and completed in that iteration or saved until the next, realistically, something must give (Good estimation and planning practices will be covered in a subsequent post). Every organisation, and every project/product management software tools I've used allow a way of prioritising defects&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Defining the Defect priorities&lt;div&gt;&lt;br /&gt;&lt;br /&gt;To be Continued .....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;!-- &lt;/div&gt;&lt;div&gt;P1- System Crash, Corrupts data&lt;/div&gt;&lt;div&gt;P2- Blocks system Flow (booking path)&lt;/div&gt;&lt;div&gt;P3- &lt;/div&gt;&lt;div&gt;P4-&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;--&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8892139651869332787-7627636662258016687?l=agileontrack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://agileontrack.blogspot.com/feeds/7627636662258016687/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://agileontrack.blogspot.com/2009/08/how-do-you-define-quality.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8892139651869332787/posts/default/7627636662258016687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8892139651869332787/posts/default/7627636662258016687'/><link rel='alternate' type='text/html' href='http://agileontrack.blogspot.com/2009/08/how-do-you-define-quality.html' title='How do you define quality? (Draft- In progress)'/><author><name>Gene</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_WBlWLj1DOoY/SjtsGngoT9I/AAAAAAAAAHA/8UcF27-vAHg/S220/gene_2006.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_WBlWLj1DOoY/Sobi5X3DLwI/AAAAAAAAAIU/iSIJsxfu_Lc/s72-c/Bullseye.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8892139651869332787.post-4471524462773496010</id><published>2009-06-23T12:46:00.013+01:00</published><updated>2009-06-25T13:37:52.864+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Waterfall'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><title type='text'>Does the world need another blog about Agile?</title><content type='html'>While researching various other blogs before starting this one, I found many very good posts. One in particular that struck a chord with me is Ade Miller's post &lt;a href="http://www.ademiller.com/blogs/tech/2009/06/agile-is-not-a-religion/"&gt;Agile is not a Religion&lt;/a&gt;. I too despise the dogma that has grown from the agile 'movements'.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; The statement "Your not agile if you don't...." proclaimed by the 'Agilista', always reminds me of of the Dada art/cultural movement that emerged after World War I, and was the predecessor to Surrealism. The Dada's rejected logic and embraced chaos and irrationality. Many Dadaists believed that the 'reason and logic' of the capitalist society had led people into World War I.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When Dadaism advanced, they began expelling members for taking themselves too seriously. The irony in this is obvious; by expelling members for taking themselves too seriously, they themselves were taking themselves too seriously. Much in the same way that stating "Your not agile if you don't....", is not very flexible, or agile, itself. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;At the end of Ade's post, he quotes Larman and Bodde from their book &lt;u&gt;Scaling Lean and Agile Development&lt;/u&gt;, "Be agile rather than do agile".  Remembering that the agile methodologies where built on a foundation of best practices, and as Ade clearly illustrates in his post, there is a lot of goodness that comes from them, and as the means does not justify the ends,  the ends do not singularly justify the means.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ade also referenced the &lt;a href="'http://groups.google.com/group/beyondagile'"&gt;BeyondAgile&lt;/a&gt;  group in his post. There appears to be a swell of &lt;a href='http://parlezuml.com/blog/?postid=407'&gt;post-Agilist&lt;/a&gt; thought emerging.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In this blog, &lt;u&gt;Agile on Track&lt;/u&gt;, I intend to take a hard look at what works well in the Agile methodologies, the evolving thinking surrounding the neo-Agile schools, and what I describe as the Middle Way. The Middle Way, as I hinted in my first post, is my concession that some things about the Waterfall methods do work, or at least can not be ignored as business dictates they be done in this manner.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You may ask, why I called this blog, &lt;u&gt;Agile on Track&lt;/u&gt;, rather than &lt;u&gt;The Middle Way&lt;/u&gt; then? &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Because, without a doubt, agility in business is becoming increasingly more important as every day passes. Even though I promote a Middle Way, it is definetly more agile than not. My goal is to become &lt;i&gt;truly&lt;/i&gt; agile in the way I manage projects, in a way that scales as the business and team grows, and meets the needs of every stakeholder in the projects.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Does the world need another blog about Agile? I do, do you?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; -webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8892139651869332787-4471524462773496010?l=agileontrack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://agileontrack.blogspot.com/feeds/4471524462773496010/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://agileontrack.blogspot.com/2009/06/does-world-need-another-blog-about.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8892139651869332787/posts/default/4471524462773496010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8892139651869332787/posts/default/4471524462773496010'/><link rel='alternate' type='text/html' href='http://agileontrack.blogspot.com/2009/06/does-world-need-another-blog-about.html' title='Does the world need another blog about Agile?'/><author><name>Gene</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_WBlWLj1DOoY/SjtsGngoT9I/AAAAAAAAAHA/8UcF27-vAHg/S220/gene_2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8892139651869332787.post-6244631662023887701</id><published>2009-06-18T14:29:00.015+01:00</published><updated>2009-06-19T18:49:37.372+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Waterfall'/><category scheme='http://www.blogger.com/atom/ns#' term='Roles'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><title type='text'>My Mission- A Middle Way</title><content type='html'>While I have had an interest in computers that originated in the 70's and matured in the 80's, software development wasn't my vocation until the end of the 90's. And while I initially was initially a humble developer, I did move through the ranks rather briskly, as a Team Leader, Development Manager, VP of Product Development, Product Manager and finally CTO.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In that time, I've had the good fortune to experience the full gamut of development methodologies, including a seat of your pants approach, 2 flavours of Waterfall, eXtreme Programming and Scrum.&lt;br /&gt;&lt;br /&gt;In the coming posts I'm going to detail my experiences of what worked and what didn't. I'll talk about my epiphanies along the way, and share with you my thoughts on how things could be better. My ultimate hope is that this fosters debate and leads to active participation in the comments section of the posts.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The greatest lessons I learned from these experiences came from having a new role with each new methodology to which I was exposed. The insight I gained allowed me to realize fundamental issues and benefits in each methodology.&lt;br /&gt;&lt;br /&gt;Given the choice between an Agile and a Waterfall approach, I camp firmly on the side of the 'Agilists'. I am in fact, a Certified Scrum Master. But make no mistake about it, I do not feel that any of the Agile approaches are singularly perfect. I can see some benefits of the Waterfall methodologies, quite clearly.&lt;br /&gt;&lt;br /&gt;So please join me as I set out to discuss, relate, and debate my experiences. And just possibly on this journey, we'll become enlightened in our search of product development management nirvana, a find a Middle Way.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Gene Myers&lt;br /&gt;18 June 2009&lt;br /&gt;Brighton, England&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8892139651869332787-6244631662023887701?l=agileontrack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://agileontrack.blogspot.com/feeds/6244631662023887701/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://agileontrack.blogspot.com/2009/06/my-mission-middle-way.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8892139651869332787/posts/default/6244631662023887701'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8892139651869332787/posts/default/6244631662023887701'/><link rel='alternate' type='text/html' href='http://agileontrack.blogspot.com/2009/06/my-mission-middle-way.html' title='My Mission- A Middle Way'/><author><name>Gene</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_WBlWLj1DOoY/SjtsGngoT9I/AAAAAAAAAHA/8UcF27-vAHg/S220/gene_2006.jpg'/></author><thr:total>0</thr:total></entry></feed>
