Thought-Provoking Commentary for the Lawson Software Community
Lawson’s Quality Crisis?
June 1, 2003Posted by on
Does Lawson have a problem with software quality? Of course—it’s the nature of the business. Is it a crisis?
We all know that software from every vendor has some problems. You can call them issues, defects, flaws, bugs, or whatever you want, and can define them any way you want. I call them defects, and I really don’t care what they are, or how they got there–I just know that they need to be fixed. I will qualify my definition by saying that I distinctly differentiate between software defects and vulnerabilities. Vulnerabilities are a different beast, providing a way for a hacker or other untoward person to gain access to and exploit your software, presumably to inflict damage. My complaint is that, vulnerabilities aside, Lawson still delivers too many software logic defects.
This problem is certainly not specific to ERP. Software defects abound in all types of software. A software bug is presumably to blame for the recent Soyuz landing-300 miles off course! Defects are part of the risk associated with using software in the first place. We all wish it wasn’t true, but it’s the reality. Nevertheless, it’s not something we have to live with, and we can do better. It’s pretty easy to figure out where the defects are and fix them. Just ask Microsoft. After building the “error reporting” feature into Windows and Office, Microsoft was able to validate that the 80/20 rule applies: 80 % of bugs are caused by 20% of code. They then concentrated on that 20%, and dramatically improved its stability.
So, how well does Lawson’s software meet your expectations for quality? Before you answer, let me tell you about a recent experience?
I’ve been working with customer over the past month or so to repair the damage caused by a recently-discovered Lawson software defect. This defect, while stunningly simple, required weeks of work to repair. Not only my time and the client’s time, but Lawson’s time as well. Lawson expended many hours of non-billable consulting, support, and development resources to repair the data integrity caused by this defect.
The culprit? Simply put, a counter that was sized too small, causing a program to drop detail records if an invoice contained more than 999 lines of system-generated detail. Since the invoices printed correctly, it wasn’t until an invoice was canceled–months later–that the defect was uncovered, and by that time many other invoices now lacked the correct details. Lawson did eventually write some fix programs and manually create some missing records. Let’s look at the underlying reason why this happened.
The sequence counters inside the program didn’t match the size as defined in the database tables. This is a simple enough mistake for any programmer, and will hopefully be a valuable learning experience. But for Lawson, I think it’s an indication of their lack of quality processes. This code never should have been released to a customer. Do you think Lawson uses peer code reviews? How about volume load tests?
So, once this particular issue was resolved, what does the support person tell my client? “Don’t call me back with any more problems until you’ve made sure you’ve applied the latest patches”. Gosh, I sure hope that was a joke! Even though there is a patch available now, the fact is that this defect existed and was generating incorrect data–for months before the patch was released.
Speaking of patches, have you looked on Lawson’s website lately? The arrival rate of new patches is alarming. In the first 4 months of this year, Lawson has released more than 50 patches per month for the 8.0.3 procurement suite alone! So, how can you keep up? One client told me, “I have been live on 8.0.x for 5 weeks now and I have had to put in 2 ESPs, one MSP and at least a dozen CTPs. That is simply criminal.”
As part of a broader initiative, Peoplesoft has announced development of a new auto-update facility that–based on a customer’s configuration–will download and install patches on demand. If you have used Microsoft Automatic Update feature, the concept is similar: background download and installation of patches and updates.
Could Lawson benefit from this type of a system? Does it solve the intrinsic quality problem? Certainly not. It just makes it easier to apply patches, which then have to be thoroughly tested in your particular environment. A major complaint I hear from clients is that Lawson is bundling too many fixes into a single CTP, which then mandates system-wide regression testing prior to installation in a production environment.
Lawson needs to concentrate on cleaning up and restructuring the code base. To do this will require a cultural shift. For those of you who’ve spent much time inside Lawson’s code, you know that it’s often a mess. Comments are rare. In many cases, modularity is an afterthought. Some of the code is downright sloppy. Lawson needs to educate its developers on methodologies and programming as a science rather than as an art. They need to enforce strict coding standards. They need to increase the tester-to-developer ratio.
If Lawson doesn’t focus on improving the quality of their product, they will just end up with a code base that cannot be maintained, and a customer base that is unhappy and ready to abandon the product. While Lawson Interactive Support is a great idea, wouldn’t the better investment be to improve the quality of the software so that it works better, and thereby reduce the need for support?