Rob's profileWelcome to the 'Entertai...BlogLists Tools Help

Welcome to the 'Entertain us' Nation (by Rob Sanders)

Blogging since 2003
Links to my other blogs

Rob Sanders

Occupation
Location
Interests
I'm on twitter: @AusRob
and Stack Overflow - Rob Sanders

[Email me: rob.sanders[at]gmail.com]

Entrenched in IT for 13 lucky years, and still clinging to a passion for all things technical. Sport, Politics and Travel are other interests.

Questions for the Development Team

There is a very good blog entry located here which lists questions every development team and team leads should ask themselves during development cycles.

From the article:

Whole team

  1. What can we automate?
  2. where are we "Reinventing the wheel"?
  3. what are the tools that slow us down?
  4. what tools can we use better?
  5. are there bugs that I could have found earlier? how do I make sure I find them earlier?
  6. when do we find out we built the right thing?
  7. when do we find out our code\design sucks? how can we make that earlier?
  8. How do we show progress at the team level? at the management level?
  9. How many meetings does each dev have every week? how can we remove them?
  10. Are we building by feature or by layer?
  11. can we make all our team sit in the same place?

Team Lead

  1. daily: what bottlenecks exist in the team? what have I solved?
  2. will my devs be better in a month or two than they were before? if not, how do I make that happen?
  3. what prevents my devs from working? what am I doing about this?

Some of them are very useful, but I thought I’d expand on the list from my own experiences:

Whole team

  • What is our focus this week?
  • How do we effectively communicate who is doing what?
  • Do we have any change requests or outstanding requirement clarifications?
    • Can these be satisfied in a reasonable time frame?
  • Are we ‘on track’ to meet agreed deliverables?

Team lead(s)

  • How can we make our work more visible & available to the customer(s)?
  • What resources (physical/technical) do the team require?  Are they available/scheduled?
  • Do we have any ‘single points of failure’?  If so, how can this be mitigated?
  • Are client expectations being met?  If not, what can be changed to fix this?

It’s really important to understand what is a “team responsibility” versus a “team lead responsibility”.

Some forms of Agile development practice make this a little unclear, but in my experience, someone needs to be responsible for ensuring team goals and responsibilities are being met on a weekly (or daily) basis.

Some of this could be shared by a project manager as well as a team lead/architect, but the important take away is to ensure someone is asking these questions on a regular basis.  Keeping client expectations in mind is a critical step.

Absence makes the heart grow fonder..(?)

Well, it’s been some time since my last decent technical article.  There have been some distractions lately, but I’ll be back on deck with some fresh content shortly.  I’ve got some SQL Reporting Services goodness and also some tips and tricks on getting the most out of SQL Integration Services.

Lastly, I’ll attempt a foray into developing a meaningful working solution on the back of Windows Azure.

July is creeping up very quickly (thankfully) so hopefully I’ll get a chance to put more thoughts into the blog.

Lastly, I hope winter isn’t dampening your spirits (or that summer is a bliss for the northern hemisphere types) and that you’re getting geared up for the second half of 2009.

Always../R

Dynamic SQL, Identity columns and T-SQL Migraines

Well, this week I was routinely contributing to the massive indentations in my forehead (banging my head against my keyboard) due to an old SQL Server favourite.. “An explicit value for the identity column in table '[Table]' can only be specified when a column list is used and IDENTITY_INSERT is ON”

Basically, to facilitate inserts (mirroring data) I had to switch off the use of an identity column on the target table.
To do this you normally use the SET IDENTITY_INSERT <Table> ON statement. 


The scenario?  In order to support the use of changeable (rather than hardcoded) server and schema names, we needed to prime dynamic T-SQL statements and execute them.  The problem?  An EXEC() statement operates in a separate environment.

In other words, executing a
SET IDENTITY_INSERT [' + @DB + '].[' + @Schema + '].[<Table>] ON;
statement is only going to be effective if it is used within the same command batch (the same statement executed by the exec statement) – in other words, it should precede the required insert operation within the same statement, and then executed.

