Methods & Tools Software Development Magazine

Software Development Magazine - Project Management, Programming, Software Testing

Scrum Expert - Articles, tools, videos, news and other resources on Agile, Scrum and Kanban

Methods & Tools - News, Facts & Comments Edition - January 2003

*** Companies **********************************************************

Even Big Fishes Are Eaten

At the beginning of December, IBM announced that it will buy Rational Software for 2.1 billion dollars. Rational will add to IBM roughly $700 million additional yearly sales and most of its 3400 employees in its software group. Rational will be kept as a brand for IBM development tools. The revenues for this division are $5 billion. Rational co-founder and CEO Mike Devlin will serve as general manager of the division.

This acquisition is positive for IBM. Rational is the "biggest" brand in the software development space. It will add upscale development tools to a product mix that was more code-oriented with products like Websphere or DB2 (this division is already itself digesting Informix). Rational will also give IBM a solution for the Microsoft .NET platform. For Rational it is perhaps a solution to its dependence on (temporary?) alliances with code development companies like Borland, Microsoft or Oracle. Recently for instance, Borland made the acquisition of Togethersoft, integrating therefore a modelling tool which is a competitor of Rational Rose. At the beginning of December, Rational cancelled its agreement with Borland to bundle Rose with Jbuilder.

As far as price is concerned, the purchase seems to be an indicator of the poor state of software development market. The $2.1 billion price paid by IBM values the Rational share at $10.5, far from the $69 price it has reached in September 2000, but around twice the current share price before the deal was announced. To put a comparison, Borland valued Togethersoft also three times its revenues and IBM acquired PWC Consulting for a price corresponding to 70% of its revenues. Even if it is more difficult to achieve a high growth rate with a $700 million company, this acquisition could also mean that Rational decision makers have a minimal faith in a improvement of the software development tool market and that their shares could regain soon their past glory.

According to some analysts, this acquisition is good news for "independent" player like Borland or other. The idea is that some companies will be reluctant to have an all-IBM solution (or even part of it...). I am not so sure. To gain credibility with major accounts, smaller companies often need to be associated with more established players that have holes in their product offering but the sales force to open doors and to support contact with important customers. Perhaps relatively large companies like Borland or CA can do well in a stand-alone mode, but smaller companies are left with fewer bigger player (anything behind Sun?) that can be their ally without fearing of being a future competitor.

*** In Other's Words ***************************************************

* Software Management Principles

Top 10 Principles of Conventional Software Management:

  1. Freeze requirements before design.
  2. Forbid coding before detailed design review.
  3. Use a higher-order programming language.
  4. Complete unit testing before integration.
  5. Maintain detailed traceability among all artifacts.
  6. Thoroughly document each stage of the design.
  7. Assess quality with an independent team.
  8. Inspect everything.
  9. Plan everything early with high fidelity.
  10. Rigorously control source-code baselines.

Top 10 Principles of Modern Software Management:

  1. Base the process on an architecture-first approach.
  2. Establish an iterative life-cycle process that confronts risk early.
  3. Transition design methods to emphasize component-based development.
  4. Establish a change-management environment.
  5. Enhance change freedom through tools that support round-trip engineering.
  6. Capture design artifacts in rigorous, model-based notation.
  7. Instrument the process for objective quality control and progress assessment.
  8. Use a demonstration-based approach to assess intermediate artifacts.
  9. Plan intermediate releases in groups of usage scenarios with evolving levels of detail.
  10. Establish an economically-scalable, configurable process.

Principles that Didn't Make the Cut

