6 years, 10 months ago

Digital Transformation Hub – Realizing the Shared Economy

Last week I mentioned to one of my US based colleagues that I would be out of office for three days at the Irish National Digital Week (NDW16), taking the opportunity because the event was being held in Skibbereen, just a few kilometres down the road from my home office. He asked, “Surely an event of that type would be held in Dublin?”  And I replied, “Well there’s a story here that needs to be told; one that will have profound implications for business in Ireland and probably internationally”.

Skibbereen is a small market town in the South West of Ireland. The population is approximately 2000, although there’s perhaps several times that number in the immediate hinterland. It’s not an easily accessible area, you get there by going to Ireland’s second city Cork, and then taking pretty dreadful roads for some 100 kilometres. However the general area is reasonably well known as West Cork, a remote but ruggedly beautiful part of Ireland beside the Atlantic, with peninsulas reaching out into the ocean attracting sailors, divers, kayakers, cyclists, walkers and artists from Ireland, the United Kingdom, America and Germany many who visit, some who make their home here. A cosmopolitan populace that blends indigenous folk and blow-ins in a close knit community. Think of Northern California but 5 degrees cooler.

Over the years numerous leaders in business, technology and the arts have moved to the area or established holiday homes. In 2015 some of these individuals together with local business people established an initiative using private investment to create a digital hub. Notables in the group operating on a pro bono basis include David Puttnam, well known film producer and Ireland’s Digital Champion, Anne O’Leary, CEO Vodafone Ireland, Ronan Harris, VP Sales & Ops Google Ireland and John Field, Director of local retailers. John Field made a suitable building available, once a cinema and latterly a bakery, as the physical presence. Vodafone, in the (ESB/Vodafone) SIRO partnership provided a 1 Gb network, for the hub building and the entire town.  In late 2015 the Hub building, named Ludgate after a 19th Century Irish designer of an analytical engine, opened coincident with the co-located 2015 National Digital Week event.

Last week, the NDW 16 event was once again held in Skibbereen, attended by some 1600 delegates from all over Ireland with 70 speakers and 2 arenas. Speakers included big names such as Google, Paypal, Uber, AirBnB. But what is really interesting about this event is that in spite of the “digital” theme, most of the sessions were about applications, people, collaborations and experiences.

West Cork, like most of Ireland has extensive farming interest. A session that resonated with me was the speaker that showed an image of an obviously recent, top of the range model combine harvester, who quickly went on to show an even newer harvester image, asking the question, “why would I replace a great piece of machinery so quickly, particularly in an uncertain economic climate?” And he proceeded to show the direct cost benefit of the newer model that with GPS guidance and yield data analysis enables huge improvement in cropping precision, efficiency and yield. I never did get to ask when the driverless combine would be available, but we can probably assume it’s not far away. The speaker also commented that this level of technology is fully in production, available to and easily usable by farmers today, and doesn’t just collect big data, but integrates with farm management to instruct fertiliser, treatment and cutting programs. The net effect is to de-skill the farm management task and improve the consistency and quality of outcomes.

Although very impressive, in many ways this farming case study is actually quite ordinary. It’s an application of digital technology that extends existing practices for improved cost benefit. What really caught my attention was the series of presentations on the “sharing economy”. Naturally there were presentations from the big names like Uber and AirBnB, both expressing concerns about government action or inaction preventing growth. For AirBnB certain cities came in for criticism. Uber asserts the Irish government is effectively protecting the incumbent taxi drivers and preventing rollout. Given both firms are very persuasive on the opportunities to create bigger marketplaces and, in the case of Uber, positively impact emissions, I wondered whether both firms would be better served if they worked with unions and governments to demonstrate how the business model and technologies could be used to extend, improve and integrate the old and new.  Maybe using smaller environments such as Skibbereen or Cork to act as exemplars, rather than taking the more confrontational approach casting the incumbents as Luddites.

A really instructive session introduced a seriously mundane application from Kollect, a local rubbish collection operator that has established a digital business offering “on-demand, pay as you go” rubbish collection. The householder uses a smartphone app to communicate his or her instructions for pickup when the bin is full. Kollect then coordinate the request to third party waste disposal companies who make the pickup. You might say a variant on the Uber model for rubbish collection that claims to reduce collection costs by up to 40%. A big deal in Ireland where bin charges are often highly contentious. This demonstrates like nothing else the pervasiveness of digital opportunities.

A similarly instructive session came from a very impressive Dublin not for profit organization, Food Cloud. They started in an incredibly small, local way to try to address the huge amount of food wasted in the retail supply chain by redistributing to worthy causes. Initially they enabled small businesses to communicate leftovers and collection times at the end of the day by smartphone app and then establish demand from charities. This simple idea has been picked up by food giants like Tesco who have integrated the concept into their own instore systems to make donation part of their core process, and now has grown into a significant operation redistributing food from over 1000 stores to over 3000 charities in the UK and Ireland. Here we see digitization enabling collaborative processes operating for the public good, while reducing costs for the retailer.

Anne O’Leary, CEO Vodafone Ireland spoke about how Ludgate is a focal point for digitization in West Cork and how firms have embraced the concept. Larger Dublin based tech firms are now facilitating employees to work remotely out of the hub; smaller, local firms are setting up in the hub to have access to the hi-speed network facilities. Overall the hub is seen as a great success and delivering on the promise of supporting up to 75 people in the creative co-working environment with the long term objective to create 500 direct jobs and 1000 indirect jobs via a sustainable digital economy for Skibbereen and the wider West Cork area. She went on to say that the SIRO partnership views Skibbereen as a prototype, and is now planning a further rollout to establish 50 hub towns across Ireland.

The following day I was sitting in my kitchen with a neighbour – a lecturer in horticulture. He told me he has a project in progress to plant two thousand and twenty apple trees in and around Skibbereen by the year 2020. The idea being to introduce a greener environment with pervasive blossom in the Springtime, adding to the charm of the town. He is harnessing the enthusiasm of his students to identify the sites, make agreement with owners, to clear the ground, plant, nurture and critically to collect data. He plans to collaborate with digital folk in and around the hub to develop an app and website that will monitor and manage the project, and to establish a research base for different varieties of tree, tracking and publishing crop data that will be of great interest to apple growers everywhere. An outstanding example of how the hub is encouraging students in non-technical disciplines to engage with digital transformation, increasing their understanding of horticulture science by using big data techniques for improved plant management, while improving the environment for everyone.

