Saturday, December 8, 2007

Scrum, agile, waterfalls, iterations....

SDLC or the Software Development Life Cycle has taken many forms over the years. From the rigid and carefully documented step by step approach common to mainframe programming shops through to the more versatile "Rational Unified Process" of the Nineties. Now we are really seeing something else starting to make inroads in a formalized way.

Agile process coding is not new, it appeared first in the code slinging days of the early Internet. Throw up a web site, does it work? No, change it and try again. All in the context of continuous user review and feedback.

More recently with the standardized Agile models like Scrum taking off, we are again searching for the best, quickest and of course, cheapest ways to make applications work the way they are expected to.

Our recent experience with Scrum shows it can deliver, in smaller projects at least.

The repeated review cycles, the weekly or bi-weekly sprint reviews and poker sessions (not Vegas poker but a session where people put up estimates based on how long a 'story' will take to complete) the constant reprioritization and the daily standup meetings all have great value in getting things out the door.

Where things seem to come apart, a bit anyway, is when you try and create a project plan (I use MS project) and locate the start and endpoints for feature creation on the plan.

Given the way Scrum keeps moving things around and the apparant freedom from other constraints which may not be well articulated in the poker sessions but are very real from a deployment perspective, the larger projects with lots of moving parts are not so well served by Scrum. At least this is the perspective I have gained so far.

While Agile seems to play very well in an environment where multiple iterations and a get-something-up-quick attitude are key business drivers, it has yet to be proven a good way to build mission critical systems that pay the bills, calculate your ATM balances or process your medical claims.

On the other hand, those system are still almost exclusivley huge legacy code mountains of COBOL, BAL using IMS/IDMS data files and nothing so far extant will change that.

Sunday, December 2, 2007

LinkedIn Stories

Ongoing research into the value of social networks and, more specifically, how we can use them within the professional organization led me to reach out via LinkedIn and ask the following "If you have a good story about how LinkedIn helped you do something I would appreciate if you could share it.”

The response rate was quite good and the responses insightful. There have been many anecdotes that illustrate a great deal of utility to some people along with others who responded they could not see the point and after creating an account had stopped using it. This seems fairly consistent with the model of early and late adopters of a service or technology.

Correlating the low-use anecdotes with service professionals, it seems that many professionals who network well offline are simply uncomfortable doing it online, for now anyway.

Here are a few of the more interesting stories that came back:

1) “For me it has helped me establish some contacts that I had in the past, but lost contact with. I also see it as a better tool for managing contacts, because if a contacts information changes they update the information..”

2) “I helped IBM come up with a fix for a big bug in the smart upgrade process at Lotusphere 2007. A guy who was working for IBM wanted to get a hold of me, found a mutual co-worker through his linkedin list of resources who knew me and the fix. They contacted me via the interface and I returned his call. I was able to pass on the fix to this guy which helped him upgrade to V7.”

3) “I hired a team member after receiving the monthly LinkedIn "updates about people in your network" mail, which stated that he updated his profile.

Since he used to work for another department at my firm, I called to ask if his profile update indicates that he is looking for a new job, and indeed, he was on his way out... so thanks to LinkedIn we were able to keep him with us.”

4) “LinkedIn has been very useful for me from a business development perspective. I've been working on increasing the distribution of our content with wireless carriers and LinkedIn has helped me find great contacts at the carriers through my existing contacts.”

5) “It amazes me to see how many people I can reach through 2 degrees of separation and 3 degrees of separation. My personal business network expands from 90+ people to over 1 million individuals.

It is up to each one of us to utilize that network to find a job, to find a new client, or a deal.
I am a convert to Linkedin which I check every day. I have benefited from it by expanding my business reach by a factor of 1000 “

How can we provide tools of similar utility within the corporare world?

Do the measures of usefulness that apply across organizations apply within the organization and specifically which ones..?

This is the challenge but there are many ideas beginning to form which I hope to share with you here shortly.

Thursday, November 22, 2007

KM World, San Jose, 2007

I had the chance to get out to San Jose in October and attend the now very large and impressive KM world held over four days in the San Jose convention center.

While in San Jose I was lucky enough to run into a number of very interesting speakers including David Snowden, Ted Graham and Charles Armstrong.

David Snowden of Cognitive Edge is a leading light in the field of cognitive science. His two keynotes were perhaps the most inspiring and stimulating professional presentations I have seen in years and, delivered in a deadpan take-no-prisoners style, he kept his audience thinking furiously for 90 minutes while he expounded broadly and authoritatively on a vast area of cognitive expertise that covered things as diverse as classification systems, Australian Aboriginals and the London water utilities.

