Tuesday, May 15, 2012

Continuous consent

by Hans Bot

Continuous integration - the next step

Since the time Martin Fowler introduced the concept of Continuous Integration the software industry has come a long way. Originally, the concept aimed at the early detection of software integration problems, but soon it grew into one of the pillars of Agile Software Development movement. Development teams experiencing the power of daily builds soon grew accustomed to the practice. Other teams grew anxious to implement the practice too. In short: the software integration problem got solved in many different ways over the recent years.
More: Continuous Integration - Martin Fowler

The most elegant way in which it was solved is undoubtedly with Model Driven Engineering. Working jointly around a shared model banishes the integration problem altogether. In traditional development environments, the compilation of code by it's nature is a batch process. Eliminating the compilation as part of the development cycle therefor is a fundamental solution to the integration problem.
More: Model driven engineering - Johan den Haan

More recently, the thought leaders at ThoughtWorks upped the ante with the concept of Continuous Delivery. This seemingly small step has an important implication - it offers the client the option to be more closely involved into the development cycle. This is no small thing - the sooner mistakes and misinterpretations in the development efforts are caught, the cheaper it is to correct them. Again, with model driven engineering this practice is simple to organize.
More: Continuous delivery - Jez Humble

Now it may be the right time to go the extra mile. After all, Continuous Delivery is no goal in itself, it is a means to an end. In my opinion, at least, delivery is only the start of the dialogue with the client. And it is the outcome of the dialogue that is of the essence: a common understanding about the progress of the development effort. In other words, the objective to strive for should be full transparency into the development process. I propose to name this concept: "Continuous Consent".

How will Continuous Consent enhance the development process?

In my view, Continuous Delivery has already bridged the gap between the development team and their client. But this bridge is designed as a one-way road only. We simply need to add a lane for the traffic from the client to the developers to deliver them the feed-back necessary to further improve the process. Just imagine: delivery of instant feed-back as a standard functionality of the system under development. Report anomalies and requests from within the very system you are reviewing. Why not? What is the advantage of using a separate system? Why shouldn't we integrate that function in order to improve the mutual communication?

This is not the only improvement I envision. If we've got the dialogue running smoothly, it is a small step to use this radically change the way we develop. In my mind, this revolution is long overdue. The software development process is still mimicking the way buildings are constructed: we take a number of months or years to design, engineer and build until everything is ready. Then we "go live" - sometimes in a big bang, sometimes more gradually - after which we morph into the maintenance phase. Among other things, this brings the Continuous Delivery to an abrupt end.

With modern technology like model driven engineering, this need not be anymore. We can - and in my humble opinion should - change the process in a way that will closely align the system development with the way the business itself develops. I propose a mechanism in which an initial operational capability is delivered as early as possible in the development cycle. Ideally within weeks after the start. Simply because there is no better feed-back available than the one from practical usage. It will focus the efforts of the developers to the real needs of the user population and - maybe even more important - it will facilitate the ongoing continuation of the dialogue throughout the entire life cycle of the system. Sure, it will be necessary to rescale the development effort from time to time, but the Continuous Delivery should end no sooner than the end of life.

At Be Informed, we use the term "Grow Live" to pinpoint the phase of the system's life cycle after the Go Live of the initial operational capability. Grow Live together with Continuous Consent will someday revolutionize the system development process. Because we can - and because we should. The sooner, the better.

Friday, April 27, 2012

Laws of the digital world

by Alcedo Coenen

Many of us live our lives increasingly in what I would call the "digital world": we meet in social media like facebook and google+, we read our news items in twitter, we exchange ideas in forums and blogs, we shop online, and last but not least, we communicate large parts of our business through emails, documents, spreadsheets and databases. The objects of communication may be of physical nature (ourselves, machines, supplies, clothes etc) but also these objects turn out to be of digital nature increasingly: I think of ebooks, software, games, money, contracts, data. You could therefore say, in my opinion, that we are creating a 'digital world' next to our physical world. With 'world' I mean an environment that has its own characteristics, and that has its own boundaries and restrictions. These restrictions are highly important and have a significant influence on our behaviour. I would like to explore this in this blog.

Natural laws in the physical world
In the physical world we know these restrictions as 'natural laws': we daily experience the law of gravity, the law of speed, the law of Ohm, etc. We mostly quite unconsciousness recognize these laws, untill we break them and get injured or get something broken. The law of gravity (Newton's law of universal gravitation) is a fundamental one, which has such enormous influence on our way of living, that we don't realize it anymore. The way we put things in our rooms, how we build our houses, how we move to other places, all these activities are highly restricted by the law of gravity. It is the fundamental bevahiour of "things" in the physical world that restricts and enables our being in the 'physical world'.

Natural laws in the digital world
I'm wondering what the natural laws in the 'digital world' are: what is the behaviour of "things" in the digital world that restricts and enables our being in the 'digital world'?

Here some of them which I can think of.

  • The law of reproduction. While copying things in the physical world always leads to loss or inevitable differences with the original (think of copying a woorden chair, or photocopying an original document), in the digital world copying can be achieved lossless (think of copying music or software). The copy has the same qualities as the original, and in many cases cannot be differentiated form the original. One of the consequences of this behaviour is that copyright is very difficult, maybe impossible, to maintain in the digital world, because the concept of copyright is based on the supremacy of the original and the original author. Another consequence is that digital information can be used on many (phyiscal) places at the same time, without traveling restrictions.
  • The law of semantic distance. While traveling in the physical world is a geographical transition, going from position A to position B, with a direct relation between distance and time-to-travel (dependent of the traveling method), traveling in the digital world is a semantic transition, going from domain A to domain B. Although you could take time of the transition into consideration from URL A to URL B, restricted by the physical properties of the network to pass through, this is not the significant part. When we look up something in the digital world, e.g. by using a search website, it is the semantic distance that takes our time: looking for a good picture of a "rule", e.g., brings us in many different semantic worlds before we see the one we originally meant (figure 1). Semantic distance can graphically been displayed as physical distance (figure 2). A consequence of this law is that we need to take "travelling time" into account when searching digital objects over semantic domains.
  • The law of semantic erosion. While memorizing and keeping things in the physical world are directly related to the erosion characteristics of the used material (you can keep things in rock much longer than wooden objects), digital objects do not erose or deteriorate, unless its physical barriers (hard disks e.g.) do. Digital data can become useless, however, in two ways: or the data are not accessible anymore in a meaningful way because the software/algorithm to access it is lost (think e.g. of encrypted data), or the data refer to concepts that are passed or considered useless (think e.g. of a database field that sets the customer's fax number). In both ways the semantics are eroded, while the data still exist. Erodition time in the digital world is releated to semantic relevance.
  • The law of logical derivation. In the physical world we have the concept of “power”, setting things into “motion”. What are “motion” and “power” in the digital world? I think that logical derivation is the basic “power” of the digital world. It sets digital objects into motion. “Motion” is information change. The well-known coding structure “if … then …” illustrates the basic behaviour of digital systems quite well: digital systems are capable of processing data and change them into new data on a set of conditions. That is actually what happens all the time in the digital world. When we upload a photo on Facebook, we actually change our digital status, and Facebook takes that as input for putting advertisements on the page. When we click such an advertisement, many other status of data has been changed and causes other actions like showing the page of the advertiser.

Fundamental laws
What is the digital equivalent of the law of gravity? What is the fundamental law, that sculptures our behaviour in the digital world more than anything else? What law can break things? I can think of two candidates: the law of reproduction, or the law of logical derivation. An example of “breaking” with the first is unintential spam: copying a digital message that copies itself to many others, is an example of breaking the law of reproduction; because the copy is not deteriorating, the reproduction is endless. This law enables us to work at home, to watch television online and to collaborate simultaneously with collegueas on documents.

The best candidate for being fundamental, however, is the law of logical derivation. An example of “breaking” this law is designing systems as if they were logistic systems. Information systems, or better business operation systems need to be designed as logical derivation machines, not as procedural logistic processing systems. Otherwise the system looses its power. Logistics is a domain that has its relevance in the physical world, because it deals with the inertia of physical objects and the time that is involved. In the digital world objects have the lowest possible intertia because there is no gravity, and time is negligible. Therefore, in the digital world the procedural, logistic approach is suboptimal, and needs to be replaced by the state machine approach. In fact, our digital world is one big state machine. Which means that the equivalent of our physical gravity law may be found in the derivation law for the digital world.

Breaking the law
At Be Informed, we're not only looking for laws, we try to break them too. And to create new laws.

Monday, February 27, 2012

Monday, February 20, 2012

The Great Philosophers on IT Governance II

By: Frank Buytendijk (@FrankBuytendijk), chief marketing officer

Some time ago, I started a new series of articles on IT Governance.

Topics I covered in the first article included: Why is IT Governance such an important issue in most organizations? What is the task of senior management? How should budgets be managed? In fact, Plato commented elaborately on these issues.

Then, in the next article, we move to a second topic: Power. And who else to consult than Machiavelli? Decision-making is not always based on facts and objective analysis. There are many more factors affecting strategic decisions. Why? How? Machiavelli contradicts Plato in a number of cases. The "kings" aren't philosophers at all... Machiavelli is supported by an even older philsopher and strategist: Sun Tzu. How is "The Art of War" related to governance?

In the third article, I'll reflect more on what Plato, Machiavelli and Sun Tzu had to say, and will relate governance to leadership and particularly organizational behavior. For those of you who know my work, you know this is a topic that is near and dear to my heart. I'll turn to Confucius for some wisdom, and will describe not only how to govern, but focus on a topic equally important: how to *be* governed. We arrive in the philosophical twentieth century, where I discovered a school of thought that I feel somewhat connected with: communitarianism. No, that is not like communism, but is in short a view on the world in which we don't look "up" for problems to be solved, but look at our
peer group. Enterprise 2.0!

Let me know what you think...

Monday, February 6, 2012

Plato and numbers

By: Dick van Mersbergen

Last week there was a meeting in the Plato room at the Be Informed headquarters, a good chance to check out his quote. It read:

A good decision is based on knowledge and not on numbers.

Numbers are a boy’s best friend
From a very young age, I loved numbers. You can’t argue with them and they never lie. Fortunate enough, I had some talent for maths. This not only made life at school a lot easier, I was able to play with numbers. I was constantly adding, deducting, multiplying and deviding. Numbers were my best friend. (Don’t worry, soon I discovered sports, music, arts, girls and much more). So what is Plato’s problem with numbers?

Scoreboard journalism
Plato reminded me of a Dutch football coach, Co Adriaanse. After a heavy loss with AZ (1-5 at home against Roda JC), has a true Platonist, he said that judgement based on the numbers alone is “Scoreboard journalism”. In his opinion, there is much more to a game. Maybe he meant that journalists need more football knowledge, just like Plato. But what is knowledge?

Knowledge
Bertrand Russell's "Theory of Knowledge" reads: "knowledge might be defined as belief which is in agreement with the facts. The trouble is that no one knows what a belief is, no one knows what a fact is, and no one knows what sort of agreement between them would make a belief true". We don’t know what knowledge is! This is no surprise to me because I play manager games.

Manager games
As a lover of numbers and sports, I like manager games. This is about managing a virtual sports team. You pick a squad and they will then score points for you, based on statistics. This is organised in many sports, but my focus is on cycling and football. Every year in july, my cycling team is competing against thousands of others in the Tour de France and during the football season I manage a virtual team in the Dutch league; both with variable success.

Of course, numbers and knowledge are very important in these games. I collect statistics in two giant spreadsheets and I read all I can about teams, transfers, tactics, personal incentives, etc. Everything is relevant, for example: cyclists perform significally better just after they became a daddy - really! With all this knowledge, how can I possibly fail?

Wisdom & luck
Unfortunately, others read the papers too and I suspect some to use spreadsheets. The margin between the winner and runner-up is not explained by knowledge. It increases your chances, but crucial decisions need more. You need what the Germans call fingerspitzengefühl, a combination of wisdom and luck. Just like the sportsmen themselves.

Wisdom is “a deep understanding and realization of people, things, events or situations, resulting in the ability to apply perceptions, judgements and actions in keeping with this understanding”.

Plato gave us insight in the limits of knowledge as well. Some time ago, we discussed this in the story on Plato’s Cave: true wisdom is realising you are looking at an image of the world.

Wise decisions
And there is the link with Be Informed: by modeling your business in Be Informed, your model (your picture of the world) follows the changing world. You can rely on the system to manage the data and providing knowledge, and thus create the basis for your knowledge workers to make wise decisions.

I wish you all great wisdom. And good luck.

Monday, January 23, 2012

The Great Philosophers on IT Governance I

By: Frank Buytendijk (@FrankBuytendijk), chief marketing officer

I've started a new series of articles, this time on
IT Governance.

Topics I cover in the first article include: Why is IT Governance such an important issue in most organizations? What is the task of senior management? How should budgets be managed? In fact, Plato commented elaborately on these issues.

Then, in the next article, we move to a second topic: Power. And who else to consult than Machiavelli? Decision-making is not always based on facts, and objective analysis. There are many more factors affecting strategic decisions. Why? How? Machiavelli contradicts Plato in a number of cases. The "kings" aren't philosophers at all... Machiavelli is supported by an even older philsopher and strategist: Sun Tzu. How is "The Art of War" related to governance?

In the third article, I'll reflect more on what Plato, Machiavelli and Sun Tzu had to say, and will relate governance to leadership and particularly organizational behavior. For those of you who know my work, you know this is a topic that is near and dear to my heart. I'll turn to Confucius for some wisdom, and will describe not only how to govern, but focus on a topic equally important: how to *be* governed. We arrive in the philosophical twentieth century, where I discovered a school of thought that I feel somewhat connected with: communitarianism. No, that is not like communism, but is in short a view on the world in which we don't look "up" for problems to be solved, but look at our
peer group. Enterprise 2.0!

Let me know what you think...