Wednesday, September 28, 2005

Random thoughts

It feels like I haven't posted to my blog in ages, so I decided to post some random thoughts running through my mind. Here we go ...

The company I work for is ramping up their software development procedures. We are aiming for CMMI compliance. This is very much a welcome change. Ever since a course in college on software engineering, I have been very interested in software development processes, with a particular interest in emphasizing and enforcing requirements. Our process model is one that I forgot about: the V model. Most of my work in university was using the waterfall model, but with a number of years in the field, I recognize that the waterfall model is not very practical (a quote I remember from somewhere goes something like, "In theory, there is no difference between theory and practice, but in practice there is"). I definitely now believe in practical use of a software process that allows for iterative development. However, I always like to fall back to my waterfall model and continually modify it with ideas I encounter in other process models. The following is a very basic outline of the process model I like to follow for my personal projects:
  1. Requirements
  2. Test Generation
  3. Design
  4. Implementation
  5. Testing
  6. Delivery
This is a fairly basic outline, and maybe I will post details on each in future posts. It is probably similar to other models, but one thing I do emphasize here is the Test Generation phase immediately after requirements. In my observations, I notice that Test Generation (or writing test cases) doesn't happen until after Implementation and right before Testing ("OK, we are ready to test. What do we test? Let's write some test cases to go by"). At least in this case, a list of test cases is written out and kept to go by in future testing (regression testing). But, what I am getting at is that if Test Generation occurs right after Requirements and correlate directly to the requirements that are written, I think that Testing will be more fruitful.

First, I propose heavy use of use cases during the Requirements phase. Each use case has a main success scenario and extensions. If a test case is written for the main success scenario and a test case is written for each extension, there should be excellent coverage. If someone tests something that is not prescribed by a test case generated from the requirements and complains something is wrong, then the requirements are wrong! The exception case that was tested and complained about should be addressed in the requirements.

-----

A new album from one of my favorite bands King's X was recently released called Ogre Tones. I haven't managed to purchase it yet but I am definitely looking forward to it! I also see they are starting a new tour up, and I hope that they come to Atlanta.

-----

Another release I am looking forward to is WWE's Wrestlemania Anthology DVD set. It comes out on November 1. I used to be an avid wrestling fan, but my interest waned soon after I entered college. My high school friends (Nicolas Tergeoglou, Shane Hayes, and Kris McWhite) and I would always get together during our high school days for about every pay-per-view for not only WWF, but WCW as well. When I got to college, I continued watching occasionally and now I rarely watch. However, I still go back to the oldie shows every now and then and relive the memories. With Wrestlemania, Wrestlemania X was about the last one that I watched on PPV and had much interest in. I am definitely looking forward to this set not only to catch up on the last ten years, but also to relive the first ten on DVD as I have not watched them in some time.

-----

Well, the fall season of TV is kicking off with a bang and I have a couple of shows to catch tonight. They are about to start, so I will sign off for now.

0 Comments:

Post a Comment

<< Home