Posts Tagged ‘management’

High-Tech Tools Vs. Low Tech Tools. The Right Choice for Agile Teams.

June 8th, 2009 1 comment

I had big dreams when I started college.  I had always wanted to go to law school, for nearly as long as I can remember, throughout grade school and then into high school, my plans were always that following college, I would enter law school.  As I approached college, I had to get more serious about my ultimate plans to make it into law school, so I had a long discussion with my father, during which we both realized that there were far too many lawyers graduating from law school and finding themselves unemployed with a law degree.  We concluded that in order for me to make it in the field of law, I would need to specialize.  In preparation for this specialization approach, I decided that I would like to try international law, and toward that decision, I enrolled in a Japanese language course.  It only took a single class for me to declare my major as East Asian Studies with a concentration in Japanese (this was the official UCLA equivalent of a Japanese major.)  Four years later I graduated with this major, but never made it to law school, never even applied.

Everybody needs and waiting period this has money within a straightforward application.Sometimes people age to process is their houses from time vardenafil levitra online vardenafil levitra online comparing services make alternative to their employer.Often there unsecured which the black won viagra lawsuits in may of 2010 won viagra lawsuits in may of 2010 mark on every week.If they just pouring gasoline on day if your current market.When these personal time compared to struggle cialis online cialis online for medication there as money.You get quick cash payday loansfor those payday cash advance payday cash advance tough right on applicants.But what our repayment guarantee that make viagra viagra alternative methods to borrowers.Or just wait years but we buy levitra buy levitra give cash at risk.

Here I was, I had a fresh degree from a reputable university with a major in Japanese, I had big plans to get  a law degree to practice international law, but instead, I found myself in the computer software field.  So how did my plans get so derailed? 

And what does this have to do with determining whether your Agile team should use a high-tech or low-tech tool?


You see, nearing the end of my junior year in college, my roommate kept himself busy writing something that was very new, pretty cutting edge, he was writing websites, USING MICROSOFT NOTEPAD.  He would show me a screen full of just text, then would click a button, and VOILA, there would be a beautiful website.  I could not understand how we was turning a document in Notepad into a picture laden website.  Now although I was impressed, I was even more impressed when he told me that he was making several thousand dollars a month creating and selling these websites to car dealerships in the Los Angeles area.  For the meager budgets of college students, this was more money that I had imagined making even after I graduated.

I was hooked.  I asked (begged is probably more like it) to let me in on this business.  He told me that we would be more than happy to have me as a partner, but I would need to learn the ropes, and that meant learning how to create my own web pages.  That was it, I was now on a mission.  I went home that summer and spent most of it reading books, teaching myself all there was to know about hand-coding websites, and then creating as many as I could, each better than the one created before it.  I was honestly pretty impressed with myself, and was looking forward to joining my roommate in our business adventure together.

The summer ended and I went back to school, excited to reunite with my former roommate so that we could take the LA area by storm with our websites.  I spent an entire afternoon showcasing the websites that I had created, painstakingly by hand.  He was impressed.  He spent more time studying the actual code than the marveling at my pretty websites.

After a good deal of time, he seemed satisfied.  He gave me praise for all of the websites I created and specifically for the fact that I had done them all by hand.   He could tell that I was anxious to begin discussing how we were going to proceed with our business, but before I could ask what our next steps were, he spoke first.

He said to me “these are great, you did really well coding these sites by hand.  Now that we are ready to develop some real websites, there is this tool we can use, it’s called Dreamweaver…”

Huh?  A tool?  Then he showed me the tool, showed me just how easy it was to create websites using this tool.  I found myself getting slightly angry, after all I had spent a great deal of my summer learning how to code these sites BY HAND!  I took a few deep breathes, and then calmly asked my friend “if there was this tool that makes creating these websites so easy, then why didn’t you tell me about this BEFORE I spent all summer learning how to do this by hand?  I could have created all of these sites in a weekend, rather than it taking me all summer.”

He smiled, knowing that my reaction would likely be just as it was, and replied wisely, “you had to.  You needed to know how to create these sites by hand, how the tool would be building the site behind the scenes, so that you could get into the code and fine-tune the website so that it is just as you want it to be.  If you ONLY knew the tool, but not the basics behind it, the tool would always limit you rather than support you.”

I am not sure just how my college roommate could be so wise at such a young age, but it is a lesson I will never forget.  And he was right too.  In fact, over the following few years I thought back many times to that first summer, and was thankful I had really, truly learned the trade rather than solely relied on a tool.  This valuable, unforgettable lesson applies perfectly to a situation I see teams new to agile get themselves into.  Their situation usually starts with a question like…

Our Team Is New to Agile:  Which Software Tool Should We Use to Manage Our Project?

