Friday, 19 of March of 2010

The Three P’s of Enterprise Collaboration

Purpose, people, and product are all intertwined and interdependent. They are the three legs to any successful enterprise collaboration solution. Without all three, your deployment is doomed to fail.

You’ve heard of the 4 P’s of Marketing (product, price, promotion, placement). Here are the 3 P’s of Enterprise Collaboration. If you are considering introducing social media to your company, then make sure that you cover your bases with each of these P’s before deploying in order to avoid abandonment.

Purpose: people are purpose driven. Without a clearly articulated reason why they should participate, they won’t come back no matter how easy or intuitive it is to use. Make sure that your solution delivers, in as simple and concrete terms as possible, the value proposition with every touch point.

People: the whole point to social media is to leverage people’s needs to be social so what good is it when there isn’t a safe climate of mutual respect in the community? Don’t release without a healthy community management component in place. A good community manager exerts a subtle guiding hand to keeping the discussion aligned with the purpose without being perceived as too authoritarian or draconian.

Product: workflow, touch points, and Information Architecture all need to coalesce into a synergistic whole that supports both people and purpose. Don’t risk including features that are not strategically aligned with the purpose as it dilutes the identity of the community.

Purpose, people, and product are intertwined which is why it is smarter to deploy with a limited and focused vertical integration of horizontal collaboration components,  framework, and platform that specifically targets the market segment being served.

Here is an illustrative sample report card of some online collaborative spaces with regards to how they rate in terms of purpose, people, and product.

Stackoverflow, Business of Software, and My Solution Spot report card

Stackoverflow, Business of Software, and My Solution Spot report card


5 Lessons Learned About Enterprise Collaboration

Enterprise Architects, Solutions Architects, Software Architects, key decision makers, project leaders, and knowledge workers can learn to leverage enterprise collaboration more effectively by attending this presentation.

The enterprise collaboration space is heating up. Sometimes called Enterprise 2.0 and sometimes called social media, a lot of executives and key decision makers are attending conferences about collaboration. High profile think tanks are starting to advocate for the enterprise to get social. Even mainstream companies are starting to see compelling value in adding more collaboration to their portals. Collaboration is also starting to gain more positive traction in the press, too.

So, don’t be surprised if that announcement of a new company wide collaboration initiative hits your corporate in-box one day soon.  Architects, project leaders, and knowledge workers need to prepare for that day. Here are 5 lessons learned from a software vendor with two collaboration products already released and a third one on the way.

  1. Stand on the shoulders of giants. Study those companies who have gone down this road before you and have succeeded in their efforts at enterprise collaboration.
  2. Be prepared to change the way you do business. Chances are that your organization will have to change some of its behaviors in order to really reap the full benefits of enterprise collaboration.
  3. Increase your collective IQ. Get smart about collaboration by harvesting the knowledge that such activity can yield.
  4. Email is your enemy and your friend. There is going to be this love/hate relationship with email. People are habituated to using email so it is a really effective touch point for re-engagement; however, email is not very effective when collaborating over documents or engaging in collective decision making.
  5. Get flat. Companies with a flatter organizational structure tend to benefit more from enterprise collaboration than those companies whose org charts look like the Eiffel Tower.

Intrigued? Want to learn more? I will be giving a presentation on this topic at the IASA – ITARC E-Summit: The Age of Collaboration at 1 p.m. CST on March 11, 2010. This summit is virtual so you can attend from your desk and registration is free.


Confessions of a Knowledge Worker

These nine mission critical skills become the new baseline of workplace literacy for knowledge workers in both the social web and the virtual enterprise.

I confess that I’m a knowledge worker. I work with clients from all over the world.

You may be asking yourself how that is possible. Isn’t it better to be working with someone local, where you are both in the same room, when doing anything as complex and elaborate as software development?

It is true that communication between knowledge workers is key towards advancing any complex project and that non-verbal communication is an important part of the mix; however, the most important part is the level of talent, expertise, creativity, and intelligence of the team members. If you can’t reach the level needed to get the job done with local talent, then you have to consider going remote.

That explains why distributed version control systems such as git, svn, and tfs are so popular. Many software development teams are geographically distributed.

That is why today’s knowledge workers must hone new skills to compensate for the fact that they are not in the same room as everyone else.

In the old days, workplace literacy didn’t go too far beyond reading and writing English and the ability to add up a series of numbers. With the PC explosion, office productivity skills such as word processing, presentations, and spreadsheets were added to the list. Then came the Internet and email and the ability to fill out web forms became part of workplace literacy.  Now, with the advent of the social web and the virtual enterprise, a new set of skills become part of the baseline workplace literacy list. Add these skills to your repertoire or risk becoming obsolete.

  1. Password management a knowledge worker has to move between so many social web sites these days that password management is a must. It will not be possible to use the same password for every site and it will also not be possible to memorize all those user names and passwords. Some kind of password management strategy must be in place.
  2. Chat, blog, and discussion forum etiquette email etiquette is no longer enough. The ability to conduct yourself appropriately in virtual communities is de rigueur.
  3. Communication modality and distribution channel selection is the choice of proper medium for any particular communication. You have something to say. Should you write an email, comment on a blog post, tweet, IM, telephone call?
  4. Writing style in the old days just meant telling the complete story through why, what, where, who, which, when, and how. In addition to that, you must fit the writing style to the medium. Emailing, blogging, and micro-blogging require completely different writing styles.
  5. Taxonomy skills are not just for librarians anymore. The ability to tag content and to extract meaningful keyword search queries is very important to knowledge work.
  6. Profile management in the old days, meant not having any drunken pictures of you on facebook that someone could Google. Now, it means managing your own personal and professional online brand and all that entails.
  7. Relationship building was always necessary for salesman. Now, these type of skills are needed by all knowledge workers. The ability to find commonality, to relate with people, and to build trust given only a limited amount of cues is critical.
  8. Sensitivity skills must compensate for the lack of visual cues. We use body language a lot for determining the emotional content of a message such as humor, irony, or cynicism. Can you read between the lines?
  9. Telepresence is how you come across on a web cam. Also, consider logging some time in Second Life to learn the basics of avatar management in a 3D virtual worlds environment.

Six Keys to Managing Project Risk

Sometimes an enterprise will engage a big budget initiative without a clear articulation of the strategic goals for the initiative. That is always a recipe for failure.

Many software development projects fail. Why is that so? Well, one big reason is lack of risk management. What is risk management?

I would imagine that almost anyone has an understanding of what the word risk means and that there will eventually be undesirable consequences if you do a lot of risky stuff. On the other side of the spectrum, there’s the old adage that nothing ventured means nothing gained. Risk management is kind of like that. Too much risk in a project puts it in jeopardy. Too little risk in a project and it becomes irrelevant. Risk management is all about finding the middle path between too little and too much risk. The key to risk management is in learning how to measure risk. The best way to learn how to measure risk is in exploring how to measure ROI or Return On Investment as the two are closely related.

ROI for IT can be hard to measure because a lot of what IT does is what is known as the cost of doing business. It’s not so much a question of can you afford email as it is a question of can you afford not to have email. The ROI for software development that is reactive (i.e. process automation) needs to be measured in terms of cost reduction. The ROI for software development that is proactive (i.e. new product line or market) should be measured in terms of that increase in market share or sales. This becomes problematic because maybe market share or sales were going to increase anyway. Believe it or not, one of the biggest barriers to measuring ROI is in identifying the strategic goals for the project. Sometimes an enterprise will engage a big budget initiative without a clear articulation of the strategic goals for the initiative. That is always a recipe for failure.

Here are some more easily measurable indicators that can help you learn how best to measure risk in a software development project.

Release size correlates directly with risk. The bigger the release, the longer it takes to develop, the longer you go without customer feedback, the more likely your software becomes irrelevant.