Notwithstanding the “digital” branding, the NDW16 event was actually little to do with technology; it was all about application of technology and the ability of the new technology platforms to support collaboration of multiple parties. The digital hub clearly acts as an accelerator. The network and technology enabled working spaces facilitate new businesses, new business models and improved remote working conditions for larger companies. But the real digital transformation occurs as non-technical individuals and teams apply their current skills and expertise to leverage the technology and develop new improved business models. And the opportunities for new and existing businesses, not for profits, informal groups and individuals, in fact everyone are unlimited. Simply put, the maturity of the technology platforms is such that we should expect the digitization of pretty much everything we do or engage with, will happen very rapidly over the next few years. Of course change isn’t always comfortable for everyone, and the AirBnB and Uber examples remind us that new business models must address sociological impacts. But as the de facto foreign direct investment model in Ireland comes under pressure from political earthquakes in the UK and USA, the idea that Ireland could rapidly grow significant indigenous capability doesn’t seem impossible. Finally, it must be noted that this initiative has been achieved without government support, by voluntary effort, private investment.

6 years, 10 months ago

Legacy Modernization for Digital Transformation

For years legacy modernization has been the Cinderella of IT. Everyone knows legacy systems are a massive drag on the business, but there has rarely been a compelling business case to justify the perceived cost and risk involved in modernization. But things are changing! In a recent report [1] McKinsey said, “Outdated IT systems are often the biggest Achilles’ heel for established companies seeking to compete successfully against upstarts. To obtain the same cost and performance benefits that online companies enjoy, established companies need an IT architecture that is modular, simple, customer-centric, and configurable—and they need it quickly.”

In a recent Gartner survey [2], 45 percent of respondents with knowledge of their organization’s software strategy indicated that one of the current top five IT project priorities is “application modernization of installed on-premises core enterprise applications” and a further 41 percent indicated that “extending capabilities of core enterprise applications” is a top five priority,

Gartner predicts [2] that by 2020, 75 percent of application purchases supporting digital business will be “build,” not “buy.” Gartner’s research shows that many organizations already favour a new kind of “build” that does not include out-of-the-box solutions, but instead is a combination of application components that are differentiated, innovative and not standard software or software with professional services (for customization and integration requirements), or solutions that are increasingly sourced from start-ups, disrupters or specialized local providers.

Forrester have said recently [3] that application development is the key strategy for firms transforming to digital. As I said last year [4] “most . . . innovating companies are . . . demonstrating the extraordinary innovation, productivity and quality that can be achieved by a convergence of business and IT skills and expertise . . . changing from command and control to delegated responsibility development models. Yet Forrester also advise that there are insufficient developers to meet demand, and that innovation in development tools has not met market demand.  

Further Agile methods are not the panacea they are cracked up to be. In 2014 I observed [5], “The most common concern our customers voiced . . was the unexpected outcomes of Agile projects. They don’t talk about failure as such. But they do talk about loss of consistency; inability to govern; lack of coordination and the increasing time to market.”  While there has been a rush by consultants to promote and enterprises to adopt scaled agile frameworks, I continue to observe projects struggling to disprove Newton’s third law, as they attempt to manage hugely complex efforts with yesterday’s life cycle tooling and technology.

And it’s here that we need to get over the Cinderella syndrome and embrace the idea that modernization is not business as usual. Modernization applies to everything you do – including how you build systems. As Jason Bloomberg said [6] last year, “For specific legacy capabilities to properly support the digital transformation, we need a better approach for abstracting legacy assets to drive agility, an architectural approach freed from middleware and laser focused on the business agility drivers from the digital transformation initiative.” In order to modernize you don’t just need more developers or partners as Forrester suggest; you need to reinvent the business process and solutions delivery activity.
The diagram below illustrates a dynamic systems model for factory based Agile Modernization.

Essentially modernization needs to become business as usual; every program, project and increment must be progressively modernizing the legacy backend as necessary, in an inherently Agile modernization process. Product and Modernization backlogs must have equal priority. The delivery tooling and process needs to be common to forward engineering and modernization, and Oh by the way, needs to be massively productive and high quality. A good way to do this is to use an Agile factory approach that a) restructures and rationalizes applications into services, b) separates everything that is common or reusable, or should be standardized into the development platform, c) manages development artifacts dependency and d) allows and leaves the technology binding as late as possible. For discussion of how this Agile modernization works see recent blog [7] – Scaled Agile Factory.

[1] Two ways to modernize IT systems for the digital era, McKinsey
[2] Gartner Says Modernization and Digital Transformation Projects Are Behind Growth in Enterprise Application Software Market
[3] Digital Transformation and the Modernization Imperative, Forrester
[4] Modernizing the modernization strategy, David Sprott’s Blog
[5] Understanding Agile Adoption Failure, David Sprott’s Blog
[6] Two Digital Transformation Time Bombs, Jason Bloomberg, Wired
[7] Scaled Agile Factory, David Sprott’s Blog

7 years, 19 days ago

Realizing the Software Defined Enterprise

While Gartner seem to be the primary advocates of software defined everything, (SDx) it’s rather obvious that SDx is primarily focused on service delivery, infrastructure and networks. I give full credit to Jason Bloomberg for exploring software defined development and devops in his recent blog. [1] He merges SDx and Shift Left ideas saying,  “If we combine no-code with DevOps properly, we now have a way of abstractly representing working production software, including its functionality. Not just the limited-scope apps that some no-code platforms are best known for, but full-blown, enterprise-class applications – created from nothing but their abstract representations with the push of a button.”

Heady stuff! In fact Jason  dismisses any skepticism advocating high risk strategies as necessary for digital transformation, “Given the exponential pace of technology innovation all around us, the greater risk is that we miss the full significance of Software-Defined Everything and its impact on the digital enterprise – until it’s too late.”

