blog dds

2014.07.30

Service Orchestration with Rundeck

Increasingly, software is provided as a service. Managing and controlling the service’s provision is tricky, but tools for service orchestration, such as Rundeck, can make our lives easier. Take software deployment as an example. A well-run IT shop will have automated both the building of its software using tools like make, Ant, and Maven and the configuration of the hosts the software runs on with CFEngine, Chef, or Puppet (see the post “Don’t Install Software by Hand”). Furthermore, version control tools and continuous integration will manage the software and the configuration recipes, handling developer contributions, reviews, traceability, branches, logging, and sophisticated workflows. However, these tools still leave a gap between the software that has been built and is ready to deploy, and the server that has been configured with the appropriate components and libraries and is ready to run the software.

Continue reading "Service Orchestration with Rundeck"

2014.04.24

Developing in the Cloud

Running a top-notch software development organization used to be a capital-intensive endeavor, requiring significant technical and organizational resources, all managed through layers of bureaucracy. Not anymore. First, many of the pricey systems and tools that we developers need to work effectively are usually available for free as open source software. More importantly, cheap, cloud-based offerings do away with the setup, maintenance, and user support costs and complexity associated with running these systems. Here are just a few of the services and providers that any developer group can easily tap into (you can find many more listed here):

Continue reading "Developing in the Cloud"

2014.01.15

Bespoke Infrastructures

In the 1920s, the Ford Motor Company embarked on an ill-fated attempt to establish an industrial town in an Amazon rainforest as a way to secure a cultivated rubber supply for its cars’ wheels. At the time, it already owned ore mines, forests, and a steel foundry to produce the raw materials for its cars; today, it buys from external suppliers, even its cars’ electronic control units. How do these two phases of the automotive industry’s history relate to the way we currently develop and adopt infrastructure in our profession?

Continue reading "Bespoke Infrastructures"

2013.12.06

The Frictionless Development Environment Scorecard

The environment we work in as developers can make a tremendous difference on our productivity and well-being. I’ve often seen myself get trapped in an unproductive setup through a combination of inertia, sloth, and entropy. Sometimes I put-off investing in new, better tools, at other times I avoid the work required to automate a time-consuming process, and, also, as time goes by, changes in my environment blunt the edge of my setup. I thus occasionally enter into a state where my productivity suffers death by a thousand cuts. I’ve also seen the same situation when working with colleagues: cases where to achieve a simple task they waste considerable time and energy jumping through multiple hoops.

Continue reading "The Frictionless Development Environment Scorecard"

2012.03.22

How do Big US Firms Use Open Source Software?

We hear a lot about the adoption of open source software, but when I was asked to provide hard evidence there was little I could find. In an article I recently published in the Journal of Systems and Software together with my colleague Vaggelis Giannikas we tried to fill this gap by examining the type of software the US Fortune 1000 companies use in their web-facing operations. The results were not what I was expecting.

Continue reading "How do Big US Firms Use Open Source Software?"

2012.01.08

Mind Mapping

In a recent NPR interview the journalist described how I used a mind map to organize my work while I served as Secretary General for Information Systems at the Greek Ministry of Finance. A number of people asked me for more details; if you're interested read on.

Continue reading "Mind Mapping"

2011.12.17

Advice from Successful Greek IT Startups

Members of the Hellenic Association of Mobile Application Companies and the Hellenic Semiconductor Industry Association, assorted biotechnology companies, and representatives from Greek and US-based venture capital funds gathered on Friday December 17, 2011 in a meeting to exchange advice, tips, and war stories on venturing abroad. It was one of the most inspiring meetings I've attended for some time. These are my notes from the meeting.

Continue reading "Advice from Successful Greek IT Startups"

2011.10.30

Lessons from Space

By Diomidis Spinellis and Henry Spencer

We can lick gravity, but sometimes the paperwork is overwhelming.

— Wernher von Braun

Twilight saw the landing of Atlantis at the Kennedy Space Center on 21 July 2011, marking the end of the 30-year Space Shuttle program and leaving the Soyuz series of spacecraft as the only remaining major option for sending humans into space. With a history of 1,700 flights over an almost half-century lifetime, the Soyuz rocket and spacecraft are arguably a tremendously successful spaceflight design. Given the parallels between the complexity of human spaceflight and large software systems, what can we developers learn from the Soyuz program?

