Thursday, February 21, 2008

How to over come crappy programing

Who hasn’t had a project deadline be pushed back by a crappy code that has been written? This will happen to every company at one point. It just will. Let’s face it. All hope is not lost though! You can minimize your risks with proper planning, implementation, and testing before fully releasing the program to the public or to internal staff members.
Remember this acronym SDLC, which means Systems Development Life Cycle. The reason why this is important is this helps you see what all needs to happen in order to create a fully functioning program. The steps are simply to:

1. Plan
2. Analyze
3. Design
4. Develop
5. Test
6. Implement
7. Maintain

I want to touch mostly on three of these which are the planning phase, testing, and maintenance. Who hasn’t heard the phrase "Piss poor planning leads to piss poor performance"? This is a phrase that has been told to me many times, and it rings true every time. You must first define a system that needs to be developed. Being precise and straight to the point here is necessary, because if you are too vague on what it is that you are trying to develop you are as if you are an airplane pilot in dense fog without any instruments. Not knowing which way to guide the plane you will end up crashing because you do not know which way is up or down. Setting your sights and sticking with it all the way will make all of the difference in saving you time and money. For in this digital world time is money, and if you are not able to produce your competitors will and you will loose out. Once you know what it is that you are gong to create you need to define the tasks that need to get done, what resources it will take, and set up specific dates that you want to have things accomplished, or in other words setting milestones. After this initial step has taken place you then can move onto the analysis, design, and development portion of the SDLC.
Testing is critical. If you do not test the code that you have written how will you know if it is any good? Not wanting to name names, or to say negative things for a company I know, the development team used to be infamous for writing code and then just implement what they had done without any testing. I being in customer service would then have to take phone calls and get yelled at for several minutes by an angry customer for things our development team did. Many times through all these issues we had at the company, we would loose customers for these errors. Overall meaning loss in revenue, and a bad reputation to potential clients for having a faulty system. If the development team would have simply taken the time to test what they had done then we would not have lost customers, and would have had a better reputation amongst our potential clients for having a well maintained site. My view of testing is to try to break what it is that I have created. Putting the code through the ringer to see what would happen if I did certain things under different conditions. You will then need to start implanting what it is that you have created and do further testing to make sure that what you have done fits together with your total system. You can have created a killer code that will jump through hoops and go over the moon, but then have it not work with the rest of the system. To what then is this code to value to you? It’s worth nothing. Testing and retesting will always need to take place to make sure everything fits together well.
The maintenance will always be an issue with writing programs. You will need to make sure that you have a help desk trained in helping others to maneuver around what it is that you have created. This helps to lead to further customer satisfaction, happy customers to you means more money in your pocket. Understanding that business environment changes constantly and you will need to be sure what you have created will fit the needs of your users. You will at times need to update code that you have written to meet any type of demand of the growing environment of your business.
Every year billions of dollars are wasted in faulty written code. There is no need for this. Taking these simple suggestions and applying them into your business will make all the difference in the long run. Having a plan set forth from the start will give you direction and not having to constantly wonder what you should be doing or what others around you should be doing. Testing the code that is written will help you see if there is anything that you have missed in any portion of development, and maintaining the program so that it works consistently will make customers come back for more all of the time. The goal in all of this is to help you cut your expenses and make you money.