Wise heads may be shaking at this point; many will remember early attempts at diagrams to code, computer assisted systems engineering, model based development etc. All of which work in a limited manner, but never achieved the level of capability that is necessary to support enterprise class environments. However it has been clear for some time that this is a realistic goal. The basic concepts were articulated by Jack Greenfield and Keith Short in 2004 while they were at Microsoft, described as the Software Factory – “the configuration of extensible tools, processes and content using a software factory template based on a software factory schema to automate the development and maintenance of variants of an archetypal product by adapting and configuring framework based components.” [2]

Where I part company with Jason is in his promotion of “no-code” as the primary ambition in conjunction with integrated DevOps. The software factory is a “low” code environment, unlike no-code environments under full control of the developer community, who codify common patterns to allow standardization and assembly of common code to perform repeatable tasks; establishing an exceptionally high quality and productivity environment customized for the unique needs of a specific enterprise. But the really big value adds are that the factory governs reference architecture compliance and facilitates evolutionary development, enabling continuous change in initial development and the operational state, because all artifacts are under management. That’s not the full story; there are some key principles that make this practical:
1. A formal reference architecture is required to allow full life cycle meta data management and standardization of delivered artifacts. Note here I mean reference as meta-objects. A key aspect of the reference architecture is that everything is delivered as a service according to defined behavioral and dependency policies that enforce separation of concerns at all levels and reduce dependencies.
2. Rigorous specification of business services and rules independent of implementation. (the abstract representations referred to above) that support test driven development and provide high visibility of intra-project dependencies.
3. Abstracted specification interface removes requirement for (UML or similar) modelling skills. Allows business or business proxies to be responsible for the specification task.
4. Design by contract establishes strong boundaries, visible dependencies and separation of concerns.
5. Automation of infrastructure and codification of exemplar patterns in common code using software factory concepts.
6. Late (generation time) bound technology, allowing open technology architecture (platforms and frameworks) and inheritance of architectural changes with minimal impact on functional code.
7. Design by exception – only new patterns require design. Regular patterns are already codified in the factory.
8. Seamless linkage with Continuous Integration, Test Automation and DevOps.
9. Scalable Agile delivery process uses managed artifacts to provide high visibility of dependencies.
10. Continuous modernization process enables evolutionary capability development and change.

Reading this list, you might be tempted to say, this is just model driven development, or limited code environment, or SOA code generation etc. But the sum of the parts is greater than the whole – it’s a new model which is inherently business driven, with clear separation of business specification and implementations and technology. We call it the Agile Service Factory. [3] Today it is being used to deliver very large scale, enterprise class modernization projects [4] with exceptional productivity and quality, and the outcomes are inherently agile business services and solutions.

References:
1.  Building the Software-Defined Digital Enterprise (Part 2), Jason Bloomberg
2.   Software Factories, Jack Greenfield and Keith Short, Wiley, 2004
3. The Agile Service Factory
4. White Paper: Modernization with Service Architecture & Engineering and the Agile Service Factory

7 years, 5 months ago

Scaled Agile Factory – Going Beyond the Usual Suspects

Abstract: If you address the question of how to scale Agile projects by considering what framework to use, you are only looking at one aspect of the problem. Scaling is all about coordination – managing enterprise considerations and cross program dependencies, and the defacto frameworks (SAFe, LeSS and DAD) focus on the people and process dimensions. However, in combination with a factory approach you may be able to automate many of the compliance and dependency management issues.

The question of how to scale Agile development has been around a while. In January 2015 I commented [1] on a clear trend in which my customers were voicing concerns about loss of consistency; inability to govern; lack of coordination and increasing time to market. Since then I have observed many large organizations adopting SAFe (Scaled Agile Framework) perhaps because it appears to be the only game in town, or perhaps there’s good marketing or there’s strength in numbers. But the criticisms of SAFe [2] haven’t gone away. The central and continuing concern is that SAFe compromises core Agile principles of self-organizing, cross functional teams that have full responsibility for the delivery of potentially shippable increments. And that SAFe looks suspiciously like WaterScrumFall because there’s a high overhead of portfolio, value stream and project management and in all probability intentional architecture. Now I have mixed opinions on SAFe; I see positives in value streams and product management which are important. And for organizations that have large programs, highly organized, structured approaches will be seen as lower risk, and indeed something that takes them some way down the Agile path, without straying too far from conventional management comfort zones. But the outcomes are unlikely to be inherently “agile”.

What SAFe does, is provide a rather conventional approach for a complex problem that most enterprises have – that is to deliver high integrity solutions that can work in an enterprise context that demands cross project dependency management, consistent data and reference architecture, collaboration with the existing portfolio complexities, compliance with enterprise standards and governance etc.

There are alternatives. Craig Larman and Bas Vodde in their books [3] and more recently with their LeSS initiative [4] have pursued a very different path that starts with Scrum and scales by understanding the needs for coordination while adhering to core Scrum principles. In their forthcoming book [5] they say, “LeSS is (1) lightweight, (2) simple to understand, and (3) difficult to master—due to essential complexity”. And this allows us to contrast the different approaches; while SAFe clearly works at some level, it has its roots in conventional large scale project management, whereas LeSS is lightweight, but requires much deeper understanding of the systems dynamics because of the inherent complexity of all the coordination requirements.
So the real question underlying Scaling Agile should be, “can we address some of the coordination requirements in a manner that reduces complexity and eliminates some of the need for additional layers of management or events?”

In my post Service Factory 2.0 [6] I describe the conceptual background of the Software Factory, ideas pioneered by my old friend Keith Short and Jack Greenfield while they were at Microsoft. Today these have evolved and become specialized around a framework of tools, repeatable processes and patterns for creation and assembly of services – manifest as first order components with formal interfaces. If you consider that all core business functionality is increasingly composed of services and their operations, this provides us with a reference architecture that by design implements separation of concerns.  Figure 1 below is a conceptual view of the scope of the service factory in terms of managed objects.

