Nathan Wilson
Principal Research Analyst
1 year at Gartner
27 years IT industry
Nathan Wilson is a principal research analyst in Gartner Research, where he focuses on agile development methodologies.Read Full Bio
by Nathan Wilson | May 4, 2012 | Comments Off
I spent last week sailing. As the captain of a boat, one of the biggest dangers is that small problems can quickly result in mistakes that generate bigger problems. At one point we lost the boat hook, a pole with a hook on it that is used to pick up a mooring (a rope attached to a permanently installed anchor). This small problem resulted in an attempt to anchor in a place nearby so that we could retrieve the boat hook. Unfortunately the wind was strong and the anchor would not hold. This could have resulted in the boat drifting into shore. The result is that the loss of a $20 item could have resulted in the damage or loss of a boat worth several hundred thousand dollars. I finally saw that the risk of retrieving the boat hook was too great and proceeded to a safe dock in a harbor for the night.
The same can happen in software development. Extra care needs to be used after a small setback. Focusing too much on a fixing a small problem can result in the project going off course and onto the rocks! Often the best solution is a new approach to the problem. One of the benefits of Agile is that when one approach fails, the project can easily adapt to a new approach.
Category: Uncategorized Tags:
by Nathan Wilson | April 6, 2012 | 1 Comment
George Westerman published an article in the Wall Street Journal this week with a title of “IT is from Venus, Non-IT is from Mars”. This article describes the typical communication gap between IT and the rest of the organization.
Done right Agile can help to bridge this gap by making the process of software development more transparent and responsive to IT’s customer. Unfortunately there is tendency to adopt agile without engaging the rest of the company. The result is that the project looks like a typical waterfall project with the “coding” phase replaced by a set of SCRUM iterations. This is often called WaterSCRUMFall. While projects set up in this way can succeed, they cannot take advantage of the high levels of communication and feedback that make agile so effective.
Category: Uncategorized Tags:
by Nathan Wilson | March 30, 2012 | Comments Off
No this is not about the city in Russia. MoSCoW stands for Must, Should, Could, Won’t with some o’s thrown in to make it pronounceable. One of the agile principles is to maximize the amount of work not done. This is particularly important in today’s world of tightly constrained budgets. Breaking down requested epics and stories into these four categories is a good way of prioritizing a backlog. Planning for the “Should” and guaranteeing the “Must” is a good way of creating scope for a project. Keeping the lists of the “Could” and “Won’t” can help to fight scope creep.
Category: Uncategorized Tags:
by Nathan Wilson | March 23, 2012 | Comments Off
I just got back from a trip to Salt Lake City. I met with a couple of Gartner clients and did some skiing. Despite the poor winter, I got a couple of powder days in. Skiing at Snowbird reminded me that the Agile Manifesto was signed at the resort in 2001. We have been dealing with this thing called “Agile Development” for just over 11 years now!
At this point, agile is 11 years old and still growing. No matter what your opinion of agile, it is no longer to criticize it as a “fad” or “flash in the pan”. So where do we go from here? Does agile go from being a major development methodology to being the dominate methodology? How is agile changing and what is next for companies that have “been there and done that” when it comes to agile?
I feel very lucky to be covering agile for Gartner at this time of change in agile practices. It is a privilege to talk to our clients and get a real picture of where agile is and where it is going. One clear trend mainstream adoption of agile. It is no longer a wild methodology used by a few crazy startups. There is a big challenge right now in that many companies are adopting agile methodologies in an tactical manner with little thought to the strategic impact on their companies. With this in mind, I just published a set of four notes on best practices in transitioning to agile to help Gartner clients develop and execute a strategy for agile development.
So where do we go from here? I would love to hear your opinions.
Category: Uncategorized Tags:
by Nathan Wilson | February 10, 2012 | 1 Comment
The word this week is INVEST. Attributed to Bill Wake, INVEST is a mnemonic that describes a good user story. One of the challenges when transitioning to agile is getting everybody to think in user stories instead of use cases. INVEST can be used as a reminder of what a good story looks like.
Independent – Not always possible, but we can dream.
Negotiable – Leave room for your customer representative to work out details with the developers
Valuable – Should provide some increment of value to the end user.
Estimable – You should be able to estimate the story.
Small – If estimate is too large, split the story.
Testable – If you cannot test it, how do you know if you are done?
I tried to come up with a clever end to this post, but everything sounds like a bad pun. So INVEST in your user stories, it will pay off in the end.
Category: Uncategorized Tags:
by Nathan Wilson | January 26, 2012 | Comments Off
The agile world contains a fair amount of zealots. People that are happy to tell you that you are not doing agile correctly and base that decision on some small difference in process. Some of these people base their statement on a belief that they have found the one true way to develop software. Some people seem to base it on the belief that you can make a lot of money selling the “one true way.”
It has been my experience that the two groups most likely to struggle with agile development are those who want it to fail, so that they can go back to the old way of doing things, and those who are most rigid about agile (or some variant) and insist on doing agile in a very specific way.
Agile is based on values and principles, as such it makes a poor candidate for a religion.
Category: Uncategorized Tags:
by Nathan Wilson | January 23, 2012 | 1 Comment
I was thinking of bankruptcy last week as I heard about Kodak and then drove by the old Polaroid office being torn down in Waltham MA. In both cases a lot of people thought that the companies would be around forever, until they were not there anymore, victims of the digital camera and their own inability to adapt. I still remember running in the park behind the Polaroid plant and smelling the same smell that you would get when you opened an old two part Polaroid picture.
It is not uncommon for large software solutions to suffer the same fate, technical debt builds until the solution becomes too slow to change and then dies under a crushing load of code that was poorly written, obsolete, and undocumented code. The code becomes Bankrupt.
Category: Uncategorized Tags:
by Nathan Wilson | January 12, 2012 | 2 Comments
I remember the director of development of a major corporate email system in the 90’s bragging that he had set up the system to ring is pager whenever and email was sent to him with one of a set of keywords including “slip the schedule” and “product delay”. He did this because he had noticed that announcements of missed product deliveries tended to happen when he was out of the office. Obviously, he made it a painful experience to give him bad news and people were trying to avoid it by slipping projects while he was gone.
I think that anyone who has worked for a while in software development has experienced a similar manager. It is so common that there is a term for it, an Ostrich Manager. An Ostrich manager does not want to hear about problems and usually makes sure that they don’t hear about problems until the end of a project.
Done correctly, agile development is an ostrich managers worst nightmare. Between daily standups, incremental delivery and burndown charts problems become apparent very early in the process. While some people think that adopting agile will solve all their problems, what it really does is make them obvious. You still have to fix them.
Category: Uncategorized Tags:
by Nathan Wilson | January 6, 2012 | 1 Comment
I hope that everyone had a good holiday. It is very common for someone who does not like their current employer’s agile adoption to say something like “We are not doing agile development, we are doing fragile development!”. While there are as many definitions for fragile as there are frustrated members of agile teams, I think of fragile development as what every traditional development manager fears about agile: coding without any concern for anything else (cowboy coding).
Agile is not totally unstructured development. In most agile methodologies agile is a VERY structured way of doing development while removing as many obstacles possible from delivering quality code that meets the end users need. It is not uncommon for some of the early advocates of agile to be disillusioned when they realize how structured agile development is.
Category: Uncategorized Tags:
by Nathan Wilson | December 22, 2011 | Comments Off
Although this sounds like an attribute of one of James Bond’s martinis, DRY can also describe code. DRY stands for Don’t Repeat Yourself, and it means that there should be only one copy of any non-trivial piece of code. This one is not really specific to agile, it is always a good coding practice.
I think that almost everyone in development knows the evils of copy and paste code, but it often seems quicker to just copy a few lines of code instead of refactoring it out.
We are expecting snow tonight in central New Hampshire, So I wish everyone a white holiday and DRY New Year!
Category: Uncategorized Tags: