Innovation is a team sport

As a consultant I’ve been working for a large number of companies doing system development. Many of them have had reasonably well defined processes for development, customer support and so on. Of various reasons I had recently reason to try to recollect how the companies did innovation. Somewhat to my surprise I couldn’t really remember many examples of how innovation actually happened. One company had regular “innovation jams” modeled after IBM’s idea Continue Reading

Seeing the pattern – or not

My late roommate from Stanford, John Vlissides (he passed away much too early), went on to co-author a book Design Patterns: Elements of Reusable Object-Oriented Software that has had quite an impact on the software development community. According to Wikipedia it was in its 39th printing in 2011. I read the book a long time ago, probably around the time it came out and haven’t had a very good reason to revisit Continue Reading

Meticuously matching metamodels

Many commonly used tools assume a very specific conceptual model of the world. The tools might be geared to manage classes, operations, attributes, and relations (UML editors), fields, projects, screens, and roles (Jira), inputs, outputs, controls, and mechanisms (IDEF0 editors), or filters, pins, and connectors (DirectShow GraphEdit). The chosen concepts are represented in the tool’s metamodel (whether this is explicit or not). Since people have attended different schools, work and have worked Continue Reading

When do we need a project?

The project format is often the default way of organizing product development. Many organizations have elaborate processes for managing projects such as the UK Government’s PRINCE2 and Ericsson’s PROPS. Both are examples of the Stage-Gate process referred to in an earlier post. Sometimes the project format is warranted, sometimes it is not. I came to think of a rather old paper of which I have faded photo copy in my (physical) binder Continue Reading

Product, not project

The system development project is often used as the area of interest or scope when talking about processes, documents, maturity etc. Some concrete examples are: The CMMI maturity level 2 is achieved by defining a process for each project. A configuration management plan is often suggested to be written per project. Repositories for information items such as change requests and source code files are often set up per project. I’m speculating a Continue Reading

Of memes, machines and modified behavior

I’m reading Susans Blackmores book “The Meme Machine”. It starts where Richard Dawkins left off at the end of his seminal book “The Selfish Gene”. Dawkins of course talked mostly about the gene as the “thing” that evolution revolves around but towards the end of his book he speculated about whether ideas, memes, could have traits similar to those of genes when it comes to proliferation. The mean meme machine. As I Continue Reading

Do the things we model exist?

Does it exist? When describing a metamodel it is often difficult to keep apart the description (model) of something and the thing itself. If I want to describe a metaclass representing a system function for instance I find it easy to slip and start talking about the real-world function when the intention was to talk about the description of the real-world function. I have noticed that it is easier to slip with Continue Reading

Define model!

There are many definitions of “model-based development” or “model-driven development”. “Model”, like “quality” or “justice”, is an elusive word. In system development we often think of a graphical view of a UML model or a SysML model when we talk about a system model. We also perhaps think about a specific tool for creating such models. In this post I’d like to elaborate on a previous post in which I claimed that Continue Reading

Test driving an organization

Reorganizations are probably as old as humanity. The paleolithic hunting parties must have been subject to reorganizations from time to time. It might have been a bit more physical than the garden variety reorganization today, but the objective was probably similar: to make the organization more effective and efficient or to reflect a new power structure. Reorganizations are not always easy. I have a couple of times used a rather simple verification Continue Reading