The thread of continuity woven into all of this was the current state of understanding how people learn things.

In terms of KM this is important because on reflection we can probably all agree that KM per se does not actually have a foundation theory of learning upon which it is based and on further reflection, we can see what an obvious deficiency this is for the field.

The ideas presented in these Key Notes went a long way to helping understand this missing component. Primed by the host to be provocative, Professor Snowden most certainly was. I simply could not write fast enough while also trying to listen and understand what was being said.

If you get the chance to hear him then you must not miss it.

Ted Graham is a McKinsey consultant currently but he was in San Jose presenting on work done for his previous employer (a large publishing company) including the development of their Intranet and the lessons learned that came from it.

The thing that struck me most about Ted’s presentation is how the publishing company measured the success of their Intranet: it was success not based on how many times a benefits form was downloaded or how much time was saved by posting Yankees tickets for sale, not even in the value of having a standardized people finder, no, they measured success by how much the site got people talking to each other. Just as simple as that.

This had me thinking because it is a fact that while we schedule our professional interactions with a degree of physical-presence agnosticism, we also recognize that there is no substitute for sitting down with a person in the same room and talking to them face to face.

Promoting this particular type of interaction was the thing this Intranet’s success was measured by. I thought that was a revelatory approach though it took me a while to appreciate it.

Charles Armstrong, founder and CEO of Trampoline Systems in the UK gave a fascinating talk about how to track complex relationships within groups of people and the path that his company is taking to develop tools to do this.

I had coffee with Charles later and his former career as Ethnographer (I had to look that up) had resulted in his needing better tools for the purpose and so Trampoline was born. What seemed like a small opportunity in a niche market had grown substantially as it became clear there were a great many organizations focusing on the same sorts of fundamental questions but within the organizational structures of business.

The main principle at work here seems to be that if we accept the premise that the more people connect and leverage their social networks, the more efficiently they can get their jobs done, and by extension, promote the objectives of their job and thus organization, then we can also see that mapping these connections will provide a valuable insight into how an organization is performing at any time and might provide key insights to when it is not.

This is not such a new concept of course and there is legacy research going back several decades on the topic. What is new is the development of rules-based mapping tools that can create compelling graphical models of these relationships in all their complexity.

Additionally, as a growing amount of interconnectivity is via email, the opportunity now exists to use email traffic measured between individuals, departments and organizations, and loosely classified by subject, as an indicative proxy for how all these entities relate to, and interact with each other.

Email is one of the data sources that Trampoline has been using when working with clients to create the data points for network mapping. We saw a number of examples of how the tools represent data in an easily understood manner and also how the output of these tools can lead to some very interesting inferences about how well an organization is connecting within it's constituent parts.

I expect we will be hearing more about these sorts of tools and how they may become organizational management decision support tools just as data warehouses once spawned a suite of tools catering to management decision support.

The move to mainstream business acceptance will have arrived when these tools show up in Businessweek as 'must haves' for the proactive COO.

This seems to be a great example of how data, and very raw data at that (emails) can be turned into Knowledge by the application of the right perspective, new tools and an increased demand for a measurable way to manage organizational efficiency.

Thursday, November 15, 2007

Email 2.0

We leave a stream of digital evidence behind us all day and every day in both our professional and personal lives. Email is the most ubiquitous source of this and so from an organizational mapping perspective it is a logical choice for harvest when it comes to tools like those developed by Trampoline systems and others for mapping networks.

However, this is a very forensic view of the world and, while really useful in fact-gathering and analysis, misses the extraordinary possibilities that arise when we move some additional smarts into the basic email client for real time analysis.

Here are some thoughts that have occured to me as I process the daily email load, thoughts about how email should work given how much better we have made everything else.

Right click on any email would tell you (in some easy to visualize way) what thread this mail was from; who else was on it; what threads had spawned from it; which spawned threads had ended and which were still active; where in the thread this particular email was and what your current status on this thread was; are you remiss in replying, by one cycle, by two etc etc.

In another view, a click on your inbox would show you every open thread you had, which ones were open longest and were most urgent.

This would have the additional value of being also able to actively alert you (if you so choose) to open threads, possibly auto categorized by priority based on your current projects. This last determined by a simple subject matter analysis algorithm always active on your inbox.

Further to this thought, when the email client had figured out the likely content matter of the message it could possibly discern if there open tasks or questions in the email that pertain to you.

This in turn would allow it to build an Action Items list that would contain things like "Important Invitations I have not responded to", "Questions from key people I have not responded to" and follow up items from yesterday's project meeting needing action today.

