Login, change your address, subscribe to new or manage current magazines or e-newsletter subscriptions
ComputerWorldNetwork WorldCIO CanadaCIO Canada Governments' ReviewJobUniverse Canada
Advanced Search
Knowledge Centres
Content Types
Featured White Papers
Unlock the potential of data with the right data warehouse solutionUnlock the potential of data with the right data warehouse solution read more
IBM Multiform Master Data Management: The evolution of MDM applicationsIBM Multiform Master Data Management: The evolution of MDM applications read more
Closing the data privacy gap: Protecting sensitive data in non-production environmentsClosing the data privacy gap: Protecting sensitive data in non-production environments read more
Yuk it Up
Act to Amend the Copyright Act
Want a copyright law that protects spyware and virus writers? If not, sign our petition to amend Bill C-61
Featured IT Quiz
IT Quiz: Test yourself to see if you have the knowledge to fit into the open source world, and compare yourself with the rest of the respondents
Featured White Papers
This white paper details Intel's current and future energy-saving initiatives to reduce costs and support business goals. Learn how Intel IT is extending its efforts to be a role model enterprise IT organization by supporting the Climate Savers Computing Initiative, which aims to drive a 50 percent reduction in computer-related CO2 emissions worldwide. No registration required.
Sign-Up for
Integrating IT
eNewsletter Delivered Weekly
Click here
Page 1 of 2

Fixed prices for IT projects are unethical: IBM

Big Blue’s Agile development guru, Scott Ambler, outlines for ProjectWorld 2008 attendees how he keeps the stakeholders happy and helps teams actually meet their deadlines

TORONTO -- If your IT projects are consistently late and over budget, chances are you haven’t implemented Agile software development practices.

Speaking at this week’s ProjectWorld/Business Analyst World in Toronto, Scott Ambler, practice leader of Agile development at IBM Corp., told a crowd of IT professionals to throw away most of their traditional software development theories and take a new approach in their future projects.

In most development projects, Ambler said, business analysts write out a detailed requirements specification document and send it over to the software developers to carry out the design. By developing the plans upfront, he said, the people making the requirements document end up guessing the type of things the company may need down the road and more often than not, the IT projects end up in failure.

“Writing a detailed requirement spec up front is a worst practice, despite being considered a best practice for the longest time,” he said. “When you do this, you are building to specs as opposed to building to what people actually need.”

Ambler also said that because many IT projects carve their requirements in stone before any actual tests or coding has been done, their budgets are often unrealistic and inaccurate.

“Fixed prices for IT projects are unethical,” he said. “We can’t estimate up front and the only way to enforce the costs is through change management, which is also unethical. Change management is really about change prevention.”

To combat these ineffective IT projects, Ambler recommended organizations consider the Agile approach – which he defined as an incremental process that is performed in a highly collaborative manner to meet the changing needs of the stakeholders.

“The traditional way of writing a bunch of documentation and flipping it over to the next group doesn’t work,” he said. “We prefer executable documentation, which requires that we test the code first. It’s far more disciplined and [for example] every two weeks or so we have working and visual software to show to our stakeholders.”

Besides increased teamwork between multiple business groups, some of the key criteria to an agile system, according to Ambler, include continuous testing that drives development, daily work with the stakeholders, and producing working software on a regular basis. Many IT organizations, he said, too often lose sight of their true goals. “You have to know your audience,” Ambler said. “Treat your stakeholders like adults and keep them involved in the process. Any dollar spent on documentation is a dollar not spent on working software.”

Cem Kaner, author of Lessons Learned in Software Testing and Testing Computer Software, agreed, saying Agile development can reduce the cost of late changes and make it easier for IT organizations to respond as the stakeholders’ needs continually evolve.

“The most important thing the executive can do is keep asking the critical question, ‘How does this practice (paired programming, test-first programming, whatever the group is proposing this week) make us more able to be more responsive later,’” Kaner, who is professor of software engineering at the Florida Institute of Technology, added. If those implementing the process can't answer this question convincingly, Kaner said, it's a big red flag.

Page 1 of 2
Send to a Friend  Rate This Page  Print This PageAdd a new comment
Bookmark this article on:
del.icio.us| Digg it| Furl| Google| Technorati| StumbleIt| Yahoo!