Requirements churn correlates directly with risk. The more changes you permit in any single release, the more likely you are not to make your implementation estimates, the more the ship date slips, the more disappointed your customers become.

Technology churn also correlates directly with risk. The less familiar your developers are with the target deployment technology, the more likely they are to make mistakes or misunderstand the architecture, the lower the quality of the software.

There is another concept of risk that becomes relevant to large IT efforts who maintain multiple product lines or project initiatives. It is the risk that comes with managing an application portfolio. Financial institutions understand this type of risk very well because it is the same type of risk that comes with managing a stock portfolio.

When you sell a stock, you need to re-invest that money but where? If you re-invest in what appears to be the stock with the highest ROI at the moment, then you may miss out on a better opportunity that you will discover later on. If you wait too long looking for the best opportunity to re-invest, then you will lose money holding the capital in a lower gain yet more liquid-able vehicle.

The same is true for managing multiple applications/projects. Which project or projects should you divert the most resources into? Well, that would be the projects with the highest ROI. But ROI isn’t fixed. It changes over time. If you go ahead and commit resources to a project too soon, then you miss the opportunity to quickly develop others whose ROI may eclipse those of the projects you initially identified. If you delay committing resources too long, then those resources are being under-utilized which is also wasteful.

Measuring ROI, identifying strategic goals, managing release size, managing requirements and technology churn, and portfolio management are the six most efficacious steps towards managing project risk.


Google Wave Caveat Emptor

Join me as I document our exploration and discovery of all things Google Wave Preview Edition; the good, the bad, and the ugly.

My last post here was all about how software vendors and online franchises can integrate with Google Wave in their web applications. This previous blog entry wrote up the research results from our participation in the semi-private beta of Wave which is what Google called the sandbox. We have also planned a new release of Code Roller that integrates with Google Wave.

As a prelude to this new release of Code Roller, we deployed a new release of Cogenuity that integrates with Google Wave. This time, the integration was with what Google calls the preview which is different than the sandbox. In the sandbox edition, you are by yourself and are just testing the basic functionality. In the preview edition of Google Wave, you can truly collaborate with others.

For the purposes of clarifying a common misconception about this preview edition, permit me a momentary aside. There has been much buzz in the blogosphere about Google Wave invites. At the end of September, Google sent out 100,000 invitations to the preview edition. Each of those invitees got to nominate 8 other people. The popular press has blurred the original invitations with this nomination process. There is no guarantee that someone who has been nominated will get an invitation; however, all of the people that I nominated did eventually receive invitations. You just have to be patient.

Anyway, where was I? Oh, yes. The Cogenuity integration with Google Wave preview edition revealed some subtle yet potentially frustrating gotchas or difficulties in the end user experience. Cogenuity is a collective social intelligence platform where groups of contenders proffer solutions to a challenge issued by a promoter. While using Cogenuity with certain browsers and operating systems, access to the  embedded wave would be inappropriately denied. I suspect that the problem was in the subtle differences that the various web browsers implement cookies.

There is a long history in the web where browser vendors release a web oriented technology whose best end user experience occurs in their own web browser. Microsoft Internet Explorer had its ActiveX. Mozilla Firefox had its XUL. I have no idea if this is Google’s intention but, for right now, Google Wave works best in their own Chrome browser. It doesn’t work at all in Internet Explorer and your results may vary when using either FireFox or Safari. Is Google intending to leverage Wave in order to increase the market share for Chrome? Perhaps it is unfair for me to hold Google accountable for web browsers that they are not responsible for.

I recently read a pretty interesting piece entitled Google Enterprise Strategy Starts with Google Wave which is about how Google is going to go after the enterprise market in 2010. I have always believed that Wave is targeting enterprise collaboration much more than consumers. The more popular media seems to confuse these two markets but I see them as quite distinct even though the same people are in both.

There is one thing that both enterprise knowledge workers and entertainment seeking consumers do have in common. They both demand an IJW UX or It Just Works User eXperience. People don’t want to break their flow in order to tweak the options of their browser or to download and install a complicated plugin. Such complex and technical procedures could result in a lot of abandonment.

