Skip to main content

How Not To Run a Software Project

I have just finished a project with a client, a major industrial company. It was a situation where you might say that I "fired" the client. The reason I essentially fired the client is because of the nature of the working environment and the politics of the situation. I know, you might say that these are common reasons for consultants to end a project. I think it's worth highlighting how internal politics and a lousy environment can be killer to software projects.


I am (still) a VB6/SQL Server programmer/consultant. This was a client where I worked on two such projects, and I might have had the chance to build more of them if things had worked out. The first problem was the IT department. I mean, not just the place, but the people. This was an industrial plant where I was working, after all, and it was not the swankiest in terms of offices and facility. I was on the factory floor many times, to install software, to check out a situation where the application appeared to be acting up, and to show people how to use the system. Back in the IT department office, I had a desk and a workstation... and an old strip printer on the other side of the divider, and the IT manager's office on the other side of that, and people coming and going all the time, needing help with their computer/printer/mobile phone/whatever. I am someone who does best in a quiet working environment, and it doesn't help when you have one noisy b*tch who can't keep her mouth shut or have any concept of what it means to talk quietly to other people. The last straw was the installation of a printer that they use to print inventory tags, in the same area as the strip printer-- that is to say, on the other side of the divider from my desk. The printer was very noisy, if efficient. Needless to say, it was a big obstacle to getting things done.


Then there's the political aspect of things. When an organization develops a software project, it is best that everyone in the organization involved with the design, creation, and deployment of a software system is on the same page. Often times, this requires a decision by someone high enough in authority in the organization to make the decision of which way they will go. In the projects I just concluded, this central direction and commitment to the project were conspicuously absent. At this company, apparently people in the various departments have budgets of their own that they can use to hire consultants to create software applications. At the facility where I was at, there were database and application servers that were available to the various departments. The only thing that the IT department would get involved with is maintaining the servers and making sure they didn't go down. They didn't want to support applications they didn't write and didn't "own". If a department had an application that it had created, they were on their own. The only time the IT department would mind is if something borked the server or interfered with the plant floor production. On the other side of the coin, they either had no authority or inclination to stop the other departments from creating these applications and databases.


IT is looking forward to when Oracle is installed at the plant, and has support in place from Oracle or third-party consultants. At other locations in this company, Oracle has been installed and is the basis for applications that have been written, or are about to be written. The apps at the other plants are essentially the equivalent of the applications I have been working with, except that it seems that they have taken a lot more time and money to create. Nonetheless, IT seems willing to wait for when Oracle is rolled out at the plant, whereas out in the provinces of manufacturing, materials, quality, and finance, they are not willing to wait. Out in the "provinces", they are tired of having to rely on the mainframe system that handles production, inventory and other phases of the business. This mainframe system is 20 years old, and seems to work well in most respects. However, it doesn't have a graphical interface, and it doesn't lend itself to extensibility. They are anxious to have systems that will make them more productive, are easier to use, and utilize email and spreadsheets to do reports. In other words, they want to at least move into the 1990's.


When I was at the client, I saw the viewpoints of both the line and staff and IT. I understand where both are coming from, and both have legitimate viewpoints. What is the missing ingredient here? Leadership. Vision. Someone who is high enough in the company needs to step up and make a decision of how things will be done. If the line and staff people see money being left on the table because they don't have applications NOW, they need to prevail on top management to give them the resources to get things done. And I don't mean one programmer in the IT department in the plant. I mean real IT consultants who have developers writing applications. If IT feels that it has to get a handle on what is going on at the plants, then it needs to ask for the authority to have control over the infrastructure so that departments can't just do their own thing.

Comments

Popular posts from this blog

Where Things Stand Now

So it's been over five years since my last entry in this blog.  A lot has happened since then, personally and professionally.  I am now married, I have two little daughters, and for the past four years, I have been with a company that makes inserting machines for the mailing industry, supporting and extending software that works under the Automated Document Factory (ADF) concept.  I continued with the manufacturing client (an auto plant) until March 2006, developing in VB 6 and C++. I had a 3-month hiatus from consulting when my wife came from the Philippines and we had our wedding.  After that, I had a couple of short-term consulting gigs with another staffing company where I was involved with creating applications based on Microsoft Office VBA-- one in Excel, the other in Access on a tablet PC.  After this same staffing company sent me on yet another Access project, I decided that they were not taking me in a direction that I wanted to go, so I quit the proje...

Accomodating the Client

Working out how far to go to accomodate the client's needs. Despite my talk about how I have "fired" the industrial client, I have been working with them over the past three weeks on certain issues that they are having with the VB 6/SQL Server systems I helped to build. This support has been for free. It is becoming the scenario that I didn't want to get into-- having to support their system because the project champions at the client don't have enough technical competence to support the users, and the IT department is unwilling to support the application because "something better" is coming along soon. Despite my desire to wriggle free from this client, I can't, after all, just throw them overboard; I don't see that as being the responsible thing to do. I have also committed to helping them with the application that interfaces with the tool controllers, but I have made it clear that that application needs to be written in C++, in order to a...

The Never-ending Battle

Hints at market share for Windows and Linux. In the wake of the attack of the Zotob worm, I saw a chart from Netcraft that tracked the uptime of Fortune 100 web servers over the previous 24 hours. Apparently there was no effect from Zotob among the Fortune 100, as the server that had the most downtime was running Sun Solaris, and that might have been taken down for maintenance. Zotob seemed to cause more trouble on the intranets of several media companies, as CNN reported on Zotob as if it were some cyber-Armageddon. As it turned out, CNN's LAN just got hit especially hard. Looking over the Netcraft chart is enlightening. In addition to uptimes and other network-related statistics, the operating system of each site is also listed. The dominant OS in the Fortune 100 is not Windows, but... Solaris. Solaris runs on 42 sites, Windows Server runs on 25 of the sites, Linux on 17, another flavor of Unix runs 5 sites, and 10 sites have an "unknown" operating system. My gu...