Figure 1
Naturally there will be other patterns involved in any solution including UX and workflow; but for most enterprise class solutions, a high proportion of the functionality should comprise services and business rules. This allows a consistent, highly automated approach to architecture, requirements specification, design and test. The factory effectively implements a proven service reference architecture as a platform which can be customized for individual programs, projects and technologies. While the factory platform is similar to an architecture runway in scope and intent, because it is model based the factory framework enables continuous evolution of the platform capabilities that are automatically inherited into work in progress factory code allowing program wide changes to be incorporated, often with minimal or no change to the service specific code. And the factory is a repository of the life cycle artifacts that can be leveraged for various management tasks including governance of traceability, impact analysis, etc. 
Let’s consider the key coordination and management activities typically required in a scaled agile program and how the factory may facilitate that. In Figure 2 below I have used the SAFe layers of portfolio, program and team, albeit without the value stream level. But apart from that, the view is intended to be framework neutral. The diagram illustrates how the Factory provides a full life cycle backplane that establishes the underlying (meta) model that ensures all the participants are in compliance with core concepts from portfolio planning through to delivery and production. The populated model is therefore able to provide essential information particularly about dependencies, but equally complete traceability and governance between business requirements and delivered services and rules.  
Figure 2
In the LeSS framework, Larman and Vodde disregard constructs such as ART (Agile Release Train) and 8 to 12 week PIs (Program Increments) and also the Hardening Sprint, preferring to use the standard Scrum duration of 2 to 4 weeks, with continuous integration.  We might assume these management constructs (ARTs and PIs) were invented because of the difficulty of effective inter team communications, and the overhead that creates. Larman and Vodde have a lot of good ideas about how to manage effective inter Teams communications, but their approach is essentially based on feature or story dependencies. In the factory environment inter-team dependencies can be more accurately based on service operation dependencies. But this is just the tip of the iceberg, in terms of how the factory can be leveraged to manage activity. The service specification becomes a pivotal work product; as it becomes available other teams and team members have access to detailed behaviour information that can inform and facilitate working ahead for developing depending services, test case development including automation assistance in case development, plus devops. 
Another huge issue in Agile projects is managing technical debt. In the factory environment the standard patterns generate all the infrastructure and shared code, and when changes take place, as discussed above, teams can perform an architecture update, inheriting all the changes to bring their project in line with the latest reference architecture. And because the factory is driven by the specification level, independent of technology it is inherently late binding, allowing change if technology with minimum impact.  
By utilizing work products that are part of a defined process based on the full life cycle reference architecture, the factory approach reduces the essential complexity of the scaling task. All moving parts are under management. This doesn’t detract from the inherent purity of the Agile approach. Rather, the defined process provides clarity over the minimum necessary “planning work” (intentional architecture, rules definition and business requirements). And the reference architecture and factory process provide a firm foundation on which emergent architecture can be more effectively carried out by the cross functional delivery team. This is likely to encourage programs to adopt a hybrid approach to their organizing model, embracing elements of LeSS like guidance to optimize multiple concurrent Scrum based sprints with continuous delivery, and to complement them with minimum necessary elements of SAFe, particularly those that are required to communicate to more conventional stakeholders. But, at least for mid-sized projects, maybe up to 10 teams, it seems overkill to adopt the formality of PI Planning and everything that comes with it.
In this post I have focused on the scaled Agile approach for projects, but it’s also useful to understand the factory has other important outcomes. First the highly modular nature of the reference architecture (see Figure 1) leads to “solutions” that are inherently agile. Because solutions are comprised primarily of services and rules with strong formal contracts, implemented using component based implementation patterns, the horizon of change is likely to be very constrained. Further the specification approach in which services, rules, data and processes are defined independent of implementation and technology provides high levels of visibility to the business, and high transparency and traceability of the implemented solution. Finally, we have a way to realize architecture in inherently agile solutions without Big Upfront Design, or indeed Big Upfront Organization, that will of course never become legacy because they can be continuously evolved. 
[2] Reasoned criticisms of SAFe
[3] Scaling Lean & Agile, Craig Larman and Bas Vodde, Addison Wesley, 2009
7 years, 7 months ago

Going Beyond Defined Agile Methods

I’ve been spending nearly half my time in Philadelphia over the past while, and I just happened to have a spare Saturday yesterday, so I hightailed it downtown. I had two objectives – to explore the Museum of Art and to attend a Brahms concert by the Philadelphia Symphony Orchestra. One of the featured exhibitions in the adjacent Perelman Building caught my eye. It’s named, Work on What You Love: Bruce Mau Rethinking Design. I wasn’t sure what to expect; I certainly hadn’t heard of Bruce Mau before, but I am always interested in design and design methods.

The gallery is essentially laid out to be controversial, to challenge one’s status quo thinking. In a video, Mau says, “practically everything that we do is being designed or redesigned; if you think about the way that we live now our life from womb to tomb is a design experience. If we want a great life experience you have to design it.” Mau goes on to say his work is focused on allowing people who aren’t designers to have access to the power of design, in their life, their work, in their business. Giving people the tools to design their future in a highly positive way.

Almost at the door of the gallery is a huge exhibit detailing his “incomplete manifesto for growth”. And the manifesto principles look like a superset of the Agile development manifesto, but writ large, with vastly greater ambition. First there are 43 principles. What! I say to myself, how can that many principles be useful? But of course once you start reading you are hooked. The Agile principles are embedded, but there’s much more. Let me give you a taster:

1. Allow events to change you. You have to  be willing to grow. Growth is different from something that happens to you. You produce it.

5. Go deep. The deeper you go the more likely you will discover something of value.

8. Drift. Allow yourself to wander aimlessly. Explore adjacencies. Lack judgment. Postpone criticism.

9. Begin anywhere. John Cage tells us that not knowing where to begin is a common form of paralysis. His advice: begin anywhere.

13. Slow down. Desynchronize from standard time frames and surprising opportunities may present themselves.

16. Collaborate. The space between people working together is filled with conflict, friction, strife, exhilaration, delight, and vast creative potential.