Google Wave has a lot of potential and holds a lot of promise for enterprise collaboration. It remains to be seen whether or not they can deliver on this promise or stay focused on the task of delivering solid value for the enterprise while avoiding the sirens of web browser market share.


Integrating With Google Wave

Learn how we are integrating Code Roller with Google Wave for a better, more organic collaboration experience.

Google is planning on launching the next release of its wave technology to 100,000 users (none of them had better be using Internet Explorer) by the end of September. On first glance, gwave looks to be nothing more than a hybrid between email and Instant Messaging. It is designed to organically extend existing web technologies/metaphors. Already, the number of features and cool demos boggles the imagination. Many are skeptical that Google will be able to keep to its ambitious release schedule. They have been pretty busy with lots of upgrades recently.

We are planning a Google Wave integration with Code Roller. Team leaders will be able to associate a wave id with their team. Such teams will have that wave embedded in any deliverable of a project in which the team has edit access.

Online collaboration on software development project deliverables is very important for geographically dispersed teams. We already have a chat room facility but it’s not as organic as Google Wave.

Here is a screenshot of what that would look like on the display detailed design page. Notice near the bottom that the last blip in the embedded wave has a second icon, says it’s from “me (and code-roller)” and has the word analytics as a link. That is what is known as a robot. In this case, I plan on developing a robot that turns known keywords into links to relevant pages in Code Roller.

For now, Google wave robots must live in the Google App Engine. They can be written in either Java or Python. This robot is just for evaluation purposes and is written in Python. Right now, it’s pretty simple with hard-coded behavior.

Waves can be embedded in your app but there is also a GMail-esque GUI provided by Google where you can collect and track all waves that you participate on. This is not unlike how DISQUS works.

Whether or not Google Wave will be ready this year, it appears to me that this is one very promising technology for enterprise collaboration and I hope that it never finds its way on Google’s short list of projects to cut. It may not get sufficient market share because of just how disruptive this new technology really is. I’m not sure that people are willing to leave email behind. If it does get cut, then I will most probably incorporate some of its collaboration friendly features back into Code Roller anyway.


Recession Triggers Year of Open Source

Get to market quicker with a lower TCO and a higher ROI by choosing and deploying the right open source software for your needs.

What you are seeing now is part of the relaunch for our corporate site. What could be so exciting about yet another corporate site make over? The costs for this web site redo have been dramatically reduced because we are using open source software.

This recession has motivated companies to find more cost effective ways to get the job done. Open source web applications have no licensing or upgrade costs and very little set up and maintenance costs. Many of the more popular open source projects have huge, viable developer communities that enhance and extend those projects so the chances of finding a suitable fit for your needs are actually pretty good. Open source also makes great sense for entrepreneurs who are starting their companies on a shoe string budget.

At Dynamical Software, we always look for the right mix of technology and process to advance our clients needs better, faster, and cheaper. For a lot of our clients whose needs are primarily publishing, collaboration, education, and e-commerce oriented, we are finding that open source is the best fit for their situation.

I have been an advocate of open source for quite some time now. I have published my personal list of favorite developer oriented Open Source Tools years ago. I am administrator for a small and humble open source project that employs web 2.0 technology for a community oriented news publishing portal called the Web 2.0 News Portal.

Has the recession prompted you to reconsider open source alternatives? If open source web application platforms interest you, if you are a start up entrepreneur or are responsible for your corporate site, then I hope you take a look at this recently published executive white paper and accompanying presentation that discusses how corporations can benefit from open source web applications and lists the applications that I believe can serve as the most effective portals for enterprise marketing and collaboration.


Adopting Linked Data In Your Apps

Linked Data is an important trend that will, over time, increase the search visibility of any web property. Learn how to easily and cheaply adopt Linked Data technology in your apps.

Original web visionary, Tim Berners-Lee, gave a talk at the TED conference earlier this year in which he advocated for mass adoption of linked data. Linked data seems to be getting some traction and is a less ambitious version of a web initiative known as the semantic web whose adoption has been lackluster.