Continue reading "Lessons from Space"

2011.07.03

Agility Drivers

When the facts change, I change my mind. What do you do, sir?

— John Maynard Keynes

A management practice is mature when even government bureaucracies decide to adopt it. The March 2011 publication of UK’s ICT strategy marks this moment by advocating that “the application of agile ICT delivery methods [...] will improve government’s capability to deliver projects successfully and realise benefits faster.”. This begs the question: were we misguided during the decades we were advocating stringent control of requirements and a tightly milestone-driven development process? Interestingly, this was not the case. We were right then, and we’re right now. Things have changed, and this is why we can nowadays smugly apply agile practices reaping impressive dividends. Numerous new factors are driving agility by increasing our productivity. Our growing ability to swiftly put together sophisticated software affords us the luxury to listen to our customers, to try out new things, to collaborate across formal boundaries, to make mistakes, to redesign as we move along—in short to be agile. Knowing these factors helps us realize when we can afford to be agile and when not. (Hint: agile development of a plane’s flight control software from the ground up is still not a good idea.)

Continue reading "Agility Drivers"

2010.11.19

Manifesto for Agile Government

I'm sure that many readers of this blog have read the Manifesto for Agile Software Development. Having worked in government over the past year, I wondered how a similar manifesto for government, created by a group of people who would radically want to improve existing structures, would look like. Here is my take.

Continue reading "Manifesto for Agile Government"

2010.05.20

Email Analytics

During the past six months I've been drowning in email. I spend a large part of my day responding to email messages and filing incoming messages I consider important. Yet I'm falling behind and this affects the quality of my work: I sometimes delay responding to important messages. Followng Peter Drucker's dictum "If you can't measure it, you can't manage it", I decided to write a tool to analyze my incoming and outgoing email messages.

Continue reading "Email Analytics"

2010.04.07

Ron Heifetz on Crisis Leadership

Earlier today I had the privilege to attend a lecture on crisis management by the Harvard Senior Lecturer Ron Heifetz. Here is a list of points that struck me (in the form of slightly edited tweets), and my view of their relevance to software development.

Continue reading "Ron Heifetz on Crisis Leadership"

2010.03.12

Email's Ten by Ten Law

I drown in email and my aspirations for handling it are becoming increasingly lame. In the 1980s my goal used to be an empty mailbox at the end of each session. During the 1990s the goal became to empty the mailbox by the end of the day. But tasks I couldn't complete within the day accumulated, so in the 2000s I just tried to have only so many messages as could fit in a window without a scrollbar, so that I could immediately scan what I had to do. Nowadays my modest goal is to keep the size of my mailbox below 100 messages, and I succeed in that only half of the time.

Continue reading "Email's Ten by Ten Law"

2009.10.21

Basic Etiquette of Technical Communication

Parents spend years trying to teach their children to be polite, and some of us had to learn at school how to properly address an archbishop. Yet, it seems that advice on courteousness and politeness in technical communication is in short supply; most of us learn these skills through what is euphemistically called “on the job training.” With enough bruises on my back to demonstrate the amount and variety of my experience in this area (though not my skill), here are some of the things I’ve learned.

Continue reading "Basic Etiquette of Technical Communication"

2009.08.28

The Price of Cheap Labor

The strange entries I've found over the past two weeks I've been researching a large database are innumerable. Some addresses, like Wastington, DC are simply annoying, while others, like Vancouver BC V6T 1Z4 United States, are mildly amusing. It's clear to me that the database has been populated by the massive application of a cheap labor force. This is happening all too often, and I think it is a mistake.

Continue reading "The Price of Cheap Labor"

2009.04.01

Open Source Opens up for Business

Today, as I was reading the sourceforge.net monthly update, I was impressed by the number of business-related software in the top-25 project list. I was sure this wasn't always the case, so I dug up the corresponding the top-25 projects at the beginning of 2006 to refresh my memory. The differences are profound.