20. Be careful to take risks. Time is genetic. Today is the child of yesterday and the parent of tomorrow. The work you produce today will create your future.

22. Make your own tools. Hybridize your tools in order to build unique things. Even simple tools that are your own can yield entirely new avenues of exploration. Remember, tools amplify our capacities, so even a small tool can make a big difference.

29. Think with your mind. Forget technology. Creativity is not device–dependent.

31. Don’t borrow money. Once again, Frank Gehry’s advice. By maintaining financial control, we maintain creative control. It’s not exactly rocket science, but it’s surprising how hard it is to maintain this discipline, and how many have failed.

39. Coffee breaks, cab rides, green rooms. Real growth often happens outside of where we intend it to, in the interstitial spaces—what Dr. Seuss calls “the waiting place.”

41. Laugh. People visiting the studio often comment on how much we laugh. Since I’ve become aware of this, I use it as a barometer of how comfortably we are expressing ourselves.

These are just a sample. You get the idea. This is Agile for the real world. For those people that are stuck in the zone of religious adherence to Agile development methods this may be anathema. But it’s a wakeup call. Invent your own.

The complete list and much more . . .

Work on What You Love: Bruce Mau Rethinking Design
November 21, 2015 – April 3, 2016

AFTERWORD: I wonder to what extent these principles map to a variety of design disciplines? In fact surely all design disciplines are creative processes. Would this include musical composition? I see no reason why not.

7 years, 7 months ago

Going Beyond Defined Agile Methods

I’ve been spending nearly half my time in Philadelphia over the past while, and I just happened to have a spare Saturday yesterday, so I hightailed it downtown. I had two objectives – to explore the Museum of Art and to attend a Brahms concert by the Philadelphia Symphony Orchestra. One of the featured exhibitions in the adjacent Perelman Building caught my eye. It’s named, Work on What You Love: Bruce Mau Rethinking Design. I wasn’t sure what to expect; I certainly hadn’t heard of Bruce Mau before, but I am always interested in design and design methods.

The gallery is essentially laid out to be controversial, to challenge one’s status quo thinking. In a video, Mau says, “practically everything that we do is being designed or redesigned; if you think about the way that we live now our life from womb to tomb is a design experience. If we want a great life experience you have to design it.” Mau goes on to say his work is focused on allowing people who aren’t designers to have access to the power of design, in their life, their work, in their business. Giving people the tools to design their future in a highly positive way.

Almost at the door of the gallery is a huge exhibit detailing his “incomplete manifesto for growth”. And the manifesto principles look like a superset of the Agile development manifesto, but writ large, with vastly greater ambition. First there are 43 principles. What! I say to myself, how can that many principles be useful? But of course once you start reading you are hooked. The Agile principles are embedded, but there’s much more. Let me give you a taster:

1. Allow events to change you. You have to  be willing to grow. Growth is different from something that happens to you. You produce it.

5. Go deep. The deeper you go the more likely you will discover something of value.

8. Drift. Allow yourself to wander aimlessly. Explore adjacencies. Lack judgment. Postpone criticism.

9. Begin anywhere. John Cage tells us that not knowing where to begin is a common form of paralysis. His advice: begin anywhere.

13. Slow down. Desynchronize from standard time frames and surprising opportunities may present themselves.

16. Collaborate. The space between people working together is filled with conflict, friction, strife, exhilaration, delight, and vast creative potential.

20. Be careful to take risks. Time is genetic. Today is the child of yesterday and the parent of tomorrow. The work you produce today will create your future.

22. Make your own tools. Hybridize your tools in order to build unique things. Even simple tools that are your own can yield entirely new avenues of exploration. Remember, tools amplify our capacities, so even a small tool can make a big difference.

29. Think with your mind. Forget technology. Creativity is not device–dependent.

31. Don’t borrow money. Once again, Frank Gehry’s advice. By maintaining financial control, we maintain creative control. It’s not exactly rocket science, but it’s surprising how hard it is to maintain this discipline, and how many have failed.

39. Coffee breaks, cab rides, green rooms. Real growth often happens outside of where we intend it to, in the interstitial spaces—what Dr. Seuss calls “the waiting place.”

41. Laugh. People visiting the studio often comment on how much we laugh. Since I’ve become aware of this, I use it as a barometer of how comfortably we are expressing ourselves.

These are just a sample. You get the idea. This is Agile for the real world. For those people that are stuck in the zone of religious adherence to Agile development methods this may be anathema. But it’s a wakeup call. Invent your own.

The complete list and much more . . .

Work on What You Love: Bruce Mau Rethinking Design
November 21, 2015 – April 3, 2016

AFTERWORD: I wonder to what extent these principles map to a variety of design disciplines? In fact surely all design disciplines are creative processes. Would this include musical composition? I see no reason why not.

7 years, 10 months ago

Modernizing the modernization strategy

I was amused this week to be contacted by Researchgate, a syndication platform that have somehow republished my paper Enterprise resource planning: Componentizing the enterprise application packages that was originally published in April 2000 by the ACM. [ref 1] It was entertaining reading something I authored over 15 years ago, but quite refreshing that much of the thinking makes sense today. The gist of the paper was to discuss how some of the package vendors had responded to the impending Y2K event by componentizing and service enabling their packages, many of which at that time were exemplars of the worst monolithic application architecture (sic). At that time I observed that the componentization was a key factor in the huge growth of the EAI (enterprise application integration) market, and provided a genuine alternative to the conventional “buy or build” choice by enabling “buy, build or reuse”.

And this is really where my thinking has evolved considerably. Fifteen years ago we were very focused on transactional systems with a much lower requirement for flexibility. Today, and indeed for the past decade, I advise a radically different approach which is much more strongly business focused.

All too often the big question that bubbles to the surface is “should we buy or build?” And not surprisingly the buy option is often seen as an easier option because current systems are viewed as problematic and the organization has little or no competence in large scale systems development. In fact, for many organizations that have outsourced IT, development is not seen as a core business capability. So the question of buy or build becomes focused on whether a suitable package exists at an affordable price, where suitable means “supports our processes and information needs as we understand them today”.  And package vendors are well equipped to demonstrate how they have readymade and low risk capabilities that have high levels of configurability.

These days I advise a focus on just two important questions:

1. What are the systems requirements of our future business?
Many enterprises recognize their business models are changing rapidly and that there are numerous triggers, including technology, regulation, demographics, climate change, economics and more, that only indicate much more volatility. Most enterprises operate established sector specific models that have many conceptual elements that are shared with competitors, with clear areas of differentiation. Geoffrey Moore [ref 2] gave us excellent vocabulary to describe the Core and Context areas of our business, in which Core business capabilities should be highly differentiating and Context capabilities are managed to be equivalent to the competition, but no better. So the primary question to attempt to answer is, how might the balance between Core and Context shift over the coming years? If the shift is likely to be towards the Context, where competitive equality is a high probability outcome, then a buy solution “may” be appropriate if there is a package that really fits with the business model. This could well be true of highly regulated industries, semi-state organizations etc. However all the signs are that in the general commercial market there is likely to be a frenzy of innovation of core capabilities. That a high level of unpredictability inherent in some of the major triggers would indicate the most appropriate strategy will prioritize maximum flexibility  and response to change. And that leads on to the second important question.  
2. What are the cultural requirements of the future business? 
Everyone will recognize the extraordinary innovation culture demonstrated by organizations such as Amazon, Google and the vast numbers of start-ups leveraging technology opportunities. And this cultural paradigm shift is not restricted to so called Internet companies. Many large, conventional businesses recognize the existential threat and have responded, integrating bricks and mortar operations and processes with Internet portals, apps, IoT and B2B architectures. Crucially evolving their products and services in which information is an integral component. And most of these innovating companies are exploring Agile development practices demonstrating the extraordinary innovation, productivity and quality that can be achieved by a convergence of business and IT skills and expertise. Some of these organizations have reinvented their business models because they have been brave enough to change from command and control to delegated responsibility development models. They are demonstrating tomorrow’s enterprise is an information enterprise where conventional demarcation lines between IT and business need to be challenged and reengineered. Do packaged solutions have a place in such a high innovation culture? Of course – for the obviously Context areas of the business such as general ledger and receivables they make sense. But for Core business capabilities, a packaged solution must look like the dead hand of a commodity.
You may ask, “but back in April 2000 you expected a flourishing integration market, based on buy, build and reuse, why is that not applicable today?” And my answer is, “That actually happened in the noughties. But today we have a different challenge. Burdening creative people with huge integration and semantic transformation complexity is not a great way to reinvent the future business, as the past will be an anchor holding you back. Integration will be necessary and essential, but your core business architecture should be optimized as much as possible”
In a recent blog post I said, “modernization is not about achieving a new plateau of capability and functionality. Rather it is about enabling continuous, short cycle time response to change”. It’s about creating an Agile Enterprise.
CODA: Geoffrey Moore’s concept of Core relates to the centrality and mission critical nature of a capability. This should not be confused with the CBDI-SAE concept of Core Business Service, which is the service layer managing the state of the business. 
References:
1. Componentizing the enterprise application packages , David Sprott. ACM April 2000 
Researchgate  (public domain)
ACM (subscription or pay as you go)
2. Geoffrey Moore, Dealing With Darwin
7 years, 10 months ago

Modernizing the modernization strategy

I was amused this week to be contacted by Researchgate, a syndication platform that have somehow republished my paper Enterprise resource planning: Componentizing the enterprise application packages that was originally published in April 2000 by the ACM. [ref 1] It was entertaining reading something I authored over 15 years ago, but quite refreshing that much of the thinking makes sense today. The gist of the paper was to discuss how some of the package vendors had responded to the impending Y2K event by componentizing and service enabling their packages, many of which at that time were exemplars of the worst monolithic application architecture (sic). At that time I observed that the componentization was a key factor in the huge growth of the EAI (enterprise application integration) market, and provided a genuine alternative to the conventional “buy or build” choice by enabling “buy, build or reuse”.

And this is really where my thinking has evolved considerably. Fifteen years ago we were very focused on transactional systems with a much lower requirement for flexibility. Today, and indeed for the past decade, I advise a radically different approach which is much more strongly business focused.

All too often the big question that bubbles to the surface is “should we buy or build?” And not surprisingly the buy option is often seen as an easier option because current systems are viewed as problematic and the organization has little or no competence in large scale systems development. In fact, for many organizations that have outsourced IT, development is not seen as a core business capability. So the question of buy or build becomes focused on whether a suitable package exists at an affordable price, where suitable means “supports our processes and information needs as we understand them today”.  And package vendors are well equipped to demonstrate how they have readymade and low risk capabilities that have high levels of configurability.

These days I advise a focus on just two important questions:

1. What are the systems requirements of our future business?
Many enterprises recognize their business models are changing rapidly and that there are numerous triggers, including technology, regulation, demographics, climate change, economics and more, that only indicate much more volatility. Most enterprises operate established sector specific models that have many conceptual elements that are shared with competitors, with clear areas of differentiation. Geoffrey Moore [ref 2] gave us excellent vocabulary to describe the Core and Context areas of our business, in which Core business capabilities should be highly differentiating and Context capabilities are managed to be equivalent to the competition, but no better. So the primary question to attempt to answer is, how might the balance between Core and Context shift over the coming years? If the shift is likely to be towards the Context, where competitive equality is a high probability outcome, then a buy solution “may” be appropriate if there is a package that really fits with the business model. This could well be true of highly regulated industries, semi-state organizations etc. However all the signs are that in the general commercial market there is likely to be a frenzy of innovation of core capabilities. That a high level of unpredictability inherent in some of the major triggers would indicate the most appropriate strategy will prioritize maximum flexibility  and response to change. And that leads on to the second important question.  
2. What are the cultural requirements of the future business? 
Everyone will recognize the extraordinary innovation culture demonstrated by organizations such as Amazon, Google and the vast numbers of start-ups leveraging technology opportunities. And this cultural paradigm shift is not restricted to so called Internet companies. Many large, conventional businesses recognize the existential threat and have responded, integrating bricks and mortar operations and processes with Internet portals, apps, IoT and B2B architectures. Crucially evolving their products and services in which information is an integral component. And most of these innovating companies are exploring Agile development practices demonstrating the extraordinary innovation, productivity and quality that can be achieved by a convergence of business and IT skills and expertise. Some of these organizations have reinvented their business models because they have been brave enough to change from command and control to delegated responsibility development models. They are demonstrating tomorrow’s enterprise is an information enterprise where conventional demarcation lines between IT and business need to be challenged and reengineered. Do packaged solutions have a place in such a high innovation culture? Of course – for the obviously Context areas of the business such as general ledger and receivables they make sense. But for Core business capabilities, a packaged solution must look like the dead hand of a commodity.
You may ask, “but back in April 2000 you expected a flourishing integration market, based on buy, build and reuse, why is that not applicable today?” And my answer is, “That actually happened in the noughties. But today we have a different challenge. Burdening creative people with huge integration and semantic transformation complexity is not a great way to reinvent the future business, as the past will be an anchor holding you back. Integration will be necessary and essential, but your core business architecture should be optimized as much as possible”
In a recent blog post I said, “modernization is not about achieving a new plateau of capability and functionality. Rather it is about enabling continuous, short cycle time response to change”. It’s about creating an Agile Enterprise.
CODA: Geoffrey Moore’s concept of Core relates to the centrality and mission critical nature of a capability. This should not be confused with the CBDI-SAE concept of Core Business Service, which is the service layer managing the state of the business. 
References:
1. Componentizing the enterprise application packages , David Sprott. ACM April 2000 
Researchgate  (public domain)
ACM (subscription or pay as you go)
2. Geoffrey Moore, Dealing With Darwin
8 years, 1 month ago

Enterprise Modernization – The Next Big Thing!

“We tend to think the strong will survive, but a virus is a very small thing that kills big things.” Horace Dediu, Clayton Christensen Institute, speaking about the fall of Nokia.

All enterprises, be they large or small, national or multinational, commercial or government agency, American or Chinese, Japanese or European, are carrying the dead weight of their history and almost certainly continuing to add unnecessary complexity and excessive cost that will progressively reduce effectiveness, with the potential to trigger existential crises. Newer enterprises including Internet platform and Cloud based companies are not immune from this effect. As Horace Dediu has commented, Nokia is a classic case of a large enterprise brought from market leadership to irrelevance and zero value in an extremely short space of time.

In the past, modernization has become synonymous with technically related “application modernization” The term “modernization” is commonly used to refer to information systems, applications and technologies. And it is very common for systems or applications to be “modernized” because a technology has come to the end of its life, or an application is so antiquated that it cannot support newer business process patterns such as multi-channel and mobile. More generally organizations clearly implement modernizing programs without necessarily using the modernizing name. For example transformation programs or projects will often involve considerable elements of modernization. Similarly adoption of Agile methods may be considered a form of process modernization. Or the introduction of DevOps practices, enterprise architecture, master data management, life cycle management etc. But it is notable that each of these forms of modernization are discipline centric. It is very rare for an enterprise to undertake concerted effort to understand what modernization really means for a specific enterprise and to plan and execute modernization that delivers inter-discipline collaboration in support of specific modernization objectives and goals.

Each enterprise has unique modernization needs. A bank may see a primary modernization goal to establish core banking systems that reduce the risk of negative customer impact, such as delays or errors in transaction processing. Also to be able to introduce price and product change in days or weeks. A healthcare company may similarly see the requirement to change prices rapidly but equally the need to rapidly implement new legislation. A retail enterprise may see the ability to interact with customers using processes that span multiple technology, shopping and delivery channels, and to be able to influence the customer decision making process to achieve maximum customer satisfaction.  A key element apparent in all these modernizing goals is that modernization is not about achieving a new plateau of capability and functionality. Rather it is about enabling continuous, short cycle time response to change, targeted at the very specific areas that are mission critical for the individual enterprise.

The problem with modernization is that it is widely perceived as slow, very expensive and high risk because the core business legacy systems are hugely complex as a result of decades of tactical change projects that inevitably compromise any original architecture. But modernization activity must not be limited to the old, core systems; I observe all enterprises old and new, traditional and internet based delivering what I call “instant legacy” [Note 1] generally as outcomes of Agile projects that prioritize speed of delivery over compliance with a well-defined reference architecture that enables ongoing agility and continuous modernization.

What’s required is a modernization approach and strategy that progressively breaks out business and technology components that establish highly independent units of business capability that comply with a reference model and architecture that ensures architecture agility and implements clear fire breaks between the components.

But as discussed, enterprises are extremely reluctant to undertake modernization as they see it as all cost and risk. Transformation projects are widely viewed in the same way. And anyway immediate business priorities always trump housekeeping!

There are various aspects to a successful modernization approach. But the most important are:
1. Define Agility Vectors. Identify the top priorities for business agility and integrate relevant actions into all business projects. Here are some examples:
a. Radical improvement (time and cost) in response to legislative change
b. Generalization of existing capabilities to support new products and services
c. Dramatic reduction in new product time to market
d. Integration of existing capabilities to leverage disparate channels
e. Separation of common and customer/channel specific capabilities
I refer to these as “vectors”. Mission critical goals that will require actions and change right across the organization. Single projects are generally not going to cut it. Therefore the vectors provide a mechanism to exert influence (demand shaping) over the incoming application demand management pipeline and to select and coordinate multiple project actions.
2. Mandate Reference Architecture for Agility. Establish a reference architecture for business agility that defines the minimum necessary architecture compliance to ensure continuous business evolution. Mandate that all core business capabilities are implemented as software services and components.
3. Integrate Agile Architecture AND methods. Implement Agile practices that give equal weight to agile architecture and agile project delivery. Demonstrate small, incremental delivery steps, business capability by capability, service by service.
4. Govern business agility. Automate governance by establishing model driven architecture and development tooling that ensures compliance with the reference architecture.
5. Integrate Business and IT. Practice conceptual business modelling to establish common business and IT vocabulary independent of existing applications, align business and software services and reengineer the organization around business capabilities and services.
6. Get top level sponsorship for the Enterprise Modernization Roadmap. Recognize enterprise modernization as a major business priority and elevate to the highest levels of the enterprise to make it happen.

The enormous, disruptive creativity of Silicon Valley is transforming how companies make decisions, store data, reach potential customers, outsource activities, processes and capabilities, and how people communicate, make friends, protest and shop. No enterprise is immune from this effect.

Accordingly, modernization today means reinventing the way enterprises work, the business model and systems, and being genuinely agile. You only do this by ripping up today’s world and turning it into a genuinely flexible structure of independent components that can flex and morph continuously.

Application Modernization should be long dead and buried. Enterprise Modernization is an existential priority for all enterprises, not just those with mainframes and COBOL!

Note 1: Understanding Agile Adoption Failure

8 years, 1 month ago

Enterprise Modernization – The Next Big Thing!

“We tend to think the strong will survive, but a virus is a very small thing that kills big things.” Horace Dediu, Clayton Christensen Institute, speaking about the fall of Nokia.

All enterprises, be they large or small, national or multinational, commercial or government agency, American or Chinese, Japanese or European, are carrying the dead weight of their history and almost certainly continuing to add unnecessary complexity and excessive cost that will progressively reduce effectiveness, with the potential to trigger existential crises. Newer enterprises including Internet platform and Cloud based companies are not immune from this effect. As Horace Dediu has commented, Nokia is a classic case of a large enterprise brought from market leadership to irrelevance and zero value in an extremely short space of time.

In the past, modernization has become synonymous with technically related “application modernization” The term “modernization” is commonly used to refer to information systems, applications and technologies. And it is very common for systems or applications to be “modernized” because a technology has come to the end of its life, or an application is so antiquated that it cannot support newer business process patterns such as multi-channel and mobile. More generally organizations clearly implement modernizing programs without necessarily using the modernizing name. For example transformation programs or projects will often involve considerable elements of modernization. Similarly adoption of Agile methods may be considered a form of process modernization. Or the introduction of DevOps practices, enterprise architecture, master data management, life cycle management etc. But it is notable that each of these forms of modernization are discipline centric. It is very rare for an enterprise to undertake concerted effort to understand what modernization really means for a specific enterprise and to plan and execute modernization that delivers inter-discipline collaboration in support of specific modernization objectives and goals.

Each enterprise has unique modernization needs. A bank may see a primary modernization goal to establish core banking systems that reduce the risk of negative customer impact, such as delays or errors in transaction processing. Also to be able to introduce price and product change in days or weeks. A healthcare company may similarly see the requirement to change prices rapidly but equally the need to rapidly implement new legislation. A retail enterprise may see the ability to interact with customers using processes that span multiple technology, shopping and delivery channels, and to be able to influence the customer decision making process to achieve maximum customer satisfaction.  A key element apparent in all these modernizing goals is that modernization is not about achieving a new plateau of capability and functionality. Rather it is about enabling continuous, short cycle time response to change, targeted at the very specific areas that are mission critical for the individual enterprise.

The problem with modernization is that it is widely perceived as slow, very expensive and high risk because the core business legacy systems are hugely complex as a result of decades of tactical change projects that inevitably compromise any original architecture. But modernization activity must not be limited to the old, core systems; I observe all enterprises old and new, traditional and internet based delivering what I call “instant legacy” [Note 1] generally as outcomes of Agile projects that prioritize speed of delivery over compliance with a well-defined reference architecture that enables ongoing agility and continuous modernization.

What’s required is a modernization approach and strategy that progressively breaks out business and technology components that establish highly independent units of business capability that comply with a reference model and architecture that ensures architecture agility and implements clear fire breaks between the components.

But as discussed, enterprises are extremely reluctant to undertake modernization as they see it as all cost and risk. Transformation projects are widely viewed in the same way. And anyway immediate business priorities always trump housekeeping!

There are various aspects to a successful modernization approach. But the most important are:
1. Define Agility Vectors. Identify the top priorities for business agility and integrate relevant actions into all business projects. Here are some examples:
a. Radical improvement (time and cost) in response to legislative change
b. Generalization of existing capabilities to support new products and services
c. Dramatic reduction in new product time to market
d. Integration of existing capabilities to leverage disparate channels
e. Separation of common and customer/channel specific capabilities
I refer to these as “vectors”. Mission critical goals that will require actions and change right across the organization. Single projects are generally not going to cut it. Therefore the vectors provide a mechanism to exert influence (demand shaping) over the incoming application demand management pipeline and to select and coordinate multiple project actions.
2. Mandate Reference Architecture for Agility. Establish a reference architecture for business agility that defines the minimum necessary architecture compliance to ensure continuous business evolution. Mandate that all core business capabilities are implemented as software services and components.
3. Integrate Agile Architecture AND methods. Implement Agile practices that give equal weight to agile architecture and agile project delivery. Demonstrate small, incremental delivery steps, business capability by capability, service by service.
4. Govern business agility. Automate governance by establishing model driven architecture and development tooling that ensures compliance with the reference architecture.
5. Integrate Business and IT. Practice conceptual business modelling to establish common business and IT vocabulary independent of existing applications, align business and software services and reengineer the organization around business capabilities and services.
6. Get top level sponsorship for the Enterprise Modernization Roadmap. Recognize enterprise modernization as a major business priority and elevate to the highest levels of the enterprise to make it happen.

The enormous, disruptive creativity of Silicon Valley is transforming how companies make decisions, store data, reach potential customers, outsource activities, processes and capabilities, and how people communicate, make friends, protest and shop. No enterprise is immune from this effect.

Accordingly, modernization today means reinventing the way enterprises work, the business model and systems, and being genuinely agile. You only do this by ripping up today’s world and turning it into a genuinely flexible structure of independent components that can flex and morph continuously.

Application Modernization should be long dead and buried. Enterprise Modernization is an existential priority for all enterprises, not just those with mainframes and COBOL!

Note 1: Understanding Agile Adoption Failure