Monday, May 15, 2006

What we are doing wrong

I recently had a rant about us as developers not having a clue what we are doing. I want to try and narow this down into a few areas that I think need improvement.

1. Testing. We don't take a step back and look at different scenarios. Whenever I develop something it is to do a task and that is what I test. I never test a method to see how it react when different data then the scenario is added.

2. UI. I never make an application useable. Its not because I hate the user but that my emphasis is on functionality. We almost need to look at the interface as requiring the most functionality and designing a good clean interface that is user friendly. I need to start designing programs thinking that the end user is going to be my grandma or something like that.

3. Data. My applications are filled with garbage data. I need to find a better way to put realistic data into my applications. One thing to be carefull of is copying production data into development as this may violate privacy laws depending on where you live (seriously).

4. Load & Concurrency. I barely ever test my applications in high load situations nor do I test what would happen if two methods got run at the same time. I ran some tests on one application and was supprised at the number of deadlocks I got in the database (then again it might have been my testing tool)

5. Design. I really think most of us don't know how to design an application. We all have different views and opinions (or are lacking in this department). I think we need to start looking at all the different ways of doing things and start to reach a concensus.

6. Client Interaction. I find that the client is not involved enough and is upset when they don't get what they asked for. This is one reason I really like agile for having the client heavily involved in the development project.

7. Unit Testing. I have found this to be such a usefull tool / practice. Since I started using it I have found that the quality of my releases has been higher in that there are few if any regression bugs and I feel more confident making changes to existing code. I really think that if you have not tried having unit tests of some kind in an application that you should.


Post a Comment

<< Home