It would also allow you to create connections between threads manually so you could create a working messaging tree for a project which would in turn mesh with a social network tree.

How and when this sort of thing will come into being is uncertain but, the subject is a very interesting one as we seek to establish more ways to understand how our virtual connections with others operate.

This would in my view be Email 2.0

Tuesday, October 30, 2007

Change in the wind...

The world keeps turning but technology seems to turn faster than ever.

The last few weeks have seen some very interesting things in the mainstream news, for example I read that Microsoft is giving up the antitrust battle in Europe.

I read that Internet Explorer 7 is being downloaded by millions who suddenly find most things that used to work do not any more because the new security settings are so complex and arcane and set so high by default that normal activities are blocked.

I read Walter Mossberg (WSJ October 25) thinks Vista is a clunker and the latest Mac OS 10 release (is it Leopard or Lion or Panther or something) is twice as fast, much easier to use and has much better features.

I read that Google is planning a phone and is busy looking to buy spectrum to service the phone because they don't believe that they can do business with the carriers of today.

I read Mossberg (WSJ October 23) taking a stand against the carriers in a 24 gun broadside titled "Free My Phone" in which he decries the rigid, monopolistic and anti-competitive stranglehold the carriers have on the mobile phone services we pay way too much for today. On this one we have my Motorola SLVR-toting middle-schooler and all his friends in vehement agreement.

I read that Apple having locked the visionary iPhone to ATT are now starting to feel the pinch from fans for this move and also seeing the phone get hacked to unlock it. Case in point, the small phone mobile phone store down the road from my office in midtown Manhattan has a proudly displayed sign "iPhones Unlocked Here", a sort of new age cottage industry.

In Europe of course, phones have been "Free" in this context for a long time.

I read a small PDA/Phone manufacturer is trying to break into the US market because they see the huge latent opportunity created my the current rigid carrier pricing models and limited function devices.

Finally I read that ridiculous valuations, irrational exuberance and major VC investments in tech companies are again the norm in Silicon valley.

What does all this mean?

The big themes; fresh blood (capital) & Antitrust, in my mind are a semaphore to us that a changing of the guard is underway and market forces are again at work dissembling the world we know so that it more closely reassembles into something closer aligned to the world we want...today at least.

Microsoft, once unassailable in the PC market is now seeing slower growth in personal PCs shipped than Apple which has for the first time passed into double digits in this category.

The Mac is clearly superior to the PC as a consumer product but before you start to stammer in fury and rage I want to state here for the record I have been and am still a die hard PC user, have been since the IBM XT. You will note I did not say PC enthusiast. The darn thing has just fallen way behind the user experience curve.

I think Microsoft will continue to sell into the corporate market simply on it's own momentum and long history there but as a consumer option, the writing is on the wall.

Friday, October 12, 2007

Do You Know Ruby..?

Has anyone started using, I mean REALLY using Ruby on Rails for an enterprise KM deployment?

I had run into this question a few weeks into a new project to try and re-platform an ailing Notes application. The evidence was scant but some of our folks had been using it for quick and dirty Skunkworks type projects and a few others even had real Web 2.0 sites up and running but that does not qualify as 'Enterprise'...not in my book anyway.

Ever-interested in how well my peers could help out on this question, I posted again to LinkedIn and here is the history:

Q: "Have you used "Ruby On Rails" as a development tool for a distributed enterprise application project..? If so, your comments and insights would be very welcome. Thanks in advance. "

A range of the answers follow.

1) "I've used Ruby on Rails extensively. While I'm normally a Python/Django bigot, Ruby on Rails has great documentation, and a great community. It allows you to rapidly get your project up and moving, so your time to market is much lower. However, I had two problems. Deployment was a bit cumbersome, and took a little bit more time than I would have liked. As well, the RoR ORM sometimes got in the way more than it helped. Those were definitely issues that I was able to overcome in my Rails projects. " > Software and Consulting

2) "It still is relatively young but very capable and is a natural fit for database-driven web applications. I have every confident Rails can deliver your enterprise application much to your satisfaction. " > Skilled Software Developer

3) "Yes. It depends on what your needs are. I am a professional Rails developer, and the productivity gains from using Rails are unmatched in other web frameworks. Performance and stability-wise, what it all comes down to is architecture. The reality of the situation is that enterprise applications are rarely written in a single language, instead relying on Service Oriented Architectures for communication. Rails has great support for REST XML, and it is fairly trivial to support other standards, such as SOAP XML. " > Software Engineer

