In Software Development, cosmetic defects gradually and eventually hurt much

Category: How Software is managed 1 Comment »

Have you been bitten by an ant? Did it hurt much or was it just itchy?

Have you imagined being thrown to an ant nest? People might get killed from a whole herd of these small creatures.

The same visualization happens to the quality of software products.

Cosmetic and Severity

In a software project, Severity of a defect is often weighed on different levels. Through the terminology might vary, four levels are usually used: Critical, Major, Minor, and Cosmetic.

  • Critical is when the defect hangs the program or stops the business completely
  • Major is when a the program yields an unexpected result or a business rule is violated severely
  • Minor is when an unexpected result can be neglected or a word-around can be used
  • Cosmetic refers to usability issues, misspelled words, graphical designs like indent or color palette

Critical ones always receive highest priority to be fixed immediately. Major and Minor ones depend on the complexity and cost of the defect.

What I want to discuss here is Cosmetic defects.

Color palette. Cosmetic

Cosmetic are trivial

Since Cosmetic defects don’t normally stop the business or make transactions go wrong, they usually receive lowest priority. Next, because everyone is busy, every team is busy, these defects might never be solved and just stay there in the bug-tracking system.

“Cosmetic ones are trivial to fix”, said many developers. Yes, one defect on font size or misspelled word may take no more than 5 minutes to be complete flushed. And yet, it is trivial to be fixed…

However, on some occasions, cosmetic defects are one of the hardest ones to debug. It happened once when my team was developing a state-of-the-art system on .NET 3.0 beta in 2005. Because the platform was still in beta, many controls such as grid were not fully supported. When data in the grid could not be managed, the R&D team managed to code the control themselves. It took the three men 2 months for this task. 66 man-days was not an easy number, but since the customer wanted it so badly, on the way they went… Half a year later, the control were fully supported by Microsoft!

Well, the story above is just one exception, let’s get back to our commonly accepted perspective: Cosmetic defects are so trivial they simply itch rather than hurt anyone.

However, from the other side of the line, things are 179 degree different…

The customer simply doesn’t see as a developer sees, or vice versa

The time of “give me a useful application” has long passed. Customers nowadays yeld for “useful and beautiful suites”. Sad but true, users take for granted the functionalities a system has to offer; they don’t care the perfect architecture the development team may be very proud of. This is true it hurts.

Quick ‘n’ flick Google products, highly elegant Apple products and glossy Web 2.0 design are some of the things that plant the desire for beauties in software users today. Presenting users a messy, inconsistent system with easy-to-spot mistakes upsets them greatly, and expect recession in sales figure.

To make things worse, with more communication channels than ever information travel so fast within vertical communities that the brand of the software might be severely “injured”.

Conclusion

Is it time we reconsidered how critical Cosmetic defects have grown to be? I believe no time is better than now to sit down and put our hands on these trivial, 5-minute improvables.




Tags of this article: ,,,,,,,,,,,,,.


Last update July 12, 2008

Related Posts


  • Introduction to Enterprise Unified Process

  • Giveaway of the day - Licensed Software for Free

  • e-Learning should no longer stand alone

  • Free & Open Source Enterprise Resource Planning Software

  • 5 steps to Make Profits from your Customer Supports
  • Digg this post | Post to Reddit | Post this post to del.icio.us | Favorite this post on Technorati | Stumble Upon this post | Bookmark on Yahoo! | Share on Facebook | Bookmark on Google

    Managing a Limitation of a system

    Category: How Business Analysts work No Comments »

    A limitation is not a defect

    A defect is defined as non-conformance to requirements.

    A limitation of a system is something a system does not accomplish, either due to technology not being supported, time constraint budget limit, or nature of business model.

    Ideally, limitations should not exist in a system. However, in engineering discipline, certain limitations are accepted. This article seeks to explore ways to manage a limitation.

    Scenario: a simplified example of a Customer Relationship Management System

    Business domain level

    Simplified Customer Relationship Management System

    An Opportunity is created from a Contact when Sales representative has approached and make a proposal to that Contact. If an Opportunity encounters difficulty, it is converted to a Lead and requires more attention. If the Opportunity is done successfully, it becomes a Contract and Price is calculated. A Lead, if done successfully, can become an Opportunity when meeting certain criteria or become a Contract. If a Lead fails, it is dismissed.

    System level

    The object is a Transaction. A Transaction has 3 statuses: Opportunity, Lead, or Contract.

    System allows changing status of Transactions.

    An issue is raised: Does the system allow changing from Contract to Opportunity? Does the system allow changing from Contract to Lead?

    The impact could be huge. The system must handle Price and Invoices. This concern is accurate.

    Back to Business domain level

    However, back to Business level, the situation may not affect the operation at all. In reality, when a Contract is signed, it does not have to be switched back to Opportunity or Lead. The customer may not even care for this scenario.

    What do we (the project development team) do to address this gap?

    Widely accepted principles of system development and project management

    To address the issue, let’s get back to principles of project management

    • The system should be able to satisfy customer requirements.
    • The system should be able to handle exceptional cases.
    • The system should be within budget and time frame with given resources.
    • 80/20 rule applies. In certain cases, 80% efforts are spent for functions that users use only 20% the time.

    How different roles view a limitation

    A natural engineering approach of this gap is to restrict changing status of a Transaction from Contract to Opportunity.

    However, when the proposal is put on the table, the chance maybe that it is not accepted. Firstly, the client doesn’t want a restriction in the system. Next, the client doesn’t want the development team to spend much efforts and time on a functionality that will not be used frequently.

    This leaves a limitation in the system: it still allows converting Transaction status from Contract to Opportunity or Lead, but it won’t fix the Price and Invoice. This limitation leaves it to the hand of user to manage data themselves.

    Manage a limitation from different perspectives

    • System Analyst: this limitation is put in Supplementary Information section in a document.
    • Technical Writer: this limitation is noted in User Manual.
    • Business Consultant: communicate with client on this issue.
    • If any issue arises, it is to be escalated to the Project Manager.



    Tags of this article: ,,,,.


    Last update January 31, 2008

    Related Posts


  • Way of a Scientist

  • Utopia

  • Problem-Solving Tools Series: Introduction

  • ERP Series vol 3: CRM

  • Problem-Solving Tools Series: Risk Analysis
  • Digg this post | Post to Reddit | Post this post to del.icio.us | Favorite this post on Technorati | Stumble Upon this post | Bookmark on Yahoo! | Share on Facebook | Bookmark on Google

    Single-Blogger Roles

    Category: How to better WordPress writing 1 Comment »

    Roles a single blogger takes: Researcher, Writer, Consultant, Designer, Coder, Marketer, PR




    Tags of this article: ,,,,,,,,,,.


    Last update July 7, 2007

    Related Posts


  • Wordpress bug - single password revelation

  • Picasa integrated into Blogger

  • How TaiTran responses assertively and constructively to unsolicited PR on his blog

  • WordPress Publishing Tips - 1

  • Taking notes remotely, securely, and in style
  • Digg this post | Post to Reddit | Post this post to del.icio.us | Favorite this post on Technorati | Stumble Upon this post | Bookmark on Yahoo! | Share on Facebook | Bookmark on Google

    WP Theme & Icons by N.Design Studio