the business of software

2008.06.11

Business and IT kissing in a tree

Having IT understand what business' goals and objectives are is a very worthwhile exercise in my experience. Listen carefully, and you stand a chance of actually bringing your knowledge to bear in a valuable fashion. However, the incessant "IT must align with business" meme currently being propagated by the industry pundits (the so-called "thought leaders", highly paid consultants, and analyst firms mostly) is starting to wear thin.

Here is an interesting quote from Julian Brownes' amusing and bang on piece (via comments on InfoQ):

I can't write a strategy that dictates the direction of things that are expensive and hard to change, like tools, platforms, applications, and architecture, based on some business dude telling me that next year we're going to leverage key learnings in our core competencies and maximise customer value by augmenting synergy in the value chain.

I think a lot of what constitutes "doing IT well" is figuring out what to prioritize. There are always so many competing things to be done (every one as important as the next), and never enough resources. Listening to the business helps guide the prioritization process. But the other thing to do is to keep your backyard clean. What I mean by that is not allowing the weeds to run over, as it will invariably slow down your other initiatives. You need the ability to make sound judgment calls. If you can do it right, you can respond nimbly to the latest and greatest business direction change.

It also strikes me that this should work both ways, in a "hands across the water" kind of way. Business can help itself by understanding some of the constraints under which IT must operate, as well as keeping up with the latest creative innovations. Witness the slow adoption of collaborative tools such as Wikis, Blogs etc. in the enterprise. Business is only now waking up to how social networking and associated technologies can help them accomplish their goals, while the technical folks have been using them for years.

One last thing. For me, this reinforces the value of good communication skills. Being an effective listener, and being able to express technical ideas to business people, is sadly a skill that not many people have. If you really want to "align with business", get better at communicating. This has the added benefit of helping you in other ways - think upwards (your boss), downwards (the people who work for you) and sideways (your peers).

2007.10.06

MS opens up access to .Net source code

Microsoft went and did an interesting thing - they released some of the .Net framework source code. From a development point of view, this allows you to step through the code when debugging, which is tremendously useful in troubleshooting bugs. It also helps you build new things on top of it, because you understand what it does or doesn't do better.

The code is available under via a "Microsoft Reference License". This says that while you can see the code, you can't copy it, or modify it for distribution. This is really a huge shift in philosophy for MS, who have previously gone out of their way to protect code from being publicly available.

This is an interesting response to perhaps one of the biggest advantages with open source products, and one that I'm paying a lot of attention to given that we are in a similar position with our proprietary, closed source, product. I'm sure our customers would welcome the ability to see the code when building out customizations on our platform.

This also highlights that the real value of a product, particularly framework and platform based, is not the code itself but how it helps your customers achieve their goals. The fact that I as a developer now have access to the source code makes the platform more valuable because I can spend less time learning it and dealing with bugs (be they mine or in the platform). Put another way, providing access to source code does not diminish IP value, but does serve to increase the value proposition of the platform.

More coverage:

2007.08.28

Padding Google

Christine ("she of no blog") sent me a link to an article on Forbes about Google-Proof PR. The premise is that you don't want to let any negative PR get on the first page of Google's search results, so you "pad the web" by creating positive content. The positive links then effectively drown out any noise from the detractors. The article quotes Michael Fertik, CEO of "Reputation Defenders":

"Say you have 20,000 delighted clients and five clients that hate you," says Fertik. "We'll tell your story on the Internet and find press about you and start promoting that to the top of the Google chain. It's very Internet-specific PR, a very different game."

It is an interesting idea, but I'm not sure I agree with it. The voice of your 20,000 delighted users should easily quell any disquiet from the 5 clients that hate you. Reputation Defenders will also contact people asking them to take down the bad press, but I can't imagine many people would be inclined to do this, as there is no reason legally they would need to. In fact, you may run the risk of exacerbating the problem.

For a bit of a laugh, I ran a search on Reputation Defenders to see what was in the first page of results. I found:

The web, at this adolescent stage of maturity, is struggling with how to handle the complex issues involved in privacy and reputation management. My friend Michael O'Connor Clarke talks to some of the interesting ideas currently percolating around in his "Web 3.0 and Personal Reputation Management" piece. One point that Michael makes that I agree with wholeheartedly is that "no vendor (or government) can own it."

Now, I wonder if this blog entry will ever appear on the first page results of a search for Reputation Defenders...

2007.05.04

6 Ways From Sunday

