Hell-week gets even better!

Another problem. This time a MiniDV tape which was miss-labeled by my co-worker causes me to duplicate 75 incorrect DVDs and 10 incorrect VHS… I even reviewed the content and it looked similar to the content that was supposed to be duplicated.

But it was not.

Oh hell!

I’m just exasperated… I do everything right and it still blows up in my face. Dammit!

Don’t jar my workflow!

My gripe today, is with Adobe CS. Specifically, I don’t like the new Photoshop for one reason.

I use Adobe Photoshop CS at work for several small image processing tasks and some larger graphic design tasks. I am quite adept at using Photoshop even though the focus of my job is programming and IT.

Adobe Photoshop CS prevents me from right-clicking on a file, selecting “Open With” and adding it to the list of programs I can open a particular type of file with.

I ALWAYS use this feature. It is an integral part of my workflow when working with images. Why Adobe‘s CS staff didn’t see this I can imagine has to do with the plethora of other useful features Photoshop CS has to offer. The little things often get overlooked in such ambitious projects.

I want my Open With back… 🙁

For now, I’ll deal with dragging the file’s icon onto the taskbar. I don’t like it. It feels dirty. It feels like I’m using a Mac 😉

Well, that’s it for my gripe.

[Edit] It seems to have been fixed. I don’t know if it’s a patch or something I did but it’s not a problem anymore.

A Failure in the Process

Today, I experienced a costly failure as was posted in my previous blog.

My boss, the wise man that he is, realizes that since I was the one building the software – that I might be able to stare at it for hours and not see a thing wrong with it.

This lead to a discussion on the root of the issue, a failure of process.

I take the blame for my small failure to notice a missing file, but in reality if our process were complete – there would be no way for me to miss it. This point was the subject of an entire semester’s schooling at Trent University‘s Computer Science program.

The gist of it is this. Each project requires a document stating a list of requirements. This list of requirements shall state concisely and clearly each and every operation the project is to perform.

A ‘requirement’ must be testable to be considered a requirement and it should be stated with a ‘shall’ to make it completely unambiguous.

Afterward, all that is required of the developer of a project is to implement only those features that satisfy the list of requirements. If it is not written in the requirements document, it should not be in the project. If the project won’t work without some feature not included in the requirements document, the requirements document needs to be re-written.

If you finally get to a stage where you can test the project, testing is easy! The requirements document becomes a checklist. A developer, preferably someone who wasn’t coding the project in the first place but who understands its logic, shall read through the list of requirements one by one, checking off all which are fully met.

That’s it! It’s a lot of work, really… but when you consider that it really only takes a few extra minutes of your time and that mistakes in an industry such as information technology can be extremely costly (programming mistakes can even cost lives!), you should use proper processes to develop your software. There shouldn’t be any question about it. You need to spend the time on proper process. Otherwise you’re bound to make costly mistakes, sooner or later. Let’s hope it’s sooner.