Coding Zealotry: Peer Programming

In our next episode of the smash hit series “Coding Zealotry” (aka “The Random Babbling of a Madman”), we’re looking at the practice of peer programming (pair programming) and asking ourselves whether we should abandon our solitude and do it all together.

Peering Into the Paradigmboat-606187_1280

In case you’re uninitiated, peer programming involves two programmers sitting in front of a computer, writing the code together. Usually one guy writes and the other guy points out all his errors. Depending on the chemistry it can be a fun session of engaging on unique ideas, or a world war of spats over variable names. Read more

CIO-Strategy-300x142

CIO Strategy: Three Imperatives for IT Vitality and Business Success

A video interview with Sheila Jordan, CIO, Symantec

 

IT is not just about reducing cost and driving new efficiencies. Sheila Jordan came to Symantec to make IT a strategic driver of business change and growth. To do this, she is making IT “a services-led organization.” While many of these are IT services, many will extend across the enterprise to departments and corporate functions.

To achieve her vision, Jordan has the aspirational goal of an IT portfolio that is equally divided between “running the business, changing the business and growing the business.” Reflects Jordan, “Wouldn’t it be cool if IT can deliver two-thirds of the IT spend on changing and growing the business, versus just running it?” According to analysts, most enterprises spend 65-70% of its resources on running the business.

Jordan also recognizes that “employees are consumers, and they come into work and expect to have the same experience.” Services must be consumerized to ultimately make them successful. On the other end, visibility “across the organization” is essential to “make decisions and drive efficiency.”

Coding Zealotry: Class Interfaces

In a previous article entitled “The Religious Zealotry of Coding Best Practice”, we looked at how some best practices are implemented blindly, even though the costs outweigh the benefits where the practice is actually implemented.

In this article we’ll take a brief look at class interfaces.

It Starts Simple

So here’s a classic service class in C#:

public class CarCreator
{
   public Car CreateCar(string name)
   {
       return new Car { Name = name };
   }
}

It’s simple, it does what it says it’s going to do, it’s easy to read, and clearly easy to add onto. Read more

The Religious Zealotry of Coding Best Practice

Looking across the different cultures of software houses, I’d say there are roughly three camps:

1. The Hack-Attack

The fast food merchants of code production, these guys look to get it out ASAP. Do the least possible work to get the sign-off from the customer, to get a product installed that does what it’s meant to do … for the most part at least.

I actually respect these guys – you can laugh at the quality of their work, but like a fast food outlet technically gets the job done (fills the stomach), these coders are incredibly efficient. In terms of bang-for-buck, they are often remarkably cost effective.

It’s fairly easy to understand the problems with this approach though. Some projects just go wrong. The code is at a level of spaghetti-ness that would impress a native Italian mafia-run dockside restaurant. Typically what happens in these firms is that a fast-build project is also a fast-fix project, so instead of accepting that the code essentially needs some level of re-write, the quickest dirtiest fix is implemented, which often only exasperates the problem. Read more

devops

The DevOps Movement fits perfectly with ITSM

In my thirteen year journey of studying high performing IT organizations, I’ve started to see a new and unsettling trend.  Whenever I mention ITIL and IT Service Management in presentations and briefings, people in the audience snicker. When I ask why, they roll their eyes, and talk about the shrill, hysterical bureaucrats that suck life out of everyone they touch, doing everything they can to slow the business down, preventing everyone from getting work done. Read more

The Developers that Ruin the Show

“Previously on <TV show name>…”, we discussed how a business can slide into the blame game, where the need for accountability can cause staff to avoid ownership, and where every failing can result in additional processes that produce more cost than benefit.

code-707069_1280We’re preaching the virtues of trust, but as many a broken marriage will narrate, trust that is broken is often never recovered. For every grade-A star, there is a problem developer lurking behind his three monitors, about to ruin the party for everyone. How shall we fix a problem like Maria?

We’ll look at several common party poopers, and I’m sure you’ll even find yourself reflected in one of the categories. I certainly do. Each of these citizens starts with a low level of trust, and as you retrain them and increase their trust levels, you can drop the obsolete processes that originally served as safeguards. Read more

chart1a

Refocus and Revisit your ITSM Stats and Metrics

IT has a huge amount of statistics, but are they just pointless or do they provide a basis for the progression and management of service? During this webinar, we will discuss three distinct approaches that can help us to better manage and control our IT services: delivering the deliverables, performance versus quality, component criteria optimizing. Read more