A recent study, High Costs and Negative Value of Pair Programming, by Capers Jones, pulls no punches in its assessment of the costs-to- benefits ratio of pair programming, two programmers working together, at a single computer, rather than separately. He implies that pair programming is a method rushed into production on a wave of enthusiasm … Read more
Fifty years after starting the 'Art of Computer Programming', (TAOCP), Don Knuth is still working hard at the project. He has almost completed the first five volumes. It is considered amongst the "hundred or so books that shaped a century of science". Richard Morris asks him how things are going, and to find out more about his many achievements. … Read more
All great developers write reusable code, don’t they? Well, maybe, but as with all statements regarding what “great” developers do or don’t do, it’s probably an over-simplification. A novice programmer, in particular, will encounter in the literature a general assumption of the importance of code reusability. They spend time worrying about DRY (don’t repeat yourself), … Read more
One bad practice guaranteed to cause dismay amongst your colleagues is passing on technical debt without full disclosure. There could only be two reasons for this. Either the developer or DBA didn’t know the difference between good and bad practices, or concealed the debt. Neither reflects well on their professional competence. Technical debt, or code … Read more
Despite all the advances in software tools, there seem to be several enduring truths about software development. By understaning these 'laws', Ziv's law, Humphrey's Law and Conway's Law, for example, you can remove some of the mystery of the process. Al Noel discusses these and other laws that seem to apply generally to the art of programming.… Read more
Although it is necessary to deliver a software project on budget, to schedule, to the right quality, it isn't, by itself, sufficient to ensure success. It has to be be what all the participants expect and want. To achieve all this requires a balancing act, with tradeoffs and compromises, but it is great when you get it right. Dwain gives advice from hard-won experience.… Read more
Phil's dread of Powerpoint sales presentations is already known to his readers, but we've never before heard the story of how an intern in his team gave them the necessary insights to find a cure for their unfortunate tendency to doze off, and convince them that they were charmless geeks.… Read more
In which Phil finds himself in a place of work where, despite his penchant for insulting or upsetting senior managers, he survives purely due to his ability to distill complex IT documents into one-page strategy papers… Read more
There’s some fuss around the additional security risks of moving an existing service within a corporate data center, to a cloud-hosted virtual machine, with a shared infrastructure. I appreciate the caution, but I wonder if they aren’t overstated. Sure, there are new risks, intrinsic to the cloud. For example, the so-called Hyper-jack is a security … Read more
In IT, it is difficult to measure individual productivity, and it is particularly difficult to determine whether a project manager for a development project is 'pulling his weight'.… Read more
Why shouldn’t we enjoy the benefits of distributed version control systems (DVCS) on Windows? I agree that we’ve made a start, now that, at last, we have a measure of integration into TFS and Visual Studio of Git, and with Atlassian porting SourceTree, their Mac client for Git and Mercurial, to Windows. This is fine … Read more
Could it be that, if you adopt Test Driven Development, Continuous Integration and Continuous Deployment, then much of the bureaucracy of team-based software development becomes redundant? It is an intriguing idea which has led to a creative experiment.… Read more
On the final day of a hectic PASS Summit 2012, in Seattle, I caught up with Bill Graziano (@billgraziano), Douglas McDowell (@douglasmcdowell), and Thomas LaRock (@SQLRockstar) and quizzed them on all things PASS; what it means to the SQL Server community, its plans for the future, and what makes the PASS Summit stand out from … Read more
Although it makes a lot of sense for an IT department to use the Cloud where possible instead of using its own IT infrastructure, you can’t just move everything and expect to be left with no task more taxing than twiddling a big dial marked ‘scale’. Whereas the cloud works well with stateless, process-heavy, application … Read more
Interviewing for a database position is a careful game of give and take. Knowing what to expect and how to prepare for your interview is important, but it's only half the battle. You'll also need to ask questions to see if the job, and the company, is a good fit for you.… Read more
I’ve been leafing with interest through the book, Pro Data Backup and Recovery, by Steve Nelson. For anyone predisposed to consider backup strategy largely from the perspective of a SQL Server database administrator, there are some revelatory passages, and a few that may cause you to splutter coffee over your keyboard. According to one such … Read more
JavaScript is 'tragically important' because, although it is inherently flawed, it is used everywhere because it allows the developer to use the same language for a variety of platforms and purposes. At last, the uniformity of browser and Javascript standards give the promise of code that really is 'write once, run anywhere'… Read more
When developing software, it makes sense to 'fail early, fail often'; to become aware of mistakes quickly and to learn from them. This means being able to deliver software as early in development as possible. This makes it easier to gather opinions and promote discussions with the people who would want to use the application; and then respond to the feedback. … Read more
There was a sharp intake of breath from the audience when Adam Machanic declared the SQL Server optimizer to be essentially “stuck in 1997”. It was during his fascinating “Query Tuning Mastery: Manhandling Parallelism” session at the recent PASS SQL Summit. Paraphrasing somewhat, Adam (blog | @AdamMachanic) offered a convincing argument that the optimizer often … Read more
Bill Baker had a considerable influence on the way that SQL Server evolved to deliver reporting services and business intelligence. Until 2008, Bill Baker headed the Data Warehouse Product Unit within the SQL Server product development group. His team designed Analysis Services, Integration services, Data Transformation Services and the Admin tools that ship with SQL Server. … Read more