Camtasia and SnagIt Purchased…

I finally broke down and bought em’!  The main reason I finally went ahead and did this is because of the free Camtasia 3.1.3 offering that TechSmith put out not too long ago.  The $299 price was initially just too much for me, I didn’t need or want to jump into the screen videos that badly.  But since I could get it for $149 I went ahead and jumped in and will in the near future start publishing some screen capture videos.

With the Camtasia purchase I also finally have upgraded my SnagIt to the latest version.  I had been using an old version I had for years (egads, I think it has been 6-7 years since then!!  Aaggghhhh!)

So now I’m equipped to really setup and create some real professional looking curriculum for the how to info I create.

Error Message 666, The Evil Kills

“666    16    Maximum system-generated unique value for a duplicate group exceeded for table ID %d, index ID %d. Dropping and re-creating the index may fix the problem; otherwise use another clustering key.”

So today when running a query I’ve come across the message listed.  Off I went digging the Internet to figure out what exactly this meant.  I guess the fact I was running a query with distinct counts against 2 Terabytes of data has something to do with it. Surprise [:O]

All in all, it is definitely an “evil” error message.

Off to fix the query & index.

Mount ISO Image in XP, Vista, or Server OS

I came upon the need to mount an ISO image to the local OS, often I’ve done this on a running VM image, but that is built in.  On the native Microsoft OS there really isn’t a setup to do this.

To the rescue comes Magic ISO Maker.  I first noticed it via a blog entry on Rich Mercer’s site.  So if you need to mount an ISO image or even multiple ISO images to a box, this is the software to do it.

InfoQ and Agile Leading the Curve

I listened to the The Value of Agile Leadership to the Enterprise while working on getting prepared for some meetings this morning and checking e-mail.  Excellent speaking engagement with a lot of top notch guys;  Bud Phillips (Capital One Financial), Israel Ganot (BMC Software), Steven Ambrose (DTE Energy), Peter George (Cronos Inc. <- I’m not sure about this link – ME).

Often there has been back and forth about using or not using GUIDs.  I generally tend toward using them, per the Guid Gospel.  But there are always exception scenarios where they just aren’t really needed or awe inspiring queries need to be written.  In those scenarios I sometimes drop GUIDs from my schemas.  For the most part, as the Guid Gospel outlines, the first reason is enough for me.  The reduction and increased control of creation of objects on the client side is preferable over needing to make multiple trips to return row IDs and such.

A new old argument is growing over at Microsoft called Volta, read more on it at the InfoQ article Volta – the future of web development on .NET?.  I followed one of the links to the Volta site, but I get a .NET Exception tossed in my face at current (10:56am).  Hat tip also to Ajaxian’s Article, Public Sector Developer Weblog’s Entry, and Yow-Hann Lee’s Entry.

Of course more at InfoQ about the Extensions release, which I’ve got installed and rolling.  Even snagged a whole 20 minutes to look at it last night.  I’m hoping to add to the tutorials that Hanselman, ScottGu, and the others have created in the near future.

On keeping up with the cool new toys category, ASPhere has a nice config app.  Go check it out.

That’s it for today’s digest of tidbits.  I felt the need to write something up as so many things are coming out and releases are happening left and right these days.  So check out the stuff, keep up with the stuff, and have a blast with the new toys n’ stuff.

Deliver On Time or Working Software

It would be nice, and often can be done, a delivery of on time and working software.  The axiom of on time, working, or cost comes into play here.  I just want to discuss (and rant) a little about on time and working software.

Sometimes during a project there comes a decision point were a leadership team has to decide between on time delivery and working software.  I’m not talking about cutting some features and getting it working to deliver on time. I’m talking about just simply delivering whatever is done at a particular point so that it is on time or continuing and delaying the release.

Sequential and Parallel Tasking

Sequential Definition

Parallel Definition

I mentioned recently the problems associated with adding developers to a software project.  One of the main things that comes up as a conflict with additional developers is the sequential nature of software development scheduling.  Some tasks you cannot work in parallel, and must have clear starting points based on ending points of other tasks.  The simple of this I’ll describe by using a few examples below.

Example Scenario:  The Beginning, The Creation

When a team, product manager, marketing director, or entrepreneur get an idea and set out to create that idea it is a sequential or serial action task.  Small parts of the idea can be broken off for elaboration but generally it takes x amount of time, indivisible into smaller time segments.

When a time segment is introduced that is sequentially ordered it is because of several reasons.  The number one reason for sequential ordering is that the workload can be broken down no further, the solution being developed is already for the smallest segment of breakdown that is reasonable.

Example Scenario:  The Busy Work, The Day In and Day Out

When a team is working on a large project and the parts of the project are broken down one can task parallel items.  One example of this is any SOA (Service Oriented Architecture) Project.  With SOA the parts of the overall application usually make up some grand application of enterprise massiveness.  In these cases multiple parallel tasks are a necessity and additional developers can be added with a large benefit.  These tasks then of course need broken down into smaller sequential tasks for each individual.

Summary

In several of the companies I have worked for and a couple startups that I am consulting on at this time there is a recurring theme I see over and over that almost predicts various levels of failure or induced burnout in developers.  The arbitrarily set “completion dates” for a project.  In multiple projects that I’ve seen, a completion set is made by either executive or middle management with no realistic goal, baseline, function list, or even clear scope idea of what needs to get built.

Per many management processes such as Six Sigma, Lean, Scrum and others one of the core fundamental concepts is for pushing off the decision making on important things like that until the most information is available.  The last thing one should do is promise delivery when development hasn’t even started.

The best thing to do is to work out timelines and scheduled deliveries when baseline times can be created.  If there are none of the previously mentioned baseline or time data points, the legitimacy of a project being completed at a set time is 0 (zero, zilch, nada).  Nothing can change this except additional data points.

Last word – forget the damned dates, make sure the software works and release often.  I guarantee better return on the investment will be had!

Technorati Tags: Six Sigma,Lean,SOA,Service Oriented Architecture,Scrum,Sequential Work,Parallel Work

del.icio.us Tags: Six Sigma,Lean,SOA,Service Oriented Architecture,Scrum,Sequential Work,Parallel Work