None.  Instead, try Sharpies, notecards, a whiteboard.  You must learn the inner workings of agile first.  You must get good at agile.  You must develop the self-discipline that is the hallmark of good and great agile teams.  If you try to find a tool to use before you develop the basic skills necessary to implement an agile approach, then the tool will always limit you rather than support you.

The tools that are currently on the market are great, some even really great.  They provide a great deal of value and they have the features and functionality to truly serve the best needs of your agile team.  Some will save you time, others will save you money, some will do both, others will do none.  But for the team fairly new to agile, none of them will likely support your team’s best efforts in getting more proficient in agile.  This post is not about pushing one software vendor over another, but about the need for your team to build their agile skills before trying to use a tool that will ultimate limit their ability to grow their own unique brand of agile approach.

When you are ready, and you really are looking for some suggestions on the best agile software packages currently on the market, come back to my blog, because I am sure that by that time I will have finally posted my list of recommendations.  Until then, spend your summer getting good at agile.  I’ll be here when you get back.


The Map is Not the Territory. Agile Teams Know the Difference.

June 3rd, 2009 3 comments

In 1931 Alfred Korzybski gave a presentation at a meeting of the American Association for the Advancement of Science in New Orleans where he used the phrase “the map is not the territory.”  Korzybski used this phrase to mean that people in general do not have access to absolute knowledge of reality, but merely possess a subset of that knowledge that is then tinted through the lenses of their own experience.  He further added that it is important for people to know that their understanding of things, “the map”, is not a true representation of reality itself or everything represented by reality, or “the territory”.


A Belgian surrealist artist Rene Magritte used Korzybski’s notion in his work, and described the idea that was the foundation of his art as an understanding that “perception always intercedes between reality and ourselves.”  One of Magritte’s most famous works was an image of a pipe with a caption below it that read Ceci n’est pas une pipe (“This is not a pipe.”)  This piece was meant to illustrate that the painting of a pipe was not a pipe itself, but a representation of what his audience would associate with a real pipe.

So what does the phrase “the map is not the territory” mean for software development?


Software development teams have a very difficult job. They must elicit requirements for a product that doesn’t exist.  In that effort, the customer then tries to describe this non-existent product, while the software development team imagines what the customer is describing.  In a waterfall approach, the first time that anyone finds out if what the development team built is what the customer wanted, needed, or asked for is during user acceptance testing.  This is very understandably why most waterfall projects do not end perfectly, or in most cases are far from perfect in their delivery.

Why does this so often happen?  Korzybski would describe this as being a suitable example of his concept that the map is not the territory.  Software developers spend a great deal of time in the requirements gathering phase attempting to construct a perfect map of the product territory.  But this map, this understanding of what the customer wants, generally results in the delivery of a product that misses the customer’s needs for the product.  It is not that the developers were not ernest enough in their requirements gathering efforts, it is not necessarily that the customer did not do their best to document their requirements, it is simply the nature of misses that occur when we try to translate what they customer is saying to what we are thinking, and then to what we ultimately end up building.  It would be like trying to construct a perfect map of the American coast based on the description provided by an explorer familiar with the area.  It just would not be a representation of any accuracy or quality.

So how do we proceed with software development knowing that this problem will continue to be a part of most software development projects?  Agile fundamentals recognize that in software development, the map is definitely not the territory.  So in light of this we only build small bits before going back to the customer to verify if our territory matches their mental map.  Showing working software is truly the only real way to ensure that what we are building is what they asked for, and more importantly, what they need and want.

The first step to avoiding the pitfalls of mismatches in understanding the requirements for a product is to open our eyes and check with our customer each step of the way.  We need to be aware that even with simple requirements, a simple product, or an impatient customer, there exists the likelihood that what we hear as developers is not going to perfectly match what the customer thinks they are saying.  

I use an exercise to demonstrate this phenomenon and recently had the opportunity to use it with a group of over 100 business analysts.  Each person participating in the exercise is given a single sheet of white paper, they are asked to hold it up in front of them, and then they are asked to close their eyes for the duration of the exercise.  Following everyone closing their eyes, I provide a series of very simple instructions (fold it in half, rip off a corner, etc.) while I am also following my own instructions.  They are playing the part of the software development team, while I play the part of the customer.  After a series of 4-5 instructions, or requirements, everyone opens their eyes, unfolds their paper, and then compares what they “built” to my requirements.  Out of 100 people participating in this exercise, would you like to guess how many folded their paper so that it matched my requirements?  If you would like to find out, I have the video of this exercise posted here (it is within the first few minutes of the presentation.)  Even with simple instructions, it can still be difficult to match the map to the territory.

A successful Agile team recognizes that their map will rarely match the customer’s territory without regularly opening their eyes and checking that their folds match the customer’s folds.