Reviews and Opinions from the Desk of Bruce Whitley

Extreme Programming - When Will We Get It?

 September 5, 2001

Around corporate boardrooms the mantra of cost cutting is heard - bottom lines rule the day. With the “slow down in the economy” the its daily feature of the business journals and the headline of every national media outlet.  Where is the chief information officer's voice amid in all the screaming for automation to help the bottom lines?   They’re hiding, trying to be unnoticed.  Management asks: "How come you can force us to buy a million-dollar-plus software packages and then not implement the project?" "We can upgrade all the computers to the latest and greatest, but then when we ask for a change in the software we hear the same old story: 3-5 years for a complete rewrite!"  Non-IT people are usually told 6 months to a year and are never told the 3-5 year truth for a project.      Why? 

 

For starters there has been no real change in development methodology for years, until now.  Extreme Programming appears to offer some change, in conjunction with software that allows computer processes that can be molded to fit business practices.  What a concept!  So what is the problem?  Programmers want to be individuals not factory workers.  Get over it! We need factory workers in programming.  We need factory workers in management.  No I’m not suggesting the communistic approach to the office, but what I’m trying to suggest is teams made up of management and of programmers and of customers.  We know now that just-in-time manufacturing has become the standard. Anyone on the production line can stop it when a defect is noted.  You must trust your co-worker, you must trust their training, you must trust management, you must trust the consumer to recognize quality and the fulfillment of their needs by the manufacturer.  This concept of trust and co-development puts the extreme in extreme programming.  Pair programming - can you trust your coworker to help resolve problems when you used to do it yourself?  Can you trust the design sessions to actually produce what was once referred to as programming specs, can you trust everyone on the team for testing?  Once these questions are answered in the affirmative you will see the power of extreme programming. 

 

Extreme programming does allow programmers, as a team member to achieve the goals set by management and consumers.

 

WebSphere (ever heard of it?)

August 4, 2001

Most IT people I’ve talked to say no.  Others are somewhat familiar with the IBM product.  One thing for sure, IBM has made a statement to the other E-commerce vendors.  We want the business and we want the majority of B to B applications.  The make-over at IBM is incredible when you think of it.  The Web Server of choice for WebSphere is Apache.  You know, the open source project web server and the dominant web server in the market place.   WebSphere runs on a very large variety of hardware with more being added.  I think the current number is over 40.  Very impressive don’t you think?  Security and scalability to key requirements are the cornerstone of this product.  So where are all the customers?  They’re there. Once again IBM has moved to where the money is and finally someone out side of Redmond Washington believes: "It’s the software, stupid".  IBM's biggest gain to its bottom line is in consulting and software engineering expansion, to go along with its regular lines of business, namely hardware.  There is a war going on to recruit software engineers.  There are finite numbers of programmers available at any given time and IBM is going after them.  The current trends are in the hands of Microsoft but IBM knows the future is not to be seen through clear windows but perhaps seen as a Web Sphere.

 

What’s going on IT? 

Consider how many new programs and tools are available today, and how much of the money spent on such products is well spent and the rest of the money is down the drain. 

As a programmer I like being trained on all this new stuff, however, realistically what have these new products added to the productivity of IT? Many times the answer is none to minus productivity. 

 I have found that these products do what they have been designed for, but truthfully, when has any user request stayed within a box and not needed modification to the design?  The modification requirements are where each and every one of these tools fails, and where custom programming does not fail. 

 What has prompted the explosion of these software tools?

  • The success of the PC.

The PC has allowed business to move from the number crunching of the boring accounting department and monolithic mainframes to actually addressing the daily needs of the entire business.  Most of this is due to the far sightedness of Mr. William Gates.  All businesses can have the Office suite that MS has provided.

Laptops and other data collection have allowed all phases of a business to trap data.    

  • The success of the Internet

When a businesses competitor goes on line so must you.

  • Lack of qualified IT professionals.

Just a couple of years ago there where 300,000 unfilled computer programming jobs open in the United States and that was prior to the current emphasis on the internet.

I used to worry about the foreign programmers taking away my job, however, the reality is we have run out of foreign programmers, and due to the problem of communication with them businesses will pay more to American English speaking programmers.  I encourage every young person I talk to about the big wages and great business opportunities that are here today with no end in sight.  The drawback to our business is that it requires a special mind-set to which most young students are not willing to submit.  The stress and dedication it takes to break through limits student interests. 

  • Hardware versus Software versus network

There are three paths a person can take in the IT industry and they are all fighting for the limited resources.  All IT individuals benefit from this but the business becomes a tail wagging the dog situation.   This is why IT is the part of business that management finds is the most needed evil affecting the bottom line.

  • Finally, and obviously this is not a complete list but I need to end this somehow, you get the picture: the never ending obsession for change by management.

When a new manager takes over he/she must put their individual stamp on the direction of the business.  This occurs at all levels of management and has been a problem ever since Lucifer decided to rebel.  Another reason for change is because the product is no longer viable.  Many buggy manufactures went out of business when Ford mass produced the automobile; others began selling Ford parts for the new auto industry.

 Now, because of this previously described evolution of the computer industry IT finds itself in a crisis, which provides an environment for the proliferation of these software tools.

Do these tools provide bang for the buck? In my limited exposure, NO!  I find that I’m constantly trying to learn the syntax of another tool. I find these tools are either nothing more than a front end to SQL or a tool that builds source code for some computer language.  The learning curve for these tools is several months to become proficient and several more months to implement into the IT environment. 

The latest software applications include functionally operating across multiple platforms for extraction of data to be used to make management discussions.  Why not just program in a language base upon a programming structure that provides both functionally and maintainability?  Why doesn’t IT quit trying to find solutions that don’t exist?  The perfect everything to everybody program will never exist.

Start by developing a program methodology that includes the business goals/rules.  Include all aspects of the program cycle: programming, documentation, training, operation, networking and Internet.  You must get the buy-in from management, programmers and users. 

Once you’ve developed in one of these specialized environments it is very hard to go to another tool and the programming cost for the specialized programmer is higher than it is for any of your standard programming languages.  Spend the money training IT management to develop good programming methodology and not buying these application that promise to solve all your business problems.  Another solution is to allow your company to be bought out and the problem is now someone else’s and you live off the golden parachute