Spider documentation wiki?

During lunch I ran across an interesting article from CNN Money about Wikipedia and Wikia (a for-profit offshoot).

This got me thinking, could we harness the power of wikis to help us generate and improve documentation for our software? Perhaps we could reformat Joe’s user guide into a wiki format and then anyone within the company or outside the company can improve the documentation with tips, tricks, etc.

Apache has a wiki that has some documentation on it, so that can give us an example of how well (or not well) a public documentation wiki works:

It looks like there’s some information in the wikis, but nothing very interesting. Taking Tomcat as an example, you’ll see that their “real” documentation isn’t on the wiki at all. I think they may have had better luck if they had moved this content to the wiki. Only Tomcat developers can modify the “real” documentation at tomcat.apache.org, whereas Tomcat users (a much larger # of people) could modify the wiki content at wiki.apache.org.

So let’s take this out of the hypothetical and make it concrete: Joe, how difficult would it be to transfer the contents of the user guide into a wiki format? Spider software users: would the wiki format be easier or harder for you to use than the current Word document format? Also, do you think there might be someone in your organization that has particular expertise with Spider software that would like to contribute to something like this?

Burn Rubber, Not Gasoline

I am a car nut. I also love technology. Any time these two industries meet up together, I am a happy guy. Although electric vehicles have had a rocky start the last few decades, it seems that a few companies are making leaps and bounds relatively quietly. One of the more notable, Tesla Motors, has recently been making a few headlines. Imagine a car that has Porsche-like performance, Lotus-like appearance, yet only costs about a penny per mile to drive.

Tesla Roadster

It is by no means the cheapest electric vehicle choice out there, but very well may be the most practical to date. The motivating factor behind this is the Tesla’s incredible range. The company claims a 250 mile range before needing a recharge. That takes this from being a limited commuter car to a practical second vehicle. You still can’t reasonably drive it across the country, but there aren’t many people out there with the need to drive more than 250 miles a day. All you have to do is park it in the garage at night, plug it in, and it’s ready again for you in the morning.

Electric vehicles aren’t necessarily better for the environment, but they can be. It all depends on where your electric company derives its energy source from. If they are using hydro, wind based, or other environment friendly means, then the Tesla Roadster effectively becomes a zero emissions vehicle, reduces our dependency on petroleum based fuels, and ultimately makes the world a better place for our children. The roadster is currently sold out for 2007, and orders are already being lined up for 2008. Not everyone will be able to afford one yet, but as they become more popular and mass-production options bring the initial cost down, don’t be surprised if you see one next to you at the stop light. Don’t worry though, when he leaves you in the dust, it will be a much cleaner and quieter experience than you are used to.

Test as Side-effect

I sometimes regard the term “unit test” as unfortunate. It’s certainly important that test cases actually certify your code, but in many ways I’ve come view that as a pleasant side-effect.

For developers unfamiliar with unit testing, the “test” aspect might be a tough sell. After all, they can actually see their code working once they’ve deployed their application. Indeed, prior to being hired at Spider Strategies, I found I had to disabuse potential employers of the notion that my unit testing experience was solely a function of QA.

For me, the less obvious benefits of unit testing are the more profound. Chief among them, it allows you to be more intimate with your code. One of the essays I enjoy in Getting Real is “Code Speaks”. Being metaphor-minded, I savor the conceit of listening to one’s code.

Allow me to stretch it to an absurd degree: if you’re waiting until you’ve deployed your application to listen to your code, it’s akin to having it shout at you from across the street. It’s much better to engage in a conversation with your code when it’s sitting nearby. In any good conversation each party can interrupt, correct, and acknowledge. Unit testing provides just that level of intimacy.

If you’re coding your test and find yourself having to create a dozen mocks and stubs, your code is telling you it is overly coupled. Once I found myself needing to mock the very class I was testing so that I could simulate a method invocation that took place in the tested method. That was my code telling me it was time to extract class. It has become accepted wisdom that tests should inform one’s design, and I’m glad for it. Code that is hard to test is generally accompanied by that foul odor with which we’re all familiar.

Do my test cases actually test? I suppose they do, in the end. But much like my IDE, I regard unit testing as a tool that allows easier software development.

What business model is dead?

I read an interesting blog the other day: The software business model is dead. May it rest in pieces.. Of course, I’ve been reading similar things for a number of years. However, this one caught my attention because it struck me as not simply about the software business model and also about the “performance management” business model.

According to the Wikipedia, “Corporate performance management (CPM) is a concept introduced by Gartner Research in 2001, which “all of the processes, methodologies, metrics and systems needed to measure and manage the performance of an organization. and that is the way that I used to think about it. I don’t think I’m the Lone Ranger in that respect. If you google “Corporate Performance Management” you’ll see all of the usual suspects competing in the Business Intelligence, Database Management, Data Warehousing world advertising their approach to CPM.

Today, I don’t think of it that way. After almost ten years of working with companies trying to improve performance through better project management, six sigma, quality circles, BSC, process management and more, I’ve come to appreciate that managing performance is, at its core, about people.

That is why this article struck me as succinct and to the point. Go back to the article Ray Lane: Good riddance, software business, and take note of some comments he makes about the software business in general:

  • we’ll see fewer…and far more user-generated and user-driven applications.
  • collaborative environments, and mobile capabilities are the types of applications a new generation of users expects
  • Now, it’s about collaboration. We’ll use the power of individuals for the benefit of the enterprise.

The emphasis is not on the software, it is on what the software is supposed to do! It is supposed to empower people to work smarter, work more efficiently and “benefit the enterprise”. In other words, it is supposed to empower people and the enterprise they live in to positively affect performance.

When I read these posts, I can hear echos of lines from TS Eliot’sThe Journey of the Magi,”

“This: were we lead all that way for
Birth or Death? There was a Birth, certainly,
We had evidence and no doubt. I have seen birth and death,
But had thought they were different; this Birth was
Hard and bitter agony for us, like Death, our death.
We returned to our places, these Kingdoms,
But no longer at ease here, in the old dispensation,
With an alien people clutching their gods.
I should be glad of another death.”

I remember back when I was writing code, before I moved into “management”. It was 1972 and I turned in my code in stacks of long brown boxes with each line on a single punch card. I also remember that day when the Wang guy stopped by the lab with this strange device that saved code on cassette tapes.

Each step along the way in the evolution of software is both a birth and a death, but not just for the software business model….

Web 2.0, meet Business 2.0

As a gadget lover, the Consumer Electronics Show (CES) is my annual awards event of choice. Others can have the Oscars, the Grammys, and all of the Pageants combined. For me, it’s all about what new gizmos are coming out that are going to make my life easier, happier, or more productive.

This year was no different. Although life always seems to prevent me from attending, I followed the highlights from the 2007 show in Las Vegas on both CNET and the CES website. As you can see from the list of 2007 Award Winners, these gadgets are all about making life more enjoyable and perhaps even a bit more productive. CES 2007 highlighted everything from a fully voice-activated control system for your car, in the Ford Sync (through a Partnership with Microsoft), to a PDA/Smartphone designed to play TV programs.

Really? TV on a cellphone? Well, this, coupled with Steve Jobs official introduction of the Apple iPhone at Macworld 2007, got me thinking about mobile productivity in the next 2-3 years. Looking back, the last 5 years have brought the onslaught of the Blackberry, Treo, and other PDA/Smartphone generation. These devices have allowed us to get away from our desks (although never away from work), by bringing our email, documents, presentations, and even the web right to our pockets. And now, it seems, TV, videos, music, and more.

So, as the technical world and the business world further collide, will more business be done via hand-held computers? Perhaps the V- Cast and iPhone don’t convince you. But, how about the new OQO Model 2? This is a palm-sized mobile device with the specs of a PC (1.5GHz CPU, 60GB HDD, and 1GB RAM, the model 02 computer supports Microsoft’s next generation operating system, Windows Vista).

Well, since we here at Spider like to be out ahead of the curve, this got us thinking: “How are we going to embrace this new Mobile Generation?” For starters, we modified this very blog page you are reading to make it accessible via mobile-internet. That’s right, your favorite blog is now available anywhere, anytime right from your mobile device.

Treo

But, that’s not all. It’s one thing to make your Blog available via mobile internet; In the next several months, Spider will be looking to integrate mobile accessibility into our products. Meaning you would be able to access our Corporate Management Suite via any web-accessible PDA/phone.

We’re just getting started on this, but we are extremely excited about the use of this technology and what it will mean for our customers. In the mean time, if you have any ideas or suggestions on mobile-web applications, we would love to hear them.