4) "Ruby on Rails is an interesting framework; it's well-suited for building end-to-end (interface to database) applications quickly. I'm not totally sold on the idea that it's suitable for long-term, maintainable applications, but I'm not totally sold that it isn't either. It's not the most mature of frameworks, and the plugins available are also not the most mature. The language itself is fairly slow, as languages go, but pleasant to write in. "> Software Development Generalist

5) "I have found the development to be quick and easy. That being said, I think the framework's benefits do not extend well into a mature enterprise. I rarely see many simple web-to-database applications anymore. " >Technical Manager at SunGard Consulting Services

6) "We love Ruby on Rails. Except deployment challenges, the framework is awesome. Keep in mind that RoR is just new and now has got a very large community of developers to it will get better and better. We have been working on it since last 12 months. We have 14 developers working on it now and they have come from .NET and Java background. They don't want to go back working on anything else except RoR. " >Drupal and Ruby on Rails Specialist

7) "Yes, it is a good tool but otherwise not enterprise ready. " > Enterprise Architect

I think that last comment says it all.

In my view Ruby, like all new application development languages, has started out with a strong value proposition that appeals to a certain type of developer and for a certain type of project.

As the uses of the product have grown and it's proponents have pushed it further, the same limiters and constraints that have always come into play (stability, enterprise scalability, security etc) for new languages have arisen and started to require serious consideration if it is to move forward.

In every case of course the way we manage to and work with the limiters is different and, in effect, a brand new architectural framework develops with it's own unique strengths and weaknesses.

Ruby seems to be off to great start but we won't be using it just yet.

Sunday, September 23, 2007

It's all about the context...

So I spent the weekend driving. It was the usual stuff; kids soccer games, a trip to South Jersey, a ride to Costco, play dates, sleep overs, pizza etc etc.

But we had Daniel with us. I call him that because he is called that by his maker, the Garmin Company. At least that is the name they give the voice that my testing has shown to be the easiest to hear over all the noises in the car. Daniel speaks the Queens English, in a sort of Mid-Atlantic way. He has a few problems with some abbreviations not in use in the UK but overall he does a good job.

Yes, Daniel is my new Garmin 'Nuevi' GPS unit recently purchased after another blistering white knuckled disagreement with the dim-witted planners of New Jerseys road signage was soto voced in the drivers seat of the minivan such that the wee ones could not hear it. By gosh what a relief to finally have a fool proof way to get from A to B and C all the way to Z.
Or is it Foolproof..?
My experience so far has been that, if you know a route from A-B through several trips, you may already know more than Daniel does about the best way to get from point to point.

I have, on a few occasions, found myself regretting that I trusted a reasonably-known route to Daniel as I find myself losing time (I think anyway) following his directions. However, he has often found a few shorter ways through difficult routes that I have in the past been reluctant to trust myself navigating so I guess it all comes out in the wash.

The software works pretty well overall but, it has one major point of failure, it cannot easily navigate to a region. For example unlike Google, which can give you a route to a town name; Daniel needs an actual address to do his thing and, often this is just not available.

Based on this I began thinking about the sorts of navigation we really try and achieve. They seem to fall into one of these categories:

a) Home to point with exact address

b) Random location to another random location, IE out driving and need to find the nearest Starbucks

c) Some random point to Home

d) Point to point to point....

In terms of a & c Daniel does well. With d the work becomes a bit onerous but you can create a route with via points that will do the trick.

For item b which is a very spontaneous sort of trip the problem Daniel has is limited resources.

He simply does not have the flexibility to find things by any number of different ways. In a long winded preamble then, we are once again back at the holy grail of Knowledge Management but from a very different route. How do we build things such that anyone can find what they need..?

We have many answers to this in the strictly controlled environment within our place of work but, for the vast majority of other cases in every day life, Google seems to have found a good middle ground and has managed to make a lot of money out of it.

Ideally a GPS unit, like a good search engine, could locate a business by name, type of offering, general location, or even by product. It would be logical that the next level of service for such a system would then allow you to find say, "cheapest tableware in this zip code" or "nearest movie theatre showing 21" or even "closest place to get a triple machiato".

The key thing in all these cases is the assumed context, your current location. This parameter along with the question give the query structure and, when processing our KM search queries we are in the same position of wanting as much context as we can possibly get before providing the answer as this will make the answer valid.

The value of the answers is intrinsically tied to context which, considered in a professional setting may be described in a number of dimensions. For example region, business unit, department and role.

Having these components available at the time of processing a query will help boost the value of the result set so it is no longer just interesting but actually useful.

Finding a uniform model to use in doing this is the challenge of developing a good KM search system.