Continue reading "Open Source Opens up for Business"

2008.11.10

Robert Kaplan on Strategy Execution

Today I attended a presentation by Robert S. Kaplan, a Professor of Leadership Development at the Harvard Business School, on using strategy maps and balanced scorecards in a strategy execution system. Dr. Kaplan managed to distill 15 years of research and its application by the world's leading companies into a fascinating 90 minute talk. These are my notes.

Continue reading "Robert Kaplan on Strategy Execution"

2008.09.16

Central Planning Hurts Research

Today I was invited to contribute to the European Commission Information Society's public consultation that will be used to draft (in the Commission's words) a new strategy for ICT research and innovation aiming is to put European ICT industry, especially SMEs, to the fore of the race for global competitiveness. I believe that the Commission's approach towards research planning and funding is fundamentally wrong.

Continue reading "Central Planning Hurts Research"

2008.07.16

Eric K. Clemons on Monetizing the Net Without Advertising

Earlier today I attended a very interesting and entertaining talk that Eric K. Clemons, Professor of Operations and Information Management and Management at Wharton, gave on Internet business models that don't rely on advertising.

Continue reading "Eric K. Clemons on Monetizing the Net Without Advertising"

2008.05.17

A Visit at BMW's Leipzig Factory

Yesterday I had a chance to tour the BMW Leipzig factory. It was a unique experience, in which I witnessed the sophistication of modern production methods, and the most well-organized complex human undertaking I have seen first hand. The factory literally runs like a clockwork, eerily bringing to my mind the descriptions of Mars's factories in Bogdanov's science fiction novel Red Star.

Continue reading "A Visit at BMW's Leipzig Factory"

2006.12.13

Secure Passports and IT Problems

In 2003 Greece, in response to new international requirements for secure travel documents, revised the application process and contents of its passports. From January 1st 2006 passports are no longer issued by the prefectures, but by the police, and from August 26th passports include an RFID chip. The new process has been fraught with problems; many of these difficulties stem from the IT system used for issuing the passports. On December 12th, the Greek Ombudsman (human rights section) issued a special 22-page report on the problems of the new passport issuing process. The report is based on 43 official citizen complaints.

Continue reading "Secure Passports and IT Problems"

2006.11.22

So Long as there's a Jingle in your Head, Television isn't Free

Yesterday I switched from an ancient version of the "free" Adobe Reader to the current version 7.0. I spent the morning studying some fairly tricky technical documents. Within that interval I often caught my eyes glancing to the top right of the Adobe Reader's display window where an advert button flashed as it changed its content. Needless to say, this change of focus interrupted my train of thought, and got me out of "flow mode".

Continue reading "So Long as there's a Jingle in your Head, Television isn't Free"

2006.10.11

Web Page Hits, Amazon.com's Sales Rank, and Actual Sales

Over the past three years I've been collecting the amazon.com Sales Rank for my book Code Reading: The Open Source Perspective, and (lately) also for its sequel Code Quality: The Open Source Perspective. Yesterday I mapped the sales rank to actual sales, and correlated those with significant events and hits on the book's web page.

Continue reading "Web Page Hits, Amazon.com's Sales Rank, and Actual Sales"

2006.09.17

NASSCOM Quality Summit 2006

Last week I attended NASSCOM's 2006 Quality Summit in Bangalore, India. There I gave a tutorial on tooling with open source software, and delivered a talk on Global Software Development in the FreeBSD Project. It was an edifying trip.

Continue reading "NASSCOM Quality Summit 2006"

2006.07.19

Efficient Human Multitasking

I sometimes hear colleagues complaining that they can't get anything done, because they have too many tasks in their head. I've found that in order to increase the efficiency of my work I need a moderately large selection of pending tasks. This allows me to match the type of work I can do at a given moment with a task in the most optimal way.

Continue reading "Efficient Human Multitasking"


Creative Commons License Last update: Thursday, September 22, 2016 9:56 am
Unless otherwise expressly stated, all original material on this page created by Diomidis Spinellis is licensed under a Creative Commons Attribution-Share Alike 3.0 Greece License.