SET @statement =
'SET IDENTITY_INSERT [' + @MirrorDB + '].[' + @MirrorSchema + '].[<Table>] ON;
INSERT INTO [' + @MirrorDB + '].[' + @MirrorSchema + '].[<Table>]
…(snip)’
exec ( @statement )


The problem I was encountering was actually unrelated  to the error message!  After batching the SET statement, it turned out I was using an INSERT INTO statement between two databases (Fully Qualified) – the schemas were the same (the tables both had identity columns and same columns etc), but for some reason the column *ordering* was not the same.  Thus, fully addressing the columns works fine:

INSERT [TargetDB].[Schema].[<Table>]
( <columns> )
SELECT
( <columns> )
FROM [SourceDB].[Schema].[<Table>]
WHERE ( <criteria> )


However, rather than returning an error indicating a column mismatch (when using INSERT INTO), we got instead the old familiar “An explicit value for the identity column in table '[<Table>]' can only be specified when a column list is used and IDENTITY_INSERT is ON” – despite the SET statement!

Anyhow, I consider this a lesson learned.  Perhaps it will help someone else out there…

Journalism, Social Media and the Internet in the 21st Century

There have been frequent not-so-subtle attacks on social media (in particular, blogging and Twitter) by mainstream journalists in recent times and quite frankly, I’m sick of hearing about it.  350169275b2e5e0b6dao508tq4

There is hardly a day that goes by without reading the same old boring rhetoric coming from these ‘Traditional News Outlets’ about how bloggers do not deliver the same calibre of content, or how irrelevant a social network (e.g. Facebook, Twitter) is. 

An example?  This isn’t a credible technology news report, it’s junk journalism.

Sorry guys, that isn’t news.  Journalists are so busy trying to discredit sites like Twitter that do they have time to do any real reporting?

The comic on the right is probably an accurate representation of how big media feels about Internet bloggers.

Obviously, I’m aware of the inherent conflict of interest – complaining about journalists who complain about bloggers by writing a blog entry about it – however, my aim is offer a challenge to these professional journalists: create better content to demonstrate to us why there is a difference between blogging and professional journalism.

We hear so much about how bloggers are generally useless (leaving people perhaps under the impression that the common blogger hasn’t the slightest modicum of integrity) – I’d like to challenge members of mainstream journalism to actually live up to their own billing and provide us with some journalistic integrity and reports on real news,

We’ve been witness to some shockingly biased “news” coverage in the past eight years, especially post-9/11, and I think we deserve better journalism.  Sites like Twitter allow information to flow more freely, but the signal-to-noise ratio is very high. 

The quality is sketchy, but again you get what you pay for. 

If news outlets demand a price for news, they should provide newsworthy content.  The rash of garbage we’ve been subjected to as ‘news’ is simply unacceptable, and the attacks on social media are juvenile to boot.

[Comic Source: http://carocat.co.uk/2007/11/14/consider-it-blogged-why-bloggers-cant-be-trusted/]

IIS 7: Internet Information Services (IIS) Manager

It’s just getting to the point where you have to have to say that it’s pretty much unacceptable for major mainstream software to not support resizable windows. 

Today I went to adjust the bindings for the default web site on my local IIS 7 service using IIS Manager.

image

Sorry, but it’s 2009 and IIS Management was rewritten in 2007.  Somehow resizable windows escaped the redesign? 

Personally, I find IIS 7 Manager to be one of the worst organised consoles, it’s exceptionally counter intuitive.  Where else do you find an option for “Basic Settings” and a little bit below it.. “Advanced Settings”?

While we’re on the subject, the SQL Server Team found time to improve SQL Management Studio.  The once-inflexible dialogs mostly sport resizing – even the odd Browse dialog – however the Dialogs remain pretty large.  If you’re on a screen resolution of 1024x768 or less, you’ll have a hard time using SSMS.  We’re glad they did it though :)

image

Still hideous after all these years..the Browse window in SSMS

At least we can say the interfaces, consoles and management tools are getting better with age.  From the early previous, Visual Studio 2010 is going to give Developers the kind of excellent layout options which Designers have bathed in for many years.  Can’t wait!