Comments
Richard Davies wrote: The UK has a good crop of technology pioneers in cloud computing - for example ElasticHosts, FlexiScale, Flexiant, OnApp - and also some strong government initiatives such as G-Cloud. We will have to see whether this kind of technical leadership converts into swift mass-market adoption or not.
Cloud Expo on Google News

SYS-CON.TV
Cloud Expo & Virtualization 2009 East
PLATINUM SPONSORS:
IBM
Smarter Business Solutions Through Dynamic Infrastructure
IBM
Smarter Insights: How the CIO Becomes a Hero Again
Microsoft
Windows Azure
GOLD SPONSORS:
Appsense
Why VDI?
CA
Maximizing the Business Value of Virtualization in Enterprise and Cloud Computing Environments
ExactTarget
Messaging in the Cloud - Email, SMS and Voice
Freedom OSS
Stairway to the Cloud
Sun
Sun's Incubation Platform: Helping Startups Serve the Enterprise
POWER PANELS:
Cloud Computing & Enterprise IT: Cost & Operational Benefits
How and Why is a Flexible IT Infrastructure the Key To the Future?
Click For 2008 West
Event Webcasts
The 84% Rule
The 84% Rule

According the Standish Group, 84% of all IT-related projects are not delivered on time or within budget. Now when the world reads "IT-related projects," the automatic assumption is that the IT department is to blame.

Further investigation reveals the main reasons for failure: inadequate requirements and lack of client/user input. I've worked both extremes: I've written functional and technical specifications and the client has responded (via the project manager) that the specs were like "a sledgehammer to crack a peanut." If this is the client's mentality, you'll encounter trouble.

On the opposite side of the coin, I've received specs from on high that were completely unreadable or made no sense at all. When it came time to deliver, the client said, "Well, I actually meant this." My favorite was the client who said, "I don't understand what I've written."

Are we programmers that unapproachable? Is it our armpits? No, it's a lack of basic communication. Managers feel they want to try and talk "techie" to us so we might understand what they're saying. What we really want is an English (or insert your native tongue here) description of their aim and vision and some basic requirements. Then we can come to some agreement on functional specifications.

What worries me is that when managers of different companies talk together, a common question will crop up: "Does your IT department deliver on time?" The response will usually be, "No, we leave them to it; we dare not approach them!" Have I hurt your feelings yet? No? Good.

Perhaps it's time to teach. The word teach is an interesting word. The usual dictionary references are fine, but if you look at the Hebrew definition it means, among other things, to "shoot arrows" (Strong's number 03384). You need to be pretty direct when trying to get your point across. Not everyone is a teacher so it's always handy to have someone who can present the idea quickly and concisely ­ your managers will have more faith in you and your team. Get to know your team, know each member's strengths and weaknesses. Yes, they're all great programmers, but who communicates the ideas the best? Who is the visionary? Who keeps everyone focused on the light at the end of the tunnel?

If you don't use a software development methodology, you should start; it doesn't matter if it's UML, Extreme Programming, etc. You don't have to take the whole method as gospel, but the more you can plan out and see the risks and communicate those risks to management, the better. Highlight the major problems and sort them out straightaway.

Another thing I've found handy is to deliver the project to the client frequently throughout the project's timeline. I started doing this after talking to other developers. They would create the application with limited or no functionality and keep delivering it on a regular basis. This creates a sense of trust with the client that something is actually happening. The client doesn't have to wait until the last quarter of the project to actually see something half working.

I've had to look at my track record and say, "Hey, I could have done that better." It's all about personal as well as team development. Over the years I've made a mess of estimating projects ­ sometimes it was due to bad requirement specs and sometimes it was me. Our office now has a motto ­ "Woolly specs = woolly deadlines."

Feel free to let me know how you get on. Until next month.

