| strategy | research | technology | training | publications | about | contact |
Application Development After the Revolution |
|
wairua
» publications » application
development after the revolution
Andy
Williamson, Wairua Consulting AbstractThe Internet revolution has happened and yesterday's new kid on the block is grown up, online and mobile. The virtual Winter Palace has been stormed, the dust has settled and reality is resumed. But this is a different reality from before, one where the boundaries between technologist, designer and marketer blur uneasily then evaporate altogether. In this new reality, the only constant is rapid change and the road to success is built on three simple rules:
New environments, products, platforms and acronyms hit us everyday at the speed of hype. Applications are delivered quickly and must exceed customer expectations or die in a world where your competitor is only a click away. Often this means jettisoning traditional practices for the cut and thrust of a back-of-a-beer mat specification, where prototyping becomes little more than a metaphor for "just do it". This is not a recipe for success, with many projects delivering software that is poorly designed, unreliable and inefficient. Ultimately it leaves businesses with unforeseen expenses for maintenance and enhancements. Backtracking to the days of traditional development methodologies is not realistic either; this would stifle creativity and slow down delivery. Like all revolutions, it is what happens after the bullets stop flying and actions count, not words. Educators and industry need to grasp this opportunity now and ensure we have a skilled workforce fluent in the language and practices of the information age. In this paper, I will present some thoughts on application development in the post-revolutionary world of the Internet, introducing concepts such as information architecture and user-centric design, looking at how online and good design do go hand in hand, at issues of reusability and maintainability and best practices that reduce cost, effort and risk. IntroductionThe dictionary defines a revolution as "a great upheaval" (Macdonald, 1972) and this is precisely the impact that the Internet has had on information and communications technology (ICT), not to mention the commercial world that ICT supports. In only a few short years, we have seen a radical change in the way business and society operates and in the way software is developed. Perhaps more radical still is the change in user expectations. This is a revolution that is more than the sum of its technological parts and stand today at a mid-point in the transition from the old-world supply-driven economy into the new-world, one which is customer-led and where "markets are conversations" (Siegel, 1999, p. 5). When large organisations first came into existence, the only models available to them were those of the army and the church and, having adopted these structures, we have clung to them ever since (Drucker, 1995). As Drucker noted, these organisations have resisted change, yet like Tsarist Russia in the early years of the twentieth century, revolution is in the air and history tells us that a revolution becomes inevitable when it is seen as unstoppable, even desirable (Figes, 1996). Today we bank online, we shop online, we research online and we fall in love on line. The Internet has radically changed the way our society thinks, acts and functions; it has changed the way people talk to people, businesses talk to each other and the way citizens talk to government. The speed of change throughout this revolution has been staggering, only five years ago the Internet was still relatively unheard of, yet today over one third of the New Zealand population has access to it on a regular basis (IDC, 2000). One only has to look at the banking industry to see that the Internet is itself one of a number of catalysts for monumental changes in business process and the environment in which organisations operate. Banks entered the 1990s doing more or less what they had done for the last three hundred years. They exited that decade coming to terms with pervasive technologies that had eroded their traditional delivery channels and created new ones, that had started the metamorphosis from a transaction based business into one focused on customer service and, most importantly of all, banking was no longer constrained in space and time but could happen anywhere and at any time (Darlington, 1998). It isn't over yet; with the onset of broadband data services, falling costs and exploding technologies, the next ten years will see an even more dramatic transformation in the way we use ICT. As Miller (1998, p. 384) observed, "few dispute the likelihood that within 20 years the Internet will become as generalised, indispensable and taken for granted as today's phone or electrical networks." This paper does not address this revolution directly, rather it is concerned with what this revolution means behind the scenes; given the revolutionary impact of the Internet on the surface of organisations, it is naïve to assume that the impact behind the scenes is any less dramatic. Tools, applications and projects are all transformed in this new world (Burdman, 2000) and so in this paper we will attempt to understand what the impact of this has been on ICT professionals who are now charged with delivering Internet-based applications and how the way we design and develop software must change if we are to succeed in this brave new world. Three Rules for the New EconomyNow that the dust has started to settle, the key to success in the new world becomes the ability to adapt quickly. Unfortunately, in terms of systems design, this has meant a return to anarchic development, jettisoning traditional practices for the cut and thrust of a back-of-a-beer mat specification, where prototyping becomes little more than a metaphor for "just do it". As idyllic, exciting and fun as this might sound, the Internet is not a giant playing field where anything goes and this approach is not a recipe for success. As a result we are seeing many projects delivering software that is poorly designed, unreliable and inefficient. Ultimately it leaves businesses with unforeseen expenses for maintenance and enhancements. Part of the problem is that there has been a failure to develop, adapt and adopt methodologies that work (Burdman, 2000). Backtracking to the days of traditional development methodologies is certainly not a realistic option; this would stifle creativity and slow down the development and delivery cycle, gone are the days when the technologists can huddle together for six months to develop a specification, delivery times today must talk in weeks and months, not months and years. The second problem with traditional methodologies is that they are technology-focused, in the post-revolutionary world we have a different reality, one where the boundaries between technologist, designer and marketer blur uneasily and then evaporate altogether. We are now in a reality where the only constant is rapid change and the road to success is built on three simple rules:
We no longer need ICT professionals with time-served apprenticeships in specific languages and platforms, we need flexible, highly talented individuals who can pick up the next hot tool and make it work. In the new, networked economy the value proposition changes for both developers and business, as speed to market becomes crucial and hesitation risks letting someone else into a valuable market space. But remember that in this age your old competitors might not be your biggest threat: start-up's built from the ground up to function in the new economy can come at established organisations unexpectedly and the language of the new economy is about cooperation, integration and intermediation (Evans & Wurster, 2000). The project deliverable should be what the customer wants, not what the business, or worse still, the technologist, thinks the customer needs. Customers are people, not demographics or abstract concepts. To deal with this, teams in the post-revolutionary world must be cross functional and non-hierarchical, projects require input and skills from many areas, from pure technology through to business analysis, process modelling and marketing. Teams are no longer tightly bound units but flexible, adaptive and organic, they are made up of core skills that can be supplemented by additional resources or specialists as required (Burdman, 2000). The team needs to have an open dialogue with customers and become responsive to them, rather than be focused on the technology. We are here to solve business problems and technology must always be seen as an enabler in this process. Don't mistake paying lip service to the customer with listening. Revolutions might succeed because they are assumed to be inevitable but they fail because the people behind them are not true believers but cynical, greedy reincarnations of the same system the revolution tried to destroy (Figes, 1996). Take a look at the "dotcom" fiasco and you very quickly see a bunch of greedy wolf-like corporations eager to don sheep skins and mingle with their flocks. In the new economy the customer is savvy and well briefed that's why, ultimately, the ruse didn't work. They can click-away to your competitors and will do if your products and services are not up to scratch. This means that the focus for designers today is to understand who the customer really is and what it is they really want. Unfortunately, one of things that stands in the way of this service-vision is technology, or to be more accurate, the perception amongst technologists that it is a solution. It isn't! Technology often becomes part of the problem when technologists take over and fail to understand the first basic rule of user-centric design. In all but exceptional circumstances, the customer does not care about the technology you use, so long as it works and works in a way that works for them. So, the angst in the backroom over a choice of Active Server Pages, Cold Fusion or Java Server Pages is more often than not a waste of time and energy. The real decision is on the overall platform that delivers the best solution to the customer, and this includes seamless integration with internal legacy systems and third parties. Trying to offer the latest technology toy just for the sake of it is a recipe for failure. At our first meeting, the General Manager of a medium sized corporate stated that their new website needed to use Macromedia Flash. When asked why it transpired that they had been told that this was the latest technology and they wanted to look up to date. Undaunted, I asked for a demonstration of a Flash site that the General Manager liked, only to be sheepishly told that this wasn't possible because his PC wouldn't run Flash. If the Internet is about getting close to your customer then the first part of this is to understand what technology they are comfortable with. Whilst Flash is a totally appropriate tool for many websites, it can be a wholly inappropriate one for others purely and simply because of the target audience. To put this another way, the network is the business (Roth, 1998). But there is more to delivering a service than the network, an organisation needs to be fully cognisant of what technologies their customers support and find acceptable, applicable and enjoyable (Nielsen, 2000). You need to understand a customer's relationship with that network so as to optimise the delivery of your product or service. It is imperative that an Internet presence supports and accurately conveys the organisations brand. This is of vital importance yet all to often website development is left to ICT professionals who are unfamiliar with the issues involved in delivering customer-facing applications. On the Internet your brand is vital simply because of the vastness of cyberspace. It is very easy for your brand to get lost in the enormity of the Internet and you need to ensure people know you exist. Evidence is mounting that the best way to do this is actually through off-web media and that online advertising and in particular banner advertisements are not particular effective. Ironically, an increasing reliance on traditional media to promote the online business channel increases the importance of synergy between traditional and online branding (Siegel, 1999). The Information Architecture ApproachTo demonstrate how modern development practices need to be supported by radically different methodologies, we will now discuss an Internet systems development life cycle based on the principles of Information Architecture. The underlying principles of Information Architecture differ fundamentally from traditional models of systems development; this is a methodology that it is focused on delivering what the customer wants (Shiple, 1999). Traditional development models focus on a lifecycle of months and years, where toolsets are established and team members experienced. Traditional systems development methodologies are about supporting business process. Information Architecture is about project lifecycles that are measured in weeks and months, where toolsets are constantly changing and your most valuable staff will be the ones who can adapt quickly. This is a world where systems development no longer simply supports the business process but is an active ingredient in enabling change. Developing successful software applications for the Internet means developing them quickly and deploying them fast. Fortunately, the environment that we now work in allows us to achieve this by supporting rapid, dynamic projects within an iterative development framework. Products are developed quickly and delivered frequently and as a result the way business is transacted changes. Where traditional development paradigms support the business process, eBusiness, at least for the moment, changes it. Product life expectancy is reduced as rapid development allows for incremental releases and easy, centralised upgrade paths. And so it becomes an inherent philosophy in the organisation that eighty percent of the business need must be delivered with only twenty percent of the effort, in other words we are no longer aiming for perfection but measured and measurable success. Although we have now broken free of the logistical nightmares associated with rolling out traditional distributed applications or mainframe systems, this has led to a tendency amongst the developer community to mentally position Internet development at the informal end of the methodology continuum. In many ways this can be seen as a valid approach, since traditional methodologies add a level of complexity and bureaucracy that is simply inappropriate and would stifle creativity in the dynamic world of the Internet. However, this is a dangerous approach, our Internet-based applications are often customer-facing, the first point of contact a potential customer might have with the business and, increasingly, these systems are fully integrated into the corporate legacy environment and running mission critical applications. There is simply no longer any excuse for lax development attitudes in this field. What industry needs is staff capable of delivering in this new, rapid fire, multi-disciplinary environment but delivering excellence and excellence based on a clear process that ensures quality is part of the equation from day one. What we need are methodologies that are suitable for delivering high-quality fast-turnaround Internet applications that perform. It is imperative for designers and developers in the online world to remain nimble-footed and reactive to customer wants, without being weighed down in a torrent of formal specifications and change control processes. An approach to Internet-based development based on Information Architecture, where the focus is on the user, not the technology, and the process is strong but not stifling is aimed at project managers, web designers and software developers. It is an attempt to develop a simple yet highly effective methodology. Using an Information Architecture approach, the project team is able to maintain design integrity and hence minimises the flaws in the design process and human errors during the specification, development and deployment processes. It also attempts to address the often-overlooked issues of re-usability and maintainability, aiming to introduce best practices that reduce development cost and effort and recognising that a component-based architecture minimises development cost and risk. As ICT professionals we are looking to deliver real business advantage to our customer and real improvements through technology usage. Our new methodologies permit radical process change to occur accurately, safely and quickly. ConclusionThe Internet revolution has happened, the virtual Winter Palace has been stormed and reality is resumed. But this is a different reality from before, the Internet has transformed our economy and we must now transform the way we develop ICT applications that support this economy. We must learn to respond creatively, rapidly and in response to a deep understanding of who our customer is and what it is they want to do. To do this, we need to employ user-centric design principles and to radically restructure our development methodologies to allow us to manage the changes in business processes that are needed to meet new market demands. The days of business and technology living in isolation are long over and the answer to quality issues in application development lie with employing the right people and the right methodologies. References
|
|
|
wairua » application development after the revolution |
|
|
Copyright
1997-2005 Wairua Consulting. All rights reserved. |
|