Part of the problem to the original semantic web was in its complexity and lack of toolset which presented a formidable barrier to entry for web content providers. Linked data and microformats are two approaches to reducing the complexity and Open Calais is a freely available technology that content providers can easily use to add more semantic web capability to their apps.

I’ve been looking at Calais for quite some time and have been somewhat disappointed with the results in the past. Recently, I read that CNET was adopting Calais so I decided to give it another try.

Revisiting the Calais site, I saw that they had been quite busy rounding out their still free technology offerings. I decided to evaluate their Marmoset technology which is a very easy way to add linked data capability to your LAMP applications. What I did was Marmoset enable the challenge pages for Cogenuity which is our collective social intelligence platform.

Here is how Marmoset works on Cogenuity. When you point your web browser to any Cogenuity challenge, say this one about online marketing, you get the regular page but when either the Google or Yahoo search engine spiders that page, it gets a page with some additional, special, search engine only links added to it. Those links get created based on what Marmoset decided was organizations, people, or industry terms that it found when parsing the original content of the page.

The integration with Marmoset is really easy.

  • Get an API Key
  • Download and install Marmoset
  • Make two simple changes to the conf.php file
  • Add some boilerplate code (two lines each) to both the top and bottom of each PHP page that you are integrating

Linked Data is a leaner, meaner, and smarter way to semantic web and Calais has grown up a lot these past couple of years to be a quite relevant and capable technology to leverage in your application portfolio.


Pros and Cons to Single Sign In

The popularity of Single Sign In behooves portfolio managers to add it to their application strategy roadmaps. Learn about how SSI can increase your web traffic while avoiding its traps.

There has been a lot of news recently about web properties adopting a Single Sign In policy. In Single Sign In, users can register and authenticate with a site by using their credentials for an identity of theirs on another site. The new site doesn’t get to see the credentials, they just have to trust the old site when it notifies the new site that the authentication was correct. In that way, less popular sites use the most popular sites as an authentication provider.

Right now, the most popular authentication providers are Facebook, Google, and Yahoo. The most popular technologies that web sites use for authentication purposes is Facebook Connect and OpenID. Under the covers, Facebook Connect uses their FBML or Face Book Markup Language technology to retrieve information about the authenticating user. Google very recently announced their Google Friend Connect technology which acts as a gateway to authenticate using your Google, Yahoo, AOL Instant Messenger, or any OpenID account. Under the covers, Google Friend Connect uses the OpenSocial technology to retrieve information about the authenticating user. The default data that you can expect to get is display name and avatar thumbnail image. What you will never get is the email address of the authenticating user.

Although use of Single Sign In has definitely gained traction amongst many User Generated Content sites, I have noticed quite some push back in the circles that I frequently travel in. In a recent interview on Second Life with Information Week’s Mitch Wagner, he was asked about his opinion of Single Sign In and he said that he is against using it.

There are two big disadvantages to adopting Single Sign In. The biggest disadvantage is that you don’t get an email address for the new user. This means that you can’t leverage this registration as a revenue stream where you sell mailing lists to spam companies. This practice is now euphemistically termed sponsorships. Obviously, this is a disadvantage for the hosting organization and not the registering user. The other disadvantage is that you are dependent on a third party vendor with which you have no legally binding agreement. If Facebook or Google shut down these APIs tomorrow, then you would  lose that percentage of your user base overnight.

There are also some big advantages to adopting Single Sign In. It lowers the barrier to participation. People are hesitant to provide such private information as email address to web properties that they have not established sufficient trust with. Obviously, you could set up an email account for just that purpose but not everyone is that clever or wishes to go to that much trouble. If you can register and gain the benefits of membership without having to provide an email address, then you are more likely to participate.