References

  • The Standish Group: www.standishgroup.com
  • Strong's Lexicon: http://bible.crosswalk.com/Lexicons/Hebrew/
    About Jason Bell
    Jason Bell is founder of Aerleasing, a B2B auction site for the airline industry. He has been involved in numerous business intelligence companies and start ups and is based in Northern Ireland. Jason can be contacted at jasonbell@sys-con.com.

  • In order to post a comment you need to be registered and logged in.

    Register | Sign-in

    Reader Feedback: Page 1 of 1

    Dear All
    Thanks for you comments, I am fully aware of my error called UML a methodology when the "L" in UML means language! I am fully in favour of using elements of XP and RUP to get the job done (which is what it's all about at the end of the day). Deliver and testing often is still the key for me.

    Regards
    Jase

    Actually, look carefully: if a methodology appears too heavy, save yourself time and grief: look for a lighter approach. Our software shop threw out RUP for a loosely adapted version of an "agile" methodology. Later, when diagnosing stubborn, ongoing problems, we usually found there was an aspect of the system that would have addressed this gap, had we been wise enough to implement it all from the start (an example: problem: code quality problem / solution: pair programming). In retrospect, I think that our implementation of RUP suffered from the same flaw of selective application of the methodology. (So, perhaps RUP itself was not the problem after all...)

    The single most important technique I've encountered to effectively communicate with clients/users/management is to deliver a crude/initial prototype to them early. This small beginning is the tool that establishes everyone's expectations/requirements throughout the project. Thereafter, the initial prototype simply evolves/grows with ongoing iterations of new functionality. As progress is made, everybody can continue to re-evaluate the software to insure it is growing in the right direction. I have found no better solution.

    First a correction UML is not a development methodology.
    Something I agree with is that delivering many smaller versions of the system is a way to success. The first version should be stripped of functionality almost to the level that it is almost unusable.


    Your Feedback
    Jason Bell wrote: Dear All Thanks for you comments, I am fully aware of my error called UML a methodology when the "L" in UML means language! I am fully in favour of using elements of XP and RUP to get the job done (which is what it's all about at the end of the day). Deliver and testing often is still the key for me. Regards Jase
    D. Hartmann wrote: Actually, look carefully: if a methodology appears too heavy, save yourself time and grief: look for a lighter approach. Our software shop threw out RUP for a loosely adapted version of an "agile" methodology. Later, when diagnosing stubborn, ongoing problems, we usually found there was an aspect of the system that would have addressed this gap, had we been wise enough to implement it all from the start (an example: problem: code quality problem / solution: pair programming). In retrospect, I think that our implementation of RUP suffered from the same flaw of selective application of the methodology. (So, perhaps RUP itself was not the problem after all...)
    Trenton Scott wrote: The single most important technique I've encountered to effectively communicate with clients/users/management is to deliver a crude/initial prototype to them early. This small beginning is the tool that establishes everyone's expectations/requirements throughout the project. Thereafter, the initial prototype simply evolves/grows with ongoing iterations of new functionality. As progress is made, everybody can continue to re-evaluate the software to insure it is growing in the right direction. I have found no better solution.
    Björn Caroll wrote: First a correction UML is not a development methodology. Something I agree with is that delivering many smaller versions of the system is a way to success. The first version should be stripped of functionality almost to the level that it is almost unusable.
    Latest Cloud Developer Stories
    In a surprise move Tuesday Oracle wheeled out its Big Data Appliance. That’s the one it said in October would be ready sometime in the first half. Only nobody believed it meant early in the first half. Heck, it’s not even clear anybody thought Oracle could make the first half...
    Rackspace Hosting, the service leader in cloud computing, on Thursday announced its acquisition of SharePoint911, an industry leader in SharePoint consulting, training, and "JumpStart" services within SharePoint. The unification of both companies provides capabilities to deliver ...
    Wyse Technology, the global leader in cloud client computing, on Thursday announced it's working with Microsoft to market school IT labs and one-to-one computing solutions that allow a cost effective delivery of innovative IT enabled education. These solutions are available throu...
    With Cloud Expo 2012 New York (10th Cloud Expo) now under four months away, what better time to start introducing you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference... We have techn...
    Nimble, the social CRM platform has announced the launch of Nimble 2.0, billed as the “most social” CRM platform on the market today. Nimble was designed entirely with social CRM in mind and is the first social business platform that empowers companies with the ability to get clo...
    Subscribe to the World's Most Powerful Newsletters
    Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
    Click to Add our RSS Feeds to the Service of Your Choice:
    Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
    myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
    Publish Your Article! Please send it to editorial(at)sys-con.com!

    Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

    SYS-CON Featured Whitepapers
    ADS BY GOOGLE