Lots of noise about the new RIA toy from Microsoft (and comparisons to Sun/Adobe's efforts) buzzing around at the moment. I don't want to add to that particularly, but found this post  by Mark Pilgrim particularly funny, and on point!

"Well, somebody’s getting richer, but I doubt it’s gonna be the web"

2006.08.10

More ECM market consolidation

What is going on in the Electronic Content Management market these days? FileNet just got swollowed up by IBM, as did OpenText acquire Hummingbird.

I buy the "own the imaging market" argument for IBM taking out FileNet, but $1.6 billion? Must be a bigger market than I expected. But, I'm not sure there isn't room for a lot of innovation there as well, so the ROI could be risky.

I can't imagine the Hummingbird  acquisition being based on product synergy. PC-Docs Docs Open seems tired so the OpenText acquisition is ponderous.

Greater forces at work than mere mortals such as I can understand I expect.



2006.06.30

Much Ado About Identity (or not)

The schadenfraude is kicking in now. It seems Google is no longer beyond reproach, as it announces a new Identity API. In this comparison piece against the Microsoft version (Live ID) (via Dare), the writer compares the distributed identity and trust model that Microsoft has been evolving over the years against the centralized Google model. The problem with this that I see is that it is not comparing Apples to Apples. Google is simply providing an API that allows other services or products that integrate (via Mashups for example) with Google to utilize a common authentication mechanism. Yep - it is a closed system. Does it mean there isn't a path for something else that does interop or a federated implementation later? - nope. It seems to me that Google has simply done the simplest thing that could possibly work first.

2006.05.03

Java still has legs

Don Box takes the position that Ruby is a competitor to Microsoft in this blog post: Gosling on Ruby. He goes on to comment that "Java will take its rightful place as the successor to COBOL"

Java still has legs. The reality is that it will be quite some time before I could sell a Ruby based product to our customers (top tier financial organizations). Why is that? Well, simply put, the IT folks in these environments have a lot of things to worry about, and proving out a platform is not something they would relish. Java is the devil you know, versus Ruby as the devil you don't.

Having said that, I think a lot of the love Ruby is getting these days is because of Rails (and therefore by extension the Active Record pattern). Maybe the real competitor to Microsoft is not the language per se, but a simpler platform for building out web apps than what .Net can offer.  That leads me to wonder what the commercial implications of getting Ruby running on the CLR are, and why MS hasn't picked up the ball and run with it yet.

Ironically, I don't think RoR impacts the Java community, which has a history of embracing choice when it comes to web frameworks, in the same way. It certainly isn't a stretch to imagine that somebody isn't going to port RoR to Java pretty soon, or at least build the next web framework based on the ideas of convention over configurability.  There has also been some good movement in supporting Ruby on the Java VM lately.

I've been meaning to check Ruby out - I'm interested in what the fuss is about, especially with the "continuation" idea. But you know, I keep hearing about the problems people are having, and deployment is a pain, and there is no IDE, and... Wait a minute, this reminds of that old joke: Hey Ruby, 1995 called and it wants its "hype around a new language" back.

Update 2006-05-07: Ted Neward has posted some interesting observations around this thread here.

2006.03.01

What's in a name?

You've got to wonder what the marketing folks over at IBM are thinking: IBM Issues Press Release of Its January 31 System i5 Announcement. Since I first came into contact with the AS/400 in '96 there have been numerous name, brand and message changes. First it was the "AS/400", then "iSeries" now "System i5". It seems ironic that the '400 itself has a good reputation for stability and reliability.

Perhaps a beating with the clue stick would be useful. Hey IBM, I'm no marketeer but I'll give you a new tag line you can use (gratis what's more!): "ix/400 - the system you reboot every 5 years (but have to change the labels on every 2nd year)".

2006.02.20

Mashups Considered Harmful?

Over the weekend the Karora folks got together to talk about "product stuff". I enjoy these types of things, as pretty much everything is up for discussion, without that nagging "reality" constraint  rearing its ugly head.

One of the topics that came up was the idea of adopting the "mashup" concept that the Web 2.0 crowd is so enamored with at the moment, and applying it to desktop integration via AppConnector.  For those who haven't encountered it yet, a mashup is a hybrid web application that uses open APIs to bring content from disparate sites together seamlessly. Its genesis was from the music world (known as "Bastard Pop" on wikipedia). The prototypical mashup site is HousingMaps, which combines craigslist.org with google maps.

While mashups are interesting technically, the problem has been how to build a business around it. There is an excellent discussion here: Some Problems with Mashups. The good news for Karora is that the problems identified here apply to web apps. When you shine the light from the perspective of a) a desktop native integration tool, and b) a product whose focus is business instead of consumers, you come up with some compelling goodness.

Here is how:

  • Can you add value? AppConnector adds value by making complex processes simple. For example, one of the most common things people do with AppConnector is add a button to a toolbar that brings up documents associated with whatever I am looking at when I click it. Think about it for a moment - with one click the user can bring up related documents without having to copy and paste, or alt-tab to another application (assuming it is running in the first place). It makes the users life better, and increases the value of the underlying applications.
  • Can you build real applications? Being a thick client tool, AppConnector doesn't have the technical issues that web applications have. Want long running transactions and state? No problem - the entire PC is dedicated to the user.
  • Consumer processes are simple. This one hits the sweet spot for AppConnector - it excels at making complex business workflows simple from a user point of view. It is also simple from an integrators point of view incidentally.
  • Consumer business models are tough on mashups. This gets to the heart of the problem for web based mashups - who pays? For AppConnector there are a number of ways the underlying systems are licensed. If you have purchased an enterprise license, you would want to be be getting more value out of it so that works well (provided you have the infrastructure to deal with the increased usage). Per seat pricing gets a bit iffy, as you would require more seats.

Now, I'm not sure using AppConnector to integrate desktop applications can still legitimately be called a "mashup" per se, but what the heck it sure would help a lot of IT departments achieve their goals "quickly and dirtily". So, I'm all for it - let's mashup the desktop!

2005.08.20

Agile Business Methodology

Agile Methodologies make sense to me for software development. The Agile Manifesto is worth a quick look (and of course it is succint at only one page long).

Here is the gist of it:

  • Do the simplest thing possible (don't over engineer a solution for problems that don't exist because there is a good chance  YAGNI).
  • Show measurable progress by delivering early and often. That means get a unit test to pass, or showing a screen to the customer as soon as possible.

While Agile was envisioned as a way to build software, the ideals can be applied to running the business: Dante - On Being Agile. I agree with this premise, even if the business visionaries don't realize they are "being agile". I've been in two software companies that started life as horizontal technologies (document management and project management), but morphed into vertically focussed solutions as soon as some customer success was realized (insurance claims processing and compliance respectively).

I think the trick is getting people on board with continual improvements with respect to tweaking the way you work with the client. You hear comments like "we've always done it that way - why should we change?". The thing is, your client is changing regardless of your involvement. Personally, I see change as an opportunity. An opportunity to improve the relationship with the client; and an opportunity to improve the value of your software to the client's business.