People who are socially active online tend to have a lot of accounts on different web properties. From a security perspective, you are supposed to use different credentials with each account. It is near impossible to memorize what could easily be dozens to hundreds of different user ids and passwords. Yes, you could purchase or obtain a password manager tool but those come with problems too such as encryption and mobile access. With Single Sign In, you mitigate this problem by reducing the number of credentials whose user ids and passwords you have to remember.

I believe that mass adoption and use of Single Sign In could naturally lead to a federated profile in the future. Every social site has a profile page where you affect your online identity there. Wouldn’t it be great if you only had to keep one profile up to date for all of those different sites? Not only would a federated profile be easier to maintain, it would also have a greater perceived value that users would adjust their online behavior in order to keep their record clean. I believe that a federated profile would go a long way towards reducing bad behavior online.

Allow me to offer what we did here as a solution to Single Sign In. We have a product, called Cogenuity, which is a challenge based social collective intelligence platform. We sell licenses to the product where companies can self host their own instance of Cogenuity behind the firewall and that version has no Single Sign In capability. What you see online is the community edition where folks can go and share advice in a public forum. Here is how we added Single Sign In to the community edition of Cogenuity.

There is no mention of Single Sign In on the guest home page whose primary goal is to register and whose secondary goal is to learn more. The content on this site is available to anonymous access but when you try edit anything, you are redirected to the sign in page. There are also links to the sign in page on the guest home page. That sign in page has a primary goal of signing in and two secondary goals of registering or using Single Sign In. Links from the sign in page permit you to use either Google Friend Connect or Facebook Connect to register or sign in. What happens under the covers is that a local account is created for you at that point. Afterwards, you can continue to use Single Sign In or you can use the credentials for the local account to authenticate. It is hoped that, over time, the user will establish enough trust to fill out their local copy of their profile including email address.

Though not a silver bullet nor even desirable for every web property. Single Sign In does mitigate many problems with social media and UGC. There are prudent ways to mitigate the problems of Single Sign In while leveraging its benefits.


How to Keep Your Software Architecture Job

Software Architects should be more focused on realizing the strategic objectives of their sponsoring corporate business in order to stay relevant.

I recently attended a presentation from Gene Leganza (Vice President of Forrester Research, Inc.) entitled Six Trends for EA Professionals. EA is short for the term Enterprise Architecture which is a fancy way of saying that not only should we formalize and make decisions about how our complicated software should be organized but also how our development process is organized and that both of these organization structures should be designed to advance the strategic objectives of the hosting organization.

Some of these trends are driven by the global recession and some of the trends are driven by inertia in the advancement and expanding corporate awareness and appreciation for the field of Enterprise Architecture itself. With each trend, he also stated an action item. Obviously, this presentation was targeting professional enterprise architects.

  • Belts are going to be tightening. Budgets are going to be shrinking. So, learn to do more with less. If things look drastic enough, then hide your best people in the profit centers of the company in the hopes of regrouping later.
  • Learn to focus on what is important. So, no more introduction of process, tool, or technology because of its coolness factor. Rather, you must justify each change in terms of the bottom line. Focus on what is important and optimize for that.
  • He also talked up application strategy road maps a lot. This is a fancy way of saying that if you don’t have a plan that shows how your development is achieving business strategic objectives to C level players in the company, then your development efforts are going to get cut.
  • There was also some interesting general EA trends that he discussed. Technology strategy and business strategy need to become more integrated and aligned. I hope that you are seeing a sort of a mega trend in these six trends by now.
  • He talked up Business Process Management a lot. BPM is an umbrella term for what used to be called workflow, Enterprise Application Integration, and Content Management. He advised to develop or enhance your BPM COE (Centers of Excellence) which is a fancy way of saying that BPM is important enough to assign it to a group of people who will get a bad annual review if the company doesn’t start producing intelligent BPM.
  • The final advice/trend is for embracing more SOA or Service Oriented Architecture. This is a way of designing your application functionality for the purposes of optimizing reusability and interoperability by organizing it into a collection of stateless services over a standards compliant calling mechanism and wire protocol.

There is one other interesting point about this presentation. It was held in Second Life.