Pages

May 4, 2009

Reviewing Requirement Specs for New SW Devs

One of the most difficult things for new software developers to do is to review a requirements specification for a new feature or module. Too often they simply read through the spec and do not bother to question it. This would be fine if all specs were complete when they reached the developer's hands, but this is usually not the case. In this case, it becomes the developer's job to ensure the spec finds its way to completion by raising any concerns. This is where the Requirements Checklist in Code Complete comes into play.

The Requirements Checklist is not a list of things that must all be present, but they create a nice guide for checking the completeness of specifications. You should apply these questions to any requirements specification you receive and if the answer is no to any of them, you should question the writer as to why.

Here is a snippet of the checklist with some explanations as to why they are important. The rest of the checklist can be found on the Code Complete site (http://www.cc2e.com/0323).

Specific Functional Requirements

  • Are all the inputs to the system specified, including their source, accuracy, range of values, and frequency?
  • Are all the outputs from the system specified, including their destination, accuracy, range of values, frequency, and format?
  • Are all output formats specified for web pages, reports, and so on?
  • Are all the external hardware and software interfaces specified?
  • Are all the external communication interfaces specified, including handshaking, error-checking, and communication protocols?
  • Are all the tasks the user wants to perform specified?
  • Is the data used in each task and the data resulting from each task specified?

April 28, 2009

Series of Posts on Code Complete Coming

With my decision to turn this blog into what I hope will be a resource for beginning developers, I have decided to return to Code Complete by Steve McConnell and create some posts on various topics in the books. So in the next few weeks I will begin a weekly post on a topic, starting with the beginning of the book and will work my way towards the end pulling out things I think are helpful to new developers.

As these posts appear, feel free to give feedback on anything. I am doing this to give back to the community and not for myself.

April 1, 2009

Change Is Coming

I took some time to take a step back and think about what it was that I really wanted to achieve with this blog. In the past I had posts about my graduate thesis progress, but there was slowly a transition into more posts about various topics in the software engineering community. I didn't gain much of a following and I just wasn't happy with the content I was generating. So I sat back and thought about what I would have really wanted to read in a technical blog and with that I have made a decision.

I am going to resurrect this blog into something that can be very helpful to those individuals who are just starting out their careers in software development. I can think back to when I first started working after college six years ago and I had no idea what I was truly getting myself into. I had a strong grasp of the theoretical parts of software development, but didn't have much exposure to real world concepts that would help me in the long run. If I knew then what I knew now, I would not have felt so lost. So my road map for the future of this blog is to provide posts and tutorials on things that can help when you first step foot into the office for the first time. I aim to have mostly technical posts, but I will occasionally provide some input on business sense and dealing with different personalities on a team.

So be on the lookout for more posts coming soon. Black Dilbert will be reborn and will be better than ever!!

March 16, 2009

Finding Focus

I have decided that my blogging here has been lacking focus. What I originally planned for this blog was to follow my work on my graduate thesis, but when it was complete I was unsure of the next direction to take. I started to dabble a little in some small software engineering/development topics I encountered, but I never really got into any real detail. So I think I need to take some time to figure out the focus and direction I am going to take with this blog.

So stay tuned for a new and improved Black Dilbert. In the meantime, if you have any suggestions on what you would like to see here please let me know.

March 5, 2009

Thesis Is Alive and Well in the WWW

I was bored today so I did a quick search of my name and wireless mesh networks and my graduate thesis was returned at the top of the list. If you have some free time and want to spend some time catching up on IEEE 802.15.4-based wireless mesh networks you can find my thesis at http://hdl.handle.net/10106/741.

Just skimming through it sent me back to the long nights I spent slaving over simulations and data analysis. I must admit that I kind of miss it...