6th Sense CEO on Microsoft’s Software Factories, Skills and Building Great Software
Microsoft recently announced Glidepath, a program encouraging ISVs to build "software factories" - re-usable software components to automate development. It's hoped these will cut the costs of building software and speed-up delivery. 6th Sense Analytics co-founder and CEO Greg Burnell, whose industry experience includes running TogetherSoft (bought by Borland), here assesses Microsoft's attempt to solve what is an industry problem while explaining the 6th Sense solution.
Q: Microsoft sounds like it's on to something with software factories. What's your take?
A: Microsoft's intentions are good, but the entire concept of software factories is flawed. Software factories fail to tackle the software industry's biggest problem.
Q: Which is?
A: First, let me explain: there's a growing plethora of software architectures and delivery mechanisms. Software teams are trying to figure out the best way to connect users to their technology - do they use a wireless handset, fat client or browser, and lets not forget the renaissance in software as a service. There is also the question of architecture: do you use Java EE, JavaScript or new things like Ruby? In the 1980s and 1990s it was a lot simpler, when it was basically IBM or Windows, and you knew the platform to pick was either IBM or Windows. Now there are different strategies, architectures, assemblies and management processes. You have this soup, and it's up in the air about whether it tastes good.
Q: So how is that a problem?
A: It's actually an opportunity - the new architectures and platforms mean software is even more ubiquitous and has a greater impact on our working and personal lives. Whether its systems to fly a plane, run a cell phone game or plan your company's finances, there's never been more of a need for great software. There's a catch, though: the profusion of platforms and new architectures is accentuating our industry's existing skills shortage. That shortage is hurting the ability of software teams to innovate and has manifested itself in off shoring - companies are sending software development oversees to tap the skills and resources we lack. China and India - two hot off shoring destinations - are also likely to accelerate their lead in new skills. Thousands of students from these countries turn up to training courses on Java and open source technologies that are regularly run by IBM and Sun at the weekend. The weekend: that's when our students can be found playing football, shopping at the mall or on the couch watching TV.
Q: Ok, so tell me, why do software factories fail to tackle these issues?
A: The software factory is an extension of the belief, held by some in the industry, that you can use "process" to solve what I call the gunslinger approach to development. That is, by applying more prescribed, outside processes to in-house workflows you can secure more consistency and reliability in software output. While that's a great theory, what ends up happening is developers get plugged into an assembly line and are treated like battery chickens expected to squeeze our code. In our increasingly diversified platform and architecture world the software factory is as outdated as Henry Ford's Model T assembly line, where you could have any color as long as it was black. Software factories crush the flexibility and creativity needed to build software and meet constantly changing requirements.
Q: So if the way forward is not a prescribed process, what is the answer?
A: Visibility, visibility, visibility! Visibility into what's happening inside software projects is the path towards empowerment for developers and managers. Once you can see what's really happening inside a project you have the ability to act accordingly. Visibility empowers you to, for example, identify your team's lack of skills in a given area and to re-deploy or re-train accordingly. Unfortunately, despite the best efforts of many vendors to sell tons of project management software and "solutions", customers still lack even the most basic degree of visibility. They can't, for example, accurately tell how long their teams are spending building new software versus the time spent maintaining existing applications.
Q: So what's the first step towards empowerment?
A: Metrics. Why? Because metrics are consistent across different time zones, geographical boundaries and skill sets. You cannot argue with metrics. And the key here is to collect metrics on a consistent basis. The value of metrics is in the comparative value - your ability to compare them over time and geographies. Once you do this, you start revealing which methods and process are effective, the skills possessed by your team, and how the software is actually created. Metrics let you build a base line of understanding to measure the effect of any changes you make. Until now, it's been impossible to understand any changes made to software teams' training, tooling, work schedules and management styles. It's been very difficult to quantify and measure the impact of changes without metrics. Metrics are important because they make management feel happier as they can finally measure success. Developers feel better because they get recognition for their efforts. In the past, if management has felt unhappy you've ended up in an endless failure loop. That's why you end up with these pointless studies like the Standish Group's CHAOS Report, which documents the millions of dollars wasted each year in software development caused by bugs and overruns.
Q: What's wrong with existing solutions?
A: A lot of the tools vendors say they are focused on building out lifecycle tools solutions to solve this problem, but what they are really doing is simply building products for the sake of something to sell. Our tools are a byproduct of our passion and our belief in people and their ability to change the world through software. We are not a panacea of the problem. We are an approach, and we are unique. Our software lets you create your own analytics. 6th Sense collects metrics from the developers' desktop. That's vital, because the developer desktop is the same worldwide - there are no dependencies on culture or geography. That means our metrics are consistent. Metrics are then stored on a server where they can be sliced any way the customer wants, giving them the information needed with the results displayed anywhere they want using the ubiquity of a browser. We are not an interface to a business intelligence suite, and we are not putting more tools in front of you. In fact, we aren't putting anything in front of you. Our system simply yields the data for customers to understand what was, what is, and what will happen in their projects.
Q: Why is that important to you?
A: I entered the software industry to build tools that empower people and make people more productive. Software is an exciting place to be. It changes the nature of our world on a daily basis, it transcends frontiers, and connects people. In some small way we are participating in that process. 6th Sense has a very meaningful service. And when you know you have something like that and the ability to make an impact on millions of lives, that's something to get passionate about.
Previous Post:
Driving Organizational Change with Patterns
Next Post:
More Organizational Change Patterns


blkell ( 2006.13.08 10:40 pm )