<?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-4975892303017632880</id><updated>2011-11-27T16:39:09.793-08:00</updated><category term='twonk super hero programmer pair programming agile'/><title type='text'>The Agile Angel</title><subtitle type='html'>Defender of Software Truth in a world where the mediocrity of the Twonk threatens to return us to the Dark Ages of Software.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://agileangel.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975892303017632880/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://agileangel.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>The Agile Angel</name><uri>http://www.blogger.com/profile/12305515364592005852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>5</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4975892303017632880.post-4155569203968969123</id><published>2009-10-30T08:22:00.000-07:00</published><updated>2009-10-30T08:26:50.018-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='twonk super hero programmer pair programming agile'/><title type='text'>The Superhero Developer</title><content type='html'>&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;The Agile Angel was reading an excellent blog the other day&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;&lt;a href="http://blogs.atlassian.com/developer/2009/06/pair_programming_is_kryptonite.html"&gt;http://blogs.atlassian.com/developer/2009/06/pair_programming_is_kryptonite.html &lt;/a&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;about the virtues of pair programming. Its a good piece of writing. However, somewhat predictably, several of those who commented on it went to some lengths to describe why pair programming was not suitable for them and other ‘Superhero’ developers. (yes Mr. Perez, she’s aiming this at you)&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;What a load of pish.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;By way of a slight biographical diversion, pair programming was the main reason for the Angel’s Agile epiphany. She can still recall the day when, quite unexpectedly, a colleague furnished her with a copy of Extreme Programming Explained (1st Edition). As she turned the pages she began to salivate at the potential contained within this little book. It was as if all her doubts had been confirmed. It validated her uneasiness about the way software was currently being built and offerer her exciting strategies for change which resonated immediately and dramatically. &lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;She devoured the text. And immediately re-read it.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;What struck her most amongst all the suggested practices was Pair Programming. As she read about it suddenly it seemed so obvious, so logical. Why hadn’t she thought about it before?* This was truly radical. This could change the face of software development.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;She could now see a healthy, life-affirming way to write code. She would no longer have to spend lonely hour after hour scratching her head, doubting her decisions, staring into space looking for answers. Instead this would be replaced by a truly intellectual dialogue between fellow professionals who would strive together to create wonderful software. &lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Looking around her office at the assembled, unwashed, geeks-for-a-living she could see there might be a few problems adopting this technique, but she hoped that in time when this practice was widely accepted that it would gradually change the nature of the stereotypical developer for the better. The ultra-geeks with their lack of personal skills and often similar lack of personal hygiene would give way to a new breed of software professionals who were erudite, charming, thoughtful and wise. Something like the gentlemen scholars of the Victorian age, she fancied.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;She sat back in her chair and dreamed her dreams.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Unfortunately reality bit and of all the practices that XP espoused it seems that Pair Programming was the one that was destined to be the most contentious. It did not get universally accepted and still to this day it is the one practice that she finds hardest to introduce to any team. So called Super Heroes actually seem to despise it and yet it is the very technique designed to get the best out of them and their team.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Alas therefore her dreams of software erudition have not yet come to pass and every day her interest in development diminishes and contempt for her profession grows. But still she hopes, and waits. And as she waits so she feels she must combat the nonsense of the Superhero developer head-on whenever she sees it, lest Pair Programming shrivel and die.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;To begin with the Angel would like to suggest a few characteristics that the so-called Superhero programmers tends to possess.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;They consider themselves superior to their colleagues. &lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;They tend to suffer from programming eccentricities such as needing to work in the middle of the night.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;They are almost always their own judge of competence.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;They think working with other no-super heroes is detrimental to their performance.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;They overvalue their contribution in &lt;i&gt;real&lt;/i&gt; terms.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;And thus they dislike Pair Programming.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;These Superheroes are very dangerous in the Angel’s opinion and notice how similar they are to the &lt;a href="http://agileangel.blogspot.com/2009/10/anatomy-of-twonk.html"&gt;Twonk&lt;/a&gt;!&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;They consider themselves superior to their co-workers and in fact the Angel does not disagree that this might be the case but it is almost always meaningless. There are many, many Twonks in the workplace. Twonks against whom you may well compare very favourably. But this does not make you a Superhero. She reminds these would be caped crusaders that they need to look at the the sample-size from which they came. Excelling in comparison to Twonks means only that you are probably not a Twonk and even then there is no guarantee. Anyone can be a big fish when the pond is small or shallow enough.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;More importantly ‘Superhero’ programmer is not a title you can bestow on yourself. It must come from the judgement of your &lt;i&gt;betters&lt;/i&gt;. As she noted previously the adulation of Twonks is meaningless. They are not in a position, due to their own limitations, to know whether you truly are a superstar. You need people who are better than you to correctly assess whether you might belong among them and your organisation needs to be doing things considerably better than the competition for your achievements to mean anything. &lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;If there is one characteristic that the Angel thinks all real Superheroes possess (especially the kind with capes) it is that they exist to help others. Therefore to dislike working with and helping your less gifted colleagues is a sure indication you are not among the Superhero classes. She agrees you could be talented but because you are not putting your powers at the disposal of the weak, you are in fact a Super Villain! You would rather rule supreme than lend others a helping hand.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;And what of your so called Heroic contribution anyway? The Angel would like to point out the somewhat obvious fact that the &lt;i&gt;vast majority&lt;/i&gt; of all software development is &lt;i&gt;nothing new&lt;/i&gt;. She reckons that more then 99% of all new code written today is simply an instance of something that’s been done a thousand times before. There are limited opportunities for super-powered-code so how much contribution do they really think they are making? What’s the point of having the strength of a thousand men if all you are doing is carrying the shopping?&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Software is actually, to paraphrase many poker writers, primarily a game of mistakes. What most companies need is not super heroic code (how many companies are really breaking the boundaries of software development?) but rather simple, straightforward,&lt;i&gt; error free&lt;/i&gt; produce. It matters very little whether the super hero produces his** code with few errors if everyone else is introducing them by the dozen. Pair Programming helps eliminate defects. It is a safety guard and a very effective form of review. If you are a Super Hero then surely you are at your most effective when preventing others from bringing harm to codebase?&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;And finally the Angel needs to point out that even if the so-called Superhero is talented and can produce pretty impressive code (and lets face it it would have to be super humanely good wouldn’t it), unless they are prepared to embrace things like Pair Programming then they are overrating their contribution and missing the point of commercial software development because very few companies can get by on the amount of work a few Super Heroes can produce. Similarly, finding an army of such caped crusaders is a luxury most cannot afford. Therefore companies are always going to employ many more ‘normies’ than heroes. If these Super Heroes really understood commerce then they would quickly realise that the most important contribution they can make it to &lt;i&gt;teach.&lt;/i&gt; Having one or two heroes may boost the team a little, but having a whole team of people &lt;i&gt;learning&lt;/i&gt; from the Hero leads to far, far greater gains. Who knows, maybe even the creation of more Superheroes.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;The Angel can think of few more effective ways to teach and to generate knowledge than Pair Programming. If you really are a Super Hero then pairing should be at the core of your beliefs. If it isn’t you are surely a Super Villain (or just a common criminal) as your only concern is to keep power for yourself.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;She knows there are programmers who are real Superheroes out there because she has been lucky enough to pair with some. But they would be too humble to say so of course..&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Peace.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;*Its interesting to note that the very best ideas usually seem obvious with hindsight.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt; **And note how few self-proclaimed super heroes are women&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975892303017632880-4155569203968969123?l=agileangel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://agileangel.blogspot.com/feeds/4155569203968969123/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://agileangel.blogspot.com/2009/10/superhero-developer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975892303017632880/posts/default/4155569203968969123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975892303017632880/posts/default/4155569203968969123'/><link rel='alternate' type='text/html' href='http://agileangel.blogspot.com/2009/10/superhero-developer.html' title='The Superhero Developer'/><author><name>The Agile Angel</name><uri>http://www.blogger.com/profile/12305515364592005852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975892303017632880.post-1010153632205625295</id><published>2009-10-27T19:36:00.000-07:00</published><updated>2009-10-27T19:38:36.064-07:00</updated><title type='text'>Less Unit Testing Is Simply Bad Manners</title><content type='html'>&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;The Agile Angel has come across a great many developers who hold strong opinions about testing. When to do it, how much to do, what should be tested, whether to mock or stub, ya-dee-ya-dee-ya. Even some of the most Agile fellows have tried to persuade her from time to time that perhaps they should do a little less unit testing.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Unfortunately most of these arguments are spurious and more often than not a plain waste of time.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;The Angel would like to re-iterate some important facts about testing.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;&lt;b&gt;Fact: It is better to do too much than too little. &lt;/b&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Instead of wasting your time debating about whether this or that unit test is worthwhile or if an acceptance test deserves automating, the Angel suggests you JFDI.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;On numerous occasions she has heard a pair of developers argue about whether a unit test is truly necessary or not. In the time it took them to debate the point they could have just written the test. Stop wasting everyone’s time and code up the test. How far wrong can you go?&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;She suggests a thought experiment. Suppose for a given method you &lt;i&gt;knew&lt;/i&gt; in advance the correct number of tests needed to provide optimal coverage. In this case you would not debate the point you would simply write the tests (you would do that wouldn’t you?). In the real world you cannot be sure where this optimal point is unless you are psychic. So, is it better to fall short or overshoot? What if the last optimal test is the one that detects the most serious defect? If you undershoot you run the risk of causing someone a problem. &lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;And if you overshoot what happens? You spend a few extra minutes on testing but feel much better about your chances of not-being-a-twonk. A much better result.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;&lt;b&gt;Fact: You are not as good as you think you are.*&lt;/b&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Too many developers overestimate their ability. In fact it is not just developers, human beings in general suffer from this problem. The Angel would like to remind all developers that humility is a powerful ally and the sign of a great professional. Assuming that you will make mistakes will lead you to conclude that better and more thorough testing are essential. She has only come across one team in nearly twenty years that held themselves down to a ‘virtually defect free’ output for any length of time.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;&lt;b&gt;Fact: Not testing is plain rude; defects are dirty.&lt;/b&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;The Angel can tell you with absolute certainty that the cost of a defect rises in a non-linear fashion the later in the process it is detected. There are sound, well understood economic reasons for testing early and often. But there is a much &lt;i&gt;better&lt;/i&gt; reason for hiking up your unit tests. Good manners.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Passing on defects is rude. Its ignorant, selfish and unprofessional. The Angel is constantly irritated by the blindness of developers in understanding that if they themselves do not catch a defect then &lt;i&gt;someone else has to&lt;/i&gt;. They are leaving a mess for someone else to clean up. You wouldn’t go to a friend’s dinner party and then stub out your cigarettes on the floor (she hopes), so don’t touch the codebase without ensuring you’ve tested your work. If in doubt, add more tests.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;The Angel has, on occasion, performed the Product Owner role. This involves, amongst many things, reviewing and prioritising defects into her backlog. She can tell you that this is as onerous as picking up dog shit... from somebody else’s dog! She has to waste time prioritising, testers have to waste time filling in defect reports, Scrum Masters have to waste time discussing, chasing and scheduling and most importantly it is often someone other poor developer who has to clean up the mess as it can be difficult to trace a defect back to its originator. Its a pain, its costly and its a waste.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Don’t be rude. &lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Thorough unit testing is the software equivalent of having exceptionally good manners. She suggests we all behave like Gentlemen**.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Georgia"&gt;* If you think you are, get a second opinion.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Georgia"&gt;** or Ladies.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975892303017632880-1010153632205625295?l=agileangel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://agileangel.blogspot.com/feeds/1010153632205625295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://agileangel.blogspot.com/2009/10/less-unit-testing-is-simply-bad-manners.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975892303017632880/posts/default/1010153632205625295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975892303017632880/posts/default/1010153632205625295'/><link rel='alternate' type='text/html' href='http://agileangel.blogspot.com/2009/10/less-unit-testing-is-simply-bad-manners.html' title='Less Unit Testing Is Simply Bad Manners'/><author><name>The Agile Angel</name><uri>http://www.blogger.com/profile/12305515364592005852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975892303017632880.post-7662202467562786533</id><published>2009-10-22T11:00:00.001-07:00</published><updated>2009-10-22T11:00:41.971-07:00</updated><title type='text'>The Anatomy Of  A Twonk</title><content type='html'>&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;The Agile Angel (TAA) loves acronyms. She works in software FFS and if you don’t appreciate a good TLA in that game then you’re pretty well sunk.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;So, she’d like to introduce you to a personal favourite. The TWONK.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 15.0px Georgia"&gt;&lt;i&gt;T&lt;/i&gt;ypical &lt;i&gt;W&lt;/i&gt;orker &lt;i&gt;O&lt;/i&gt;f &lt;i&gt;N&lt;/i&gt;ominal &lt;i&gt;K&lt;/i&gt;ompetence&lt;span style="font: 13.0px Georgia"&gt;* &lt;/span&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;(ok, so the spelling is not perfect, but its such a good word she couldn’t resist).&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Twonks are the rank-and-file of software development. The mediocre majority of key-pushers who make up the numbers in most organisations. Twonks exist in other industries certainly, but she has observed that software development seems to be rich environment for them to thrive.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Twonks are employees** who are not especially effective, not particularly knowledgeable, don’t really add much value but are blissfully unaware of their own limitations. Their employers also seem to fail to recognise these shortcomings. They’re suffering from the universal obsession that you can improve things by increasing the number of Twonks you employ***. She often wonders why they seem oblivious to the fact that they are actually worsening the Non-Twonk-To-Twonk ratio (the NT3 ratio).**** &lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Understanding Twonks is extremely important to the Agile Angel. For her, effective Twonk management is one of the keys to successful software. In fact she’s quite surprised there isn’t more literature on the subject. She is considering writing a blog on TTT (Total Twonk Management).&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Twonks will represent the the bulk of the people working on your software product and yet they will contribute far less proportionally than their non-twonky counterparts. In many cases she is certain that Twonks are outright detrimental and represent a significant and unnecessary overhead. She has fantasised about how productive a team might be if all Twonks were simply eliminated. What she is very certain of and has witnessed on many occasions is that if great care is not taken with how Twonks are deployed and managed then projects (especially Agile ones) will most likely fail. Good Scrum Masters (the rare, non-twonky ones) know this all too well and will usually take very careful measures to ensure they manage their NT3 ratios and to neutralise the damage Twonks might otherwise do.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Not all Twonks are bad however. A very rare breed of Twonk, the Self-Aware Twonk (SAT) can actually be quite useful. Without them and their fundamental grasp of their own limitations the non-twonks would have a lot more of the boring stuff to do. Many SATs make good Scrum Masters BTW.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Anyway, this is not an exhaustive definition but here’s The Agile Angel’s mini-guide to identifying common characteristics of a Twonk.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;ul style="list-style-type: disc"&gt; &lt;li style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Twonks don’t think they are Twonks. They suffer from twonk-blindness. (this is perhaps their biggest weakness)&lt;/li&gt; &lt;li style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Twonks tend to assume almost everyone else is a Twonk.&lt;/li&gt; &lt;li style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Twonks can exist at any level in an organisation but tend to either gravitate quickly up or stay low to the ground. Put it another way, if you’re not a Twonk it means you probably work for one and also have a few who work for you. Note: this can still be true if you are a Twonk.&lt;/li&gt; &lt;li style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Twonks overrate their own skills.&lt;/li&gt; &lt;li style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Twonks undervalue everyone else’s skills.&lt;/li&gt; &lt;li style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Twonks account for the majority of all software professionals.&lt;/li&gt; &lt;li style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Twonks think software is a profession.&lt;/li&gt; &lt;li style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Due to twonk-blindness, Twonks typically fail to identify and often prefer other Twonks. This may account for the high numbers of Twonks who are able to climb the corporate ladder.&lt;/li&gt; &lt;li style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Twonks claim to dislike meetings but always attend them (and are often noisy contributors).&lt;/li&gt; &lt;li style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Twonks often claim to be experts.&lt;/li&gt; &lt;li style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Twonks are rarely held directly accountable but consider themselves decision makers.&lt;/li&gt; &lt;li style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Twonks don’t read much.&lt;/li&gt; &lt;li style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Twonks claim to know a lot, and share it.&lt;/li&gt; &lt;li style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Twonks don’t like having their opinions questioned.&lt;/li&gt; &lt;li style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Twonks question everyone else’s opinions.&lt;/li&gt; &lt;li style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Twonks are keen to teach.&lt;/li&gt; &lt;li style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Twonks dislike learning.&lt;/li&gt; &lt;li style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Twonks find nothing strange in preferring apples to oranges, oranges to pears and pears to apples. This is particularly true of Management Twonks.&lt;/li&gt; &lt;li style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Twonks think its important for you to listen.&lt;/li&gt; &lt;li style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Twonks don’t listen.&lt;/li&gt; &lt;li style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Programmer Twonks think they know a lot about programming.&lt;/li&gt; &lt;li style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Programmer Twonks tend to work with and specialise in one language. The more popular the language the more likely the programmer is a Twonk. &lt;/li&gt; &lt;li style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Programmer Twonks don’t like unit testing, scripting, databases, UIs or anything else that is actually useful.&lt;/li&gt; &lt;li style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Programmer Twonks are a source of defects.&lt;/li&gt; &lt;li style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Programmer Twonks hate bug fixing.&lt;/li&gt; &lt;li style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Twonks like patterns but can’t spot duplication. &lt;/li&gt; &lt;li style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Twonks are obsessed with performance but don’t understand maintainability. &lt;/li&gt; &lt;li style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Many Twonks become Scrum Masters. Usually because someone else has identified them as a Twonk and promoted them away from coding, or design, or whatever (the manager is almost certainly a Twonk, in case that wasn’t obvious).&lt;/li&gt; &lt;li style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;All Architects are Twonks. Only a Twonk would want the job.&lt;/li&gt; &lt;li style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;All heads of departments are Twonks for the same reason.&lt;/li&gt; &lt;li style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;So is everyone in HR and hence why so many Twonks have jobs.&lt;/li&gt; &lt;li style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;And so are most CEOs.&lt;/li&gt; &lt;/ul&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;(The Angel always likes to hear of new Twonk Criteria)&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Now here’s the really bad news. If most of the people you work with are Twonks then, probabilistically speaking, its likely you are too.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Don’t be too downhearted. The Angel knows that many Twonks have elevated themselves from the mire of mediocrity. The first step to a life free of twonkiness is self-awareness. The Self Aware Twonk begins to see herself in a true light. Her new found awareness means she can curb the worst of her counter-productive behaviour and from there, who knows. She can sometimes even turn it around completely.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;And the Angels advice to SATs is that the best first step for a newly aware Twonk is... Agile. Go read about Extreme Programming*****. Adopt it and practise it vigorously, and without question. If you can do that the Angel thinks you may well be on the road to recovery.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;The Agile Angel was once a Twonk.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Georgia"&gt;*Incidentally, she’s pretty sure the term Twonk was originally a happy combination of the the word Twat and Plonker. How fortunate, if a little unkind.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Georgia"&gt;** In her experience the Angel has found the Twonk distribution to be very much lower in contractors. Not consultants however who are, in the same way as Architects, Twonks by the very nature of what they do.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Georgia"&gt;*** This is most likely due to the fact that most managers are themselves Twonks.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Georgia"&gt;**** She suggests a ration of 1:3 as being the maximum acceptable NT3 ratio. Unfortunately a ration of 1:10 or higher appears to be the norm.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Georgia"&gt;***** Picking a different flavour of Agile is a classic Twonkism.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975892303017632880-7662202467562786533?l=agileangel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://agileangel.blogspot.com/feeds/7662202467562786533/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://agileangel.blogspot.com/2009/10/anatomy-of-twonk.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975892303017632880/posts/default/7662202467562786533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975892303017632880/posts/default/7662202467562786533'/><link rel='alternate' type='text/html' href='http://agileangel.blogspot.com/2009/10/anatomy-of-twonk.html' title='The Anatomy Of  A Twonk'/><author><name>The Agile Angel</name><uri>http://www.blogger.com/profile/12305515364592005852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975892303017632880.post-7923449729759648069</id><published>2009-10-22T06:12:00.001-07:00</published><updated>2009-10-22T06:12:54.473-07:00</updated><title type='text'>The Oldest Excuse in the Book</title><content type='html'>&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;The Agile Angel often reads stuff from people about how Agile isn’t working for them, or how its not right for their situation. A common answer to this used to be:&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;‘You’re probably not doing it right.’&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;This was usually accompanied by thoughtful, intelligent advice about how to improve the situation. And this was a pretty good thing despite such advice often going unheeded.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Now it seems that things have changed.  No longer is this answer acceptable and in fact it is considered by many to be a sign of weakness in the Agile argument. Its the ‘oldest agile excuse in the book’.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;She is finding this increasingly irksome.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;She wonders if its all about a modern obsession with the quick fix, the instant solution, the two-day-training that solves-it-all. She cannot understand why most software professionals won’t face the fact that to be skilled at &lt;i&gt;anything&lt;/i&gt; takes time. Agile is no exception. Even if you are lucky enough to be a genetically-modified programmer with a conjoined, programming twin, learning the Agile skill set is still going to be an undertaking that’s measured in years not months. &lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;For the reasonably gifted she estimates 2-5 years to reach a level of competence that &lt;i&gt;might&lt;/i&gt; be bordering on ‘expert’. For the ordinary Twonk 5-10 is a more likely range, although in this case there are no guarantees. When you consider that the vast majority of developers are Twonks (and some even make a living teaching other Twonks) then becoming truly Agile is indeed a significant undertaking for any company and for most individuals. This is not a weakness of Agile. This is the nature of being a true professional or craftswoman. &lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Don’t be disheartened. You’ve got to learn something, right? At least with Agile you’re learning the right thing.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Practice, practice, practice. There are no quick fixes. There is no process or methodology that will make you successful if you don’t do the hard yards.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;She suggests that those who doubt whether Agile works take a long look in the mirror. Just how long have you been developing and how long using Agile techniques? How much baggage are you carrying? How much effort are you actually prepared to put in to become a true professional? Most importantly are you absolutely sure you’re not a Twonk? Remember that a classic sign of Twonkiness is the inability  to consider you might be one.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;Peace.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975892303017632880-7923449729759648069?l=agileangel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://agileangel.blogspot.com/feeds/7923449729759648069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://agileangel.blogspot.com/2009/10/oldest-excuse-in-book.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975892303017632880/posts/default/7923449729759648069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975892303017632880/posts/default/7923449729759648069'/><link rel='alternate' type='text/html' href='http://agileangel.blogspot.com/2009/10/oldest-excuse-in-book.html' title='The Oldest Excuse in the Book'/><author><name>The Agile Angel</name><uri>http://www.blogger.com/profile/12305515364592005852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975892303017632880.post-7845899412715416663</id><published>2009-10-21T09:26:00.000-07:00</published><updated>2009-10-21T09:27:11.956-07:00</updated><title type='text'>Opening Statement</title><content type='html'>&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Agile* is the right way. Period.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;The sheer wisdom and magnitude of vision that Kent Beck brought to our industry was, and still is breathtaking. The Agile Angel is a big fan. And she suggests you should be too.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;But, alas, our industry is such a pillar of mediocrity. &lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;We are offered a pure vision of the way software should be built, a way out of the darkness. And yet, instead of gratitude and respect we simply move to corrupt it. Even those who were amongst the most evangelical in earlier times now sound almost apologetic that they once held such strong beliefs. The Agile Angel is sad to see this has happened.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;And why? What has brought us to this? How have we arrived at a place where....&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;When we say ‘if its not working for you then you’re not doing it right’, we are laughed at. &lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;When we make money from dispensing wisdom we are branded charlatans, snake-oil saleswomen and worse by the very people whose coffers we are helping to fill.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;When we suggest that Agile scales, is robust and is suitable for all we are told we do not work in the real world.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;We are told, in condescending tones, that Agile is an improvement but that it is &lt;i&gt;no silver bullet&lt;/i&gt;. We are told this and we accept it. We seem embarrassed. We capitulate to people who have never even read a book!&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;The Agile Angel has become frustrated and her contempt for the industry and her fellow professionals (ha!) grows daily. Enough.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia"&gt;Its time for some good old-fashioned straight talking. No pussyfooting around, no apologies, no water-it-down-so-we-fit-in mentality. Just the Truth.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Georgia; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Georgia"&gt;*The Agile Angel uses Agile as a shorthand for Extreme Programming. She has always been suspicious of Scrum (and its bastard son Scrum-Ban) but over the years this has grown to outright contempt.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975892303017632880-7845899412715416663?l=agileangel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://agileangel.blogspot.com/feeds/7845899412715416663/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://agileangel.blogspot.com/2009/10/opening-statement.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975892303017632880/posts/default/7845899412715416663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975892303017632880/posts/default/7845899412715416663'/><link rel='alternate' type='text/html' href='http://agileangel.blogspot.com/2009/10/opening-statement.html' title='Opening Statement'/><author><name>The Agile Angel</name><uri>http://www.blogger.com/profile/12305515364592005852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
