|Leasing Pembroke Street from Crampton's (1995)|
They took an educated punt, building on the back of years of academic/industry R&D into distributed systems and programming, supported in part by EU Espirit research programmes.
One of the running jokes in Iona’s newsletter iContact was the management teams’ 3-year search in the wilderness for a business model, but the truth was, that they always had their eyes on the prize and were constantly tweaking the business model to the situation and demands of the market of the day. The way Iona ‘organised’ was the key. It was a young Irish company with a distinctly Irish culture. Small nimble close knit teams, everyone knew everyone and no one let formality get in the way of celebrating success or getting to the heart of a problem. As a place to work it was hectic, razor sharp, direct and fun. And Iona offered a launch pad to a new generation of home-grown technology entrepreneurs and leaders.
The period 1999 - 2001The resources available for new R&D are being dragged down by customer support for current products. However there appears to be a consensus that a radical solution is needed to address the problem, although no one seems to agree on what the solution is.
Product Development Culture
Growth is good and profits are better but they have a cost. The cost for Iona’s Dublin headquarters was having to move premises nearly every year. From Westland Row to Pierce Street, to Percy Place, to Pembroke Street Lower, then the big split from Pembroke Street to St Stephen's Green. Stephen's Green would have been nice except that Product Development and Customer Engineering were housed in an old office block tucked behind a Georgian town house while the corporate functions had modern air-conditioned comfort in the building on Pembroke Street. But this was only temporary, Iona had signed as the anchor tenant in a modern tower block on Shelbourne Road. They even had naming rights, "The Iona Technologies Building." This last big move took place in 1999 but the environment was changing in other ways. The atmosphere of the company shifted with each office move and each new employee. The company had been famous for its 'everyone knows everyone else' feel and exciting work culture. However a sense of 'community lost' was increasingly apparent in conversation, the demise of the traditional wine-and-cheese on the last Friday of the month was a symptom of this gradual distancing.
“What’s happening to the monthly ‘wine n cheese’? First it’s reduced to quarterly, and then half yearly... we need it for morale!” [PD engineer]
“The Iona wine and cheese was important, we need these opportunities to mix, to build spirit. Stop cancelling them!” [Anon]Structure and Organisation
The company is structured around three main development centres; head office in Dublin, the US headquarters in Waltham Massachusetts (aka Boston), and Asia Pacific based in Perth. Internally the company has a hierarchical structure with teams of software engineers and management organised around 24 product lines delivering to 3 main operating environments (Solaris, HPUX and Windows) and over 20 version variations on other platforms (Macintosh, Digital, AS/400, MVS, SCO/Unix, QNX and others).
The Iona Product Development Process has four main stages: Planning, developing, testing & QA, and Launching. The project life cycle provides procedures for the development of products, covering the whole development process from beginning to end.
"Product Development is team-oriented. Teams have strong software engineering capabilities but also have product management, project management, customer service, business and other skills represented. Each team has significant autonomy and discretion on what products it develops, and has responsibility to describe why, when how and by whom the products will be built, licensed etc. Teams are ultimately responsible for product success, measured in market share and revenues." [The dev team guide]The Product Managers and executive team develop concepts and business cases for new products that are then assigned to an engineering team for development. The support organisation is also organised by product line, this allows dedicated customer support engineers to develop technical product knowledge. All support engineers are expected to also be able to support core Orbix if customer demand levels on the support queues become unmanageable. Support engineers will also sometimes rotate into an engineering team to facilitate the transfer of technical product skill and knowledge to the rest of the organisation.
In order to grow and scale the company's capability it has proactively hired experienced executives and top engineering talent from large international technology companies such as HP, Ericsson, Digital, IBM, and others. These executives are intimately familiar with institutional approaches to organising technology R&D. This includes management system approaches like the Rational Unified Process, ITIL (Information Technology Infrastructure Library), the Capability Maturity Model, and ISO9001.
Orbix and ART
Orbix is the company’s 'cash cow', revenue-rich, mature products that 'only' require maintenance. Cash cows provide a steady income from license fees generated both by new customers, and renewed annual service or support fees from existing customers. In Iona’s case, sales of large site licenses with annual support contracts are a lucrative revenue stream.
The Orbix product architecture has itself morphed gradually from being a simple ORB (Object Request Broker) to now supporting multiple language mappings (C++, Java, ADA, PL/I) and a wide variety of operating system environments. Orbix is now a fully featured product architecture that reaches into object databases, messaging and transaction systems, media streaming, real-time (there is even talk of an Orbix Nano for chips).
As the Orbix product lines and architecture has grown the numbers of engineers developing, supporting and maintaining the product have also grown. This has generated problems for management and interdivisional communication. The old Orbix team has grown from 3 to well over 50 programmers plus 30 or 40 more in support and others in product marketing, documentation, and professional services.
The cost of supporting the legacy customer base on Orbix is now seen to be eating into the company’s profit margins. The board want to move beyond the limitations of the original Orbix architecture. The distributed computing industry is shifting towards new technology paradigms like XML based application servers, web services, service oriented architectures and enterprise Java.
A ‘top secret’ next generation technology project known as ART was started in 1996. ART development is based in the Boston office. An alpha version for early adopters was given a limited release in 1999, a feature complete beta version is expected in 2000. ART is expected to deliver a paradigm shift in function and performance. ART (Adaptive Runtime Technology) will be a highly flexible and high performance distributed computing engine. ART will be the perfect ORB to replace Orbix and overtake competitive technologies from BEA Systems, Oracle and others.
|Back to its roots, 2000 (image credit: Joe McCarthy)|
Steve Vinoski, IONA's Chief Architect, is based in Boston but travels to Dublin frequently. Steve is a former systems architect from HP and has long been involved in developing open computing standards, object oriented software, and he has a deep interest in design patterns. He has a wide personal friendship and professional network with other programmers with an interest in programming, architecture and management. Recently Steve has been having an on-going discussion about best practice with Kent Beck. Kent has been promoting a new practice based engineering management approach called "Extreme Programming.
The Dublin-based engineering managers, Mary, Aileen, Tim, Jan Willem, and Charlie, refer to themselves as the 'junior-management' team – all of the pain, none of the power. They are responsible for all Orbix engineering or support. Between them they manage 50 engineers and are responsible for all maintenance of all legacy products.
Steve has asked the engineering managers to consider the current situation and their options for improving things. There must be a better way to organise the teams! Many of the engineers in Product Development and Customer Engineering are working on legacy Orbix and seem deeply unhappy. Anyone who cares wants to work on ART, Iona's next generation architecture/product. Many of them feel that working on Orbix in all its various versions and flavours is a dead-end job. To top it off the workloads have grown horrendous; there is a real problem with excessive overtime (unpaid), meaning that people are spending more time with colleagues than they do with their families. The CEO has also let it be known that he wants to bring in an on-call rota to provide out-of-hours software support 24-7-365. But the engineers are already putting in huge hours and making heroic efforts just build and release patches and keep customers happy. There is also a rumour that an executive order is in the pipeline, that the Orbix team is going to be cut. It feels like something is going to break.
Comments gathered from a recent internal survey carried out by HR give a flavour of the mood.
'More inter-departmental cooperation please, people feel guilty asking questions.' [Anon]
'Get CE and Engineering teams working closer and get rid of the quick fix mentality.' [PD engineer]
'Outrageous workloads are destroying me, there must be an end in sight?!' [CE engineer]
“Product milestone dates come down from ‘on high’, the teams should estimate them, not some diktat.” [PD engineer]
'The company is a fun and challenging place to work, it’s "challenging" when we over-commit…' [CE engineer]
'We need workable processes to get us moving between teams and products.' [CE engineer]