Have something to say about this article? Add a new comment

If you find a comment inappropriate, You can notify the moderator by clicking the Report an innapropriate comment icon.
Thank-goodness they said itReply to this commentReport an innapropriate comment
Anyone who has been in the industry as long as I have has seen this tragedy. The customer sees an opportunity to re-engineer his business process. The project team lead turns white with terror because he’s got a fixed budget. The arguing begins. The project ends, and either the customer is unsatisfied and got exactly what they originally asked for, *or* the project is over-budget and the project firm management is upset about cost over-runs. I posted a more detailed comment on my site at http://blog.jkl5group.com/ ... bottom line, I'm glad to see the industry leader leading the industry in a better direction.
Written by: Michel R Vaillancourt, from Montreal
Software EngineerReply to this commentReport an innapropriate comment
This whole debate comes down to moderation. There are the two ends of the scale; no specc and set in stone specs. Best prctices are somewhere in between. No specs can easilly lead to a project that meanders and explodes as new ideas and objectives get added. Code and systems are contintally re-worked and re-written and the project advances at a slow pace because not enough work was done at the start to decide the difference between what could be done and what should be done. I have worked on a number of projects where poor specs have caused huge overruns because the customers keeps changing their minds. Too stringent specs can lead to a strangled project where so much work is wasted trying to get a change through that good ideas are suppressed. Reality is somwhere in between and depending on the client it can lean toward waterfall or agile as appropriate. Would one really want the software controling a nuclear power plant programmed using agile methods? Does a web site really need a 200 page specification document?
Written by: Joe Klovance, from Victoria, BC
Further to Joe's comment....Reply to this commentReport an innapropriate comment
Bang on Joe, it's somewhere in-between. The "stack" that the IBMer talks about is, in fact, a prioritized set of requirements. So clearly even in agile development, you must have some requirements. It is also a given that the quality of the requirements (complete, accurate, etc) will drive the quality of the end product. The word 'specifications' implies that someone has transformed the requirements into a specification of how the function will work - all that agile does is jump to developing the 'spec' in the form of semi-working software. It just makes sense that it's easier for a customer to signoff on working software than a MS Word document. Joe's comment that the nature of the application is also astute. Furthermore, regulated industries often require full business and design documentation - by law e.g. nuclear, pharma, blood supply management. I generally prefer taking an as-agile-as-possible approach. Manage expectations and give yourself some contingency time/budget for curve balls from your team and the customer.
Written by: John H, from Ottawa
Agile Requires Customer AttentionReply to this commentReport an innapropriate comment
Organizations that adopt Agile / XP do need to understand that this just doesn't allow you to cut off the requirements spec stage of a project and so that you can send a person off into a corner to come out with a finished product. The "customer" needs to have time to spend with the development staff throughout the lifecycle of the product... which also means that the development staff need to be available at all times during the lifecycle of the product. Otherwise you end up with a product that doesn't change to meet ongoing business needs AND you are right back to square one!
Written by: Don Howell, from Mississauga, ON
Need a better "How to" for bringing Finance onboardReply to this commentReport an innapropriate comment
You're pretty much "singing to the choir" presenting this as the most successful direction for enhancing business process. You need to tackle the first step. The proper way of building truly useful applications is a new method to gain financial budget approval. Upfront budget approval encompassing total vendor and man-hour costs can only be done with pretty specific requirements. This is the way we are locked into working now. This is the "millstone" that hampers the success and true usefulness of these projects. Let's hear how you would sell this to the pencil pushers, because we're onboard.
Written by: Christian Kuiphoff, from New Jersey
Prototype that Nuclear Facility ... PleaseReply to this commentReport an innapropriate comment
I cannot admit to being a nuclear power station system developer, but ir does seem to me that the complexity of such a system would defy full up front analysis and design. I can only imagine doing such a system by a continuous cycle of development and validation ... a prototyping activity, in an agile manner, to ensure that nothing is delivered that has not been fully tested, validated and verified. So my question would be Would one really want the software controlling a nuclear power pplant not programmed using agile methods. Sorry Joe, I do not see that the bleak 'design thrashing' and project meandering that you describe as being in any way akinto agile development, nor in any way some sort of inevitable outcome of using such methods.
Written by: Roy Morien, from Perth, Australia
What was not said in this article.Reply to this commentReport an innapropriate comment
Transitioning to Agile is a process of re-organization and change in the business. Agile is a different delivery method, with different roles, responsibilities, and org structure. If you are thinking about moving this way, check out these tips on getting started http://www.innovel.net/?p=52 I highly recommend getting some assistance from experienced consultants. There an a number of expert firms in the business of helping companies adopt Agile methods, including our company http://www.innovel.net and others. The process takes awhile, but how much is it worth to double your productivity?
Written by: Robin Dymond, from Richmond, VA
Iterative Programming anyone ?Reply to this commentReport an innapropriate comment
That of which I speak is an old idea (about 10 years old). By all means, look it up with along with Foresters, and appears quite similar to what IBM is pushing now. I'm not completely sure whether IBM wasn't into Iterative Programming at some time in the past, but I'm pretty sure it came out of academic minds. That of which I speak is a fairly old idea (about 10 years - by all means Google it), and appears quite similar to what IBM is pushing now. I'm not completely sure whether IBM wasn't into Iterative Programming at some time in the past, but I'm pretty sure it originally came out of academic minds. Sure, the technological applications have changed, but as far as methodologies go . . .
Written by: Rick Isle - Ottawa, from ottawa
Management ConsultantReply to this commentReport an innapropriate comment
Clearly, Joe from Kelowna has had more practical experience than those marketing this new "agile" concept. The concept of a radically new way of doing software development has been around (without significant success)since 1978.(that is as far back as I can go.) The first revolution was called Computer Aided Software Engineering (James Martin and CASE;then there was RAD (Rapid Application Development) and then Iterative Programming, the latest one is Test Case Driven development(TCD Development). So here we are again falling for the never ending trap of assuming there is a silver bullet way of solving very complex business problems. The assumption of the speaker is that "specs" are always poorly written, out of date, and out of touch with the customers they serve. This does not have to be the case! If the project is structured to facilitate a good working relationship between developers and business experts the specs are likely to turn out great. This has nothing to do with methodologies and everything to do with good management practises. Joe is right in saying the answer lies in moderation. I would add: common sense and "thinking it through". If the system that is being developed is primarly a visual system. (i.e. heavy on the user interface, but light on background processing) then developing the system (including multiple iterations) is faster than writing specs and then developing. If, as an example, it is an Insurance system where the core of the system depends on the complex Underwriting calculations driving the Premium calculations then you had better get the specs right before developing anything or you will be re-doing it several times with several million dollars wasted.
Written by: Don Anderson, from Regina
ADD A COMMENT
Name:*Your email address will not appear online and will be used only in the event that the editor wishes to contact you personally for additional comment.
City:
Email:
Title:*
Comment:*
* required fields



Related Content
Articles

Special Advertising Partners
IDC Case Study: Identity And Access Management Buying Criteria.
IDC analyses IAM buying criteria and deployment at Coppin State University. Coppin State replaces "first generation" IAM solution to obtain benefits needed for today's agile enterprise: ease of integration, rapid deployment, simplified compliance, flexibility.
White Papers
Closing the data privacy gap: Protecting sensitive data in non-production environments
How can IT organizations protect sensitive data, including employee and customer information, as well as corporate confidential data and intellectual property? Industry analysts recommend "de-identifying" or masking data as a best practice for protecting privacy. This white paper explains the importance of closing the data privacy gap in non-production environments, and provides guidance on effective data masking. Complimentary with registration. Sponsored by IBM.
Unlock the potential of data with the right data warehouse solution
Once you've made the decision to implement a new data warehouse, you want to make sure you choose the one that's right for your organization. This buyer's guide provides checklists for starting points that you can use when evaluating vendors and their products. Complimentary with registration. Sponsored by IBM.
Prepare for a more efficient SAP implementation: Take data issues off the critical path
This white paper outlines how the Preliminary Data Assessment Appliance (PDAA) from IBM can help address the challenges of integrating data from different operational applications across the enterprise to an SAP platform. Complimentary with registration. Sponsored by IBM.