A comparison of my top 10 principles with other lists, such as the Software Project Management Network's Best Practice Initiative or the SEI Capability Maturity Model's key process areas, reveals several notable omissions.

  • Requirements-first emphasis. The most obvious difference is my apparent underemphasis on requirements. Requirements are a means, not an end. Conventional wisdom has overprescribed "better requirements" as the cure for recurring project woes. Requirements, designs and plans should evolve together.
  • Detailed planning and "inch-stones". Overplanning, another misapplied practice, is different from evolutionary planning. Early false precision is a recurring source of downstream scrap and rework.
  • Inspections. Inspections are overhyped and overused. While properly focused inspections help to resolve known issues, inspections too often are used to identify issues and provide quality coverage. Human inspections are inefficient, labor-intensive, and expensive. In my experience, inspections can uncover many cosmetic errors, but they rarely uncover architecturally-significant defects.
  • Separate testing. Testing is not covered by a separate principle; it is covered by all of them. A modern process integrates testing activities throughout the life cycle with homogeneous methods, tools and notations. The integration of interfaces, behaviors and structures should be emphasized before concentrating on completeness testing and requirements compliance.
  • Separate quality assurance. The much-touted concept of a separate quality-asurance reporting chain has resulted in projects that isolate "quality police". A better approach is to work quality assessment into every activity through the checks and balances of organizational teams focused on architecture, components, and usability. Quality is everyone's job, not one team's job.
  • Requirements traceability to design. Demanding rigorous problem-to-solution traceability is frequently counterproductive, forcing the design to be structured in the same manner as the requirements. Good component-based architectures have chaotic traceability to their requirements. Tight problem-to-solution traceability might have been productive when 100% custom software was the norm those days are gone.

Source: Walker Royce, "Software Management Renaissance", IEEE Software, July/August 2000

Interesting basic thinkings on the evolution of software management. Perhaps the most important is why some old principles are not in the current list...

*** Web Siteseeing ****************************************************

The World Wide Web Consortium -

The World Wide Web Consortium (W3C) develops interoperable technologies (specifications, guidelines, software, and tools) for the Web. W3C is a forum for information, commerce, communication, and collective understanding. You will find information on some standards (HTML, CSS, XML, SOAP...) of Web-based applications and you will be able to participate to their evolution. There are a large number of sections in the site. You will find below a small selection of links:

HTML. This is W3C's home page for the HTML Activity. Here you will find pointers to our specifications for HTML/XHTML, guidelines on how to use HTML/XHTML to the best effect, and pointers to related work at W3C.

W3C MarkUp Validation Service is a free service that checks documents like HTML and XHTML for conformance to W3C Recommendations and other standards.

Clean up your Web pages with HTML TIDY. The software is now developed on the open source site, but there is useful information on the pages.

Web Style & Cascading Style Sheets (CSS)

CSS validator

The Extensible Stylesheet Language (XSL)

Extensible Markup Language (XML)

How to add style to XML

Web Services. Publicly developed, SOAP Version 1.2 is a lightweight protocol for exchanging structured information in a decentralized, distributed environment

*** Conferences *******************************************************

Bay Area Hosts Software Test Automation Event -- March 10-13

Join us in San Francisco for the one conference that can help you effectively deal with your software test automation issues. Focused only on test automation, this combined education and EXPO event delivers solutions via a select group of industry experts, plus a technical staff of leading tools and service providers. You can even visit the event Web site and sign up for a FREE one-day EXPO pass!

Visit the Software Test Automation Conference & EXPO online at:

November 2022
October 2022
September 2022
August 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
December 2021
November 2021
October 2021
September 2021
August 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
December 2020
November 2020
October 2020
September 2020
August 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
December 2019
November 2019
October 2019
September 2019
August 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
December 2018
November 2018
October 2018
September 2018
August 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
December 2017
November 2017
October 2017
September 2017
August 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
December 2016
November 2016
October 2016
September 2016
August 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
December 2015
November 2015
October 2015
September 2015
August 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
December 2014
November 2014
October 2014
September 2014
August 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
December 2013
November 2013
October 2013
September 2013
August 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
December 2012
November 2012
October 2012
September 2012
August 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
December 2011
November 2011
October 2011
September 2011
August 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
December 2010
November 2010
October 2010
September 2010
August 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
November 2009
October 2009
August 2009
May 2009
April 2009
February 2009
January 2009
November 2008
October 2008
August 2008
May 2008
April 2008
February 2008
January 2008
November 2007
October 2007
August 2007
May 2007
April 2007
February 2007
January 2007
November 2006
October 2006
August 2006
May 2006
April 2006
February 2006
January 2006
November 2005
October 2005
August 2005
May 2005
April 2005
February 2005
January 2005
November 2004
October 2004
August 2004
May 2004
April 2004
February 2004
January 2004
November 2003
October 2003
August 2003
May 2003
April 2003
February 2003
January 2003
November 2002
October 2002
May 2002
April 2002
February 2002
January 2002
November 2001
October 2001
May 2001
April 2001
February 2001
January 2001
Winter 2000
Fall 2000

Methods & Tools
is supported by

Software Testing

The Scrum Expert