Separating the problem and the solution

In my practice, I encounter the following situation quite often, and you may too: people are discussing a solution and argue about it when the key issue at hand is that the problem that the solution attempts to address is ill-defined or just plain absent. Lots of resources are assigned to work on the solution and technical talk becomes dominant, to the point that business users who are having the problem to solve lose track of what is being discussed. Most of the time, the solution is overly convoluted or too simplistic. All this boils down to a communication problem. We can summarize the situation by saying that the techies have won. It is very important to be able to express business requirements in a language that is understandable by business. The modeling techniques that are mastered by the system analysts must be used to express the problem using a controlled terminology centered around the business. The net result is that there is a quantum leap in the coherence of the message. Good basics is what counts and when authoring requiremnts for/with business users, technology shall always be number two and act as a solid ground upon which business can rest solidly. The added-value shall be clear and a solution that is not achieving that business value with an economy of means is not to be pursued (today, even Google is killing non-ROI-generating products). Today, for most kinds of business, technology is available to fulfill the vast majority of non-functional requirement like scalability and availability, even for free (just look how far OpenSolaris goes in that regard). The effort is thus to be directed towards expresing the problem space in clear terms. All of the above does not means that technology shouldn't be used to explore the problem space. Prototypes are a must have because of IKIWISI (the "I'll Know It When I'll See It effect). Always remember, to the user "the interface is the application". But in reality, the interface is not the full application and that's why in order to explore all sides properly, the only sane way to go is the iterative way. I always try to think in terms of investment and benefit. A good enough benefit with low effort is the best route because by having a sound strategy and composing low-effort/good-benefit tactics, you can almost always overrun a massive effort that will dissipate tons of money in intercommunication and delays. Business and IT do not see the world the same way:
Business IT
  1. big picture
  2. objectives
  3. KPIs
  4. opportunities
  5. ROI
  6. competition
  7. short availability
  8. low attention to detail
  9. customer centric
  10. marketing/sales
  11. policy setting
  12. customers
  13. markets
  1. process details
  2. technology focus
  3. solutions
  4. legacy integration
  5. systems centric
  6. logical
  7. rational
  8. policy implementation
  9. issues, backlogs
But they do need a common ground upon which they can communicate with each other. How to get there ? As the achievement of good communication is quite a culture shift, we must have the following in place:
  1. egos are subordinated to the objective (easier said than done by any measure)
  2. basic shared concepts are in place (problem statement, product positioning, domain model at the entities level, business process model, systems mapping, AS-IS and TO-BE perspectives, workflows identification, key policies)
  3. decision making procedure is in place
  4. accountabilities are established
These elements shall be instilled in the culture by neutral advisors on a very practical basis. An oucne of practice is better than lots of theory and the point is not to lecture people about concepts but to show them how to fish by leading the way first. At the same time, it is very important that the advisors have a strong theoretical framework upon which to back their interventions. This also provides for strong coherence. Devices to track progress. A number of devices is necessary to track progress. In fact, the state of important key items have to be monitored. Amongst these, we can find the opportunity being studied. All efforts in the endeavor have to move the state of this opportunity from vague to paying off. As important things, we can name risk, team, specified system, ... All of these must be tracked and will for a dashboard upon which business and IT can discuss options and actions that do make sense. Value of the approach The value in applying the approach is that resulting performance will be improved and that a streamlined approach will bring visibility, a very missing pieces in a lot of places where obfuscation takes over intelligence. The delivery time will be curtained as well since much less time will be spend in dissipating energy and money. So, start working better by separating he problem and the solution.

Protected: Myths and Monsters with Alan Weiss

This content is password protected. To view it please enter your password below:


TikiWiki : Mass Collaboration

TikiWiki FosdemMarc Laporte is telling a bit about wikis and TikiWiki because TikiWiki is more than just the wiki feature. Wiki what for ? Why a wiki ? * teach how to fish -> knowledge -> wiki -> lots of people" Email doesn't scale --> wiki WikiWay of software development, 6 years, develop software: 225 contributors. and dogfooding (use your own tools) Backronym: Tight Integrated Knowledge Infrastructure Marc is grabbing the attention. Hey, tikiwiki is no small thing !

Lightning Talk: XWiki – A GWT based editor

Interesting component, maybe useable in TikiWiki.

The technology choices are:

  • GWT for the development : because of the strongly typed advantages of Java (but I am not too convinced of than anymore for application-level code)

The explanation is pretty confusing. I am feeling sorry for the presenter.

I think that just going to the webiste would have been a better use of my time.

So, disappointing talk.

Lightning Talk: EzFind

Now it's time for a bit of search. A key selling point appears to be the tuneable relevancy ranking.
  • boosting on geo-spatial
  • boosing on more recent content (news)
  • elevate pages when keyword density high enough
Lots of filtering & sorting Then we are presented with the interesting concept of facets (drill down on query results in a tree structure -> very fast navigation to results you want). Automatic related content: the "more like this" link (like on the BBC site)
  • using heuristics in the background (all this based on Solr features)
Spell checking (like Google does when we type bad stuff) Semantic search on multilingual content Stemming support Normalization of latin 1 characters Possible indexing of external content But now, the talk is drifting into telling us what Solr does and not ezFind. Solr is interesting though. Now, drifting into Java capabilities. Well one engine can index 10M to 100M objects (but stick tons of RAM in the box). Clustering is built in but Solr doesn't needs that most of the time.

Visit at Sun booth: I got a very impressive OpenSolaris demo

I landed with my bag at the Sun booth. Good for me: I met a guy called Kris (who happened to wear the Sun T-Shirt but is not an employee. Nevertheless, he had the smarts and experience to make a very compelling case for OpenSolaris). I was interested in Zfs and Dtrace, to see how they would help in supporting TikiWik high perfromance and high availability  and/or Metachannel (startup where I am the CTO). The demo was very impressive: creating a filesystem with mirrors, spares, snapshots, cloning and getting back in time is a breeze. For large amounts of content that you have to stream on the web, this is really cool. Also very nice is the possibility to create a copy of the fs (with only using more disk space when doing writes) at a point in time. For our analytics reporting, that's a terrific feature Then I got an explanation of what zones are and how QoS can be enforced with these. We then moved into DTrace, which was my initial question. The demo was cool and it showed me an actual case where people whould use the D language (DTrace configs are using D). OpenSolaris can get fitted with the Sun WebStack and Netbeans 6 (with a special plugin for DTrace). This means: Apache, PHP and MySQL can be traced efficiently and easily and all that can be done from the IDE (since NetBeans 6.x allows you to edit your PHP and MySQL code and also access your db server tables from a single environment). Worth of mentioning: the ability of OpenSolaris to run on a lot more laptops. On that front, I asked about the suspend and hibernate features, a thing that has plagued Linux for too long already. Well it worked like a charm on the Dell box of Kris. I happen to have a lot of Dells so I'll give it a shot. Also cool was the ability to mount zfs as a iscsi thingy. Well, these guys are just light years ahead when it comes to administration of a system. Kris also touched on ifs and how it worked with Grub for installing new packages and rolling back if not nice.