Research, training, consultancy and software to reduce IT costs | |||
Minimal IT newsletters - complete listingThough it sounds unlikely, it is possible to cut IT costs by up to 90%. The key to this is managing IT demand. This isn't simply a matter of saying "no", but requires a reappraisal of the nature and value of IT. Computers remember, calculate and communicate. They are valuable because they are quicker, more accurate or cheaper than people. Sometimes they even make the infeasible possible. But people often claim computers can do things they can't. We need a simple way of analysing claimed benefits to see if they are real. Computers add value because they help you remember, calculate or communicate. But there are some problems that constantly get in the way of achieving this value. Often the real challenge and real benefit is in fixing these problems, and not in the computer system itself. Alignment of IT and business is misunderstood. To achieve alignment, businesses should fit IT around their organisational structures, and avoid enterprise IT systems that cut across them. We often define IT projects before we really understand what benefit they will bring. This makes projects both impossible and unstoppable. To avoid this, you have to fully understand business benefits and change before you think about IT. The science-fiction staple of the superhuman half-man half-computer cyborg is a good model for our use of computers. But to grasp this power, we need to learn more about the true nature of our computers, take more responsibility for them, and apply some common sense to their use. To fully realise IT's potential, you need to apply skills of delegation, definition and instruction. These are not specialist IT skills, but the sort of skills you use every day at work or at home. There are few words in the English language more boring than "filing" and "administration". Tedious though they are, you need to apply these basic office skills if you want to truly master your IT. IT often tries, and fails, to treat people and computers as if they were the same. This does not give people the flexibility they need, nor computers the definition and proving they need. 50% to 90% of IT costs can be saved by managing IT demand. Nearly all excess demand stems from simple human over-enthusiasm, self-advancement, self-protection and peer pressure. We need to redirect our perception of IT so that our human nature drives us to an ever more efficient use of IT. IT is full of overused phrases like "alignment" and "demand management". If we really want to reduce IT costs, we have to be crystal clear about our meaning, and avoid ambiguous phrases like these. Words control how we think. The builder metaphor is appropriate for IT supply, but not for IT demand. IT needs new metaphors, like surgeon, which emphasise responsibility for outcome and not just delivery. Like any mature political system, the IT industry under represents minority interests and allows only very limited debate. Unorthodox viewpoints, like those of Minimal IT, are crucial as a counterbalance to force debate and keep our use of IT healthy. Achieving simplicity requires more than wishful thinking. To really keep things simple, you need to deeply understand how IT delivers value. Most predictions of the future of IT are based on the extrapolation of technological capability or the hopeful self-interest of IT specialists. Predicting the future based on profitability and the self-interest of the majority provides a more realistic view. Our current idea of IT literacy amounts to little more than being able to use office applications. True IT literacy involves understanding what IT is and how it adds value, and getting computers to work on your behalf. The first PC revolution provided personal productivity tools to replace the typewriter, calculating machine, fax machine and drawing board. The second PC revolution will let anyone build outward-facing services to present their interests and responsibilities to the outside world. Outsourcing and decentralisation are often predicted as the cause of death of the IT department as we know it. But the real threat, or opportunity, comes from merging IT into general business management and operation. Businesses are caught in a tarpit of excessive IT staff costs. The way to escape is to ignore staffing issues and concentrate on the underlying value of IT. To be valuable, IT change must be linked to business change. To be doable, it must be kept separate. Navigating this paradox requires education, awareness, respect, and a dose of suspicion. You can only make order-of-magnitude savings in IT costs by reducing demand for IT. You need to focus less on what changes are required and how they will be carried out; and concentrate more on why you believe the changes are necessary. Identifying which requirements are really driving IT change gives the clarity needed to define small, simple projects that focus on meeting true business need. IT projects are typically defined to support business change. We need a simple way of checking that the proposed IT changes really will make a positive contribution to the business change. IT projects fail when systems are not accepted by the business. You can reduce this risk by writing job descriptions to explain what the system will do. Business alignment is not a vague management aspiration. It is a practical principle for designing systems. Project management and architecture will not lead to breakthroughs in the use of IT. Like Harry Potter, we have to learn to visualise, strongly desire and confidently grasp where we want to go. Strong business ownership is critical to the success of IT. But IT has made meaningful ownership impossible. To make ownership possible we need to stop sharing systems and data, and restructure systems so that they align to the structure of the business organisation. A lot of what we think of as good practice in IT has no benefit, but just adds cost. For example, the dream of an enterprise-wide shared database has caused massive cost and waste over the years. Test-driven development cuts costs and improves quality, but can be difficult to understand and justify. Thinking of testing as the formwork into which code concrete is poured can help you understand test-driven development and justify its adoption. Designing systems to meet the needs of your consumers is critical to keeping systems simple and effective. Sometimes this means ignoring the advice of your suppliers. If we want to reduce costs, we need to improve business' understanding and control of IT. Online games provide some fascinating insights into how we might do this. System integration is not just about connecting systems, and has nothing to do with networks. It is about balancing the need to get systems to work together with the need to change them independently. We can use integration to help us change systems independently, but we need to define what we should treat as separate systems. This can be done pragmatically based on technical differences, or more rigorously by looking at how systems support different management responsibilities. Integration projects struggle because they send the wrong information between systems. Adopting simple rules for data content and structure can greatly simplify integration. XML is a way of structuring data that works very well with integration. XML is simpler than many people imagine. Extensible markup language (XML) is ideal as an interface data format. To keep it simple, you need to adopt some simple rules which ignore many of its advanced features. "We like standards - we've got lots of them" is a good description of most businesses' approach to transferring data between systems. If you want any-to-any integration, you need to reduce the number of different data transfer technologies. Integration architecture is referred to as point-to-point, as a bus, or as a hub. These are not mutually exclusive architectures, but complementary approaches for different aspects of integration. Before buying an integration tool, do not just ask "Is this the best?", but "Do I really need it?" You can document interfaces easily and effectively if you are not too formal, and if you yourself rely on the documentation you have written. To make integration code simple, flexible and fast, you need to separate technical code from business code, use integration layers wisely, and be aware of different ways of processing XML. Integrating software packages is easy if you have a clear idea of what you are trying to achieve and if you ask the right questions. But you will have problems if you abdicate integration to the package vendor. Effective systems integration requires a clear idea of what you are trying to achieve and an awareness of the common problems to avoid. In IT we are obsessed with projects. Focusing your effort on the systems themselves, not just on projects, can deliver significant tangible benefits. Many persistent IT problems relate to the qualities of the systems themselves. Tackling these is not a technical problem, but a management problem of communication, justification, control and accountability. We apply governance to IT investments, change projects and service delivery. Extending governance to include the systems themselves can give us the management tool we need to overcome many persistent problems in IT. Project management and architecture are two of the main tools we use to manage IT. To manage systems better, we need another tool that is simpler and more direct. System governance is not an expensive new bureaucracy to be imposed on IT. It is a way of cutting costs on work you would do anyway. System governance does not need heavyweight methodologies. It needs a lightweight framework of guidance, processes, materials and tools. Defining criteria for system governance involves looking widely to get a long list of possible criteria, and then filtering to focus on what is really important to your organisation. Criteria used for system governance must be defined in detail. This includes their business significance, what questions you would ask, and model answers. There are a lot of problems in IT that we find really hard to fix. You can make a huge improvement just by measuring how well systems fit your standards. You can use system governance to identify and prioritise improvements to your systems, and justify your improvements. Automating this helps you tackle all of the problems, not just the obvious ones. Free and open source software is a viable alternative to commercial products. Once you have switched to free software, you are unlikely ever to switch back. Cheap IT helps small companies compete on a technologically equal basis with large companies. As well as cutting costs, cheap IT helps you beat your competition with innovative products. I have an admission to make. I tried to fix a system assessment so that I would look good. But in the end I had to accept and act on the recommendations. There are surprising similarities between system governance and agile methods. Although they address different problems, they share many core values. To get closer to the business, IT must recognise and promote its role as stewards of the business' IT systems. To gain the benefits of system governance, you only need simple materials, processes and tools. Anything more complicated would get in the way. System governance solves problems that affect everyone in IT. But it is hard to position system governance because few people are directly responsible for solving the problems. Writing a single, definitive list of the IT systems within your organisation is a simple task that can deliver significant long term benefits. IT risk management overlooks critical long-term risks. With system governance, you can identify and manage these risks. Current IT governance frameworks such as COBIT focus on IT's internal processes. Governance can be made even more effective by including metrics structured around systems. To govern outsourcing you need to establish service levels, check the supplier's development skills, and negotiate costs. But how can you make sure that the supplier will maintain and improve the systems? Simple, direct websites work. Complicated, vague websites fail. To make your website simple and direct you have to focus on a simple message. You can't be all things to all people. You have to make hard choices about what to leave out. Lead your readers on a path through your website. Follow them to make sure they don't get lost. If you want a website for your young company, do not waste money on elaborate design. A simple design will be more effective. And cheaper. Web accessibility is not an expensive imposition just to make your website usable by a few visitors with special needs. It makes your website more effective for all your visitors, and pays for itself. We think of governance as a long-term strategic initiative. But governance of IT systems also delivers short-term tactical benefits. An effective system review reduces risk and cost in your project, and helps you make the best use of scarce technical staff. When you are selecting a new software package, do not rush the preparation of your vendor questionnaire. A well-prepared questionnaire helps you review the impact of each option easily and effectively, and saves you time in the long run. There's no such thing as a future proof IT system. Good design can prolong the life of your systems, but what's really important is that you care and know about the state of your systems. Projects are not investments, and "project portfolio management" is nonsense. Misunderstanding this leads to serious problems. IT managers are often enthusiastic for a broader business role. But this can undermine the value that IT can bring. We find it hard to save money in IT because big cost savings threaten our jobs. But if we want long-term job security we must reduce costs, even if it means we lose out in the short term. There are six ways to cut IT costs. Two of them are well known. The other four are yours for the taking. If you want to cut costs, you have to be prepared to descope and cancel projects. You have to avoid heroic project management that battles on against all odds. If you want to cut costs, you need to make your IT easy to understand. You need to think of your IT as a collection of business systems, not a collection of technologies. IT needs clear and strong business ownership. We must structure IT so that ownership is possible, and avoid IT structures that weaken ownership. If you want to increase IT value and reduce IT cost, be realistic about what IT can do. Limiting your view of IT to automation helps you spot unrealistic requirements that IT can never deliver. IT departments waste money by running themselves as a business within a business, selling IT to their business "customers". You can slash costs by turning this around, and seeing the IT department as customers, who buy IT on behalf of their colleagues. If you are starting a project, or even if you are part way through, try some simple checks to see if you can cut out costs. If you have not got time, or think they are not relevant, the checks will bring you even more value. You will achieve significant long-term IT cost reduction when you can see the essence of your IT, not its complexities. We can build a future with deep and effective use of IT that is much simpler and cheaper than today's IT. We don't need new technology to get there, but we do need to let go of our view of IT organisations. Walking home one evening, I found a man crawling about under a street lamp. "Are you OK," I asked. "I've losht my key," he replied, obviously worse for a few drinks. "Where did you drop it?" "Over there," he replied, pointing to a dark patch of bushes nearby. "Then why are you looking over here?" "I can't see over there. It's too dark." The Minimal IT cost model shows you where to look for IT cost savings. You can try it for yourself for free. We need a new word - stupidclever - to describe stupid things that clever people do. There is a lot of stupidclever in IT. StupidClever is something that starts off clever, but ends up stupid. IT design methods and working methods become stupidclever when they are applied on too large a scale. We can get carried away with clever ideas for design and technology. So often this ends up as stupidclever. We use the phrase "islands of automation" to describe systems that are not connected. We all know that islands of automation are a bad thing. Or are they? Some of the best programmers seem to do the least testing. Rather than criticise them, we should learn from them. Politics, bureaucracy, unrealistic projects and over engineering are all blamed for IT's problems. But these problems can not be solved, and we have to learn to work with them. Are you stuck for ideas for presents this year? Give your loved ones Linux! Influence gives the IT organisation the freedom to act and to deliver value. To win real influence, the IT organisation must go beyond excellent service and project delivery. We can not make the IT investments that we need to make because we can not calculate the return on investment (ROI). Using a basket of management objectives lets us estimate ROI, and can justify the investment we need. We can model the financial benefit of any IT investment by using a handful of simple calculations. To calculate a financial benefit for any IT investment, we have to put a value on meeting our own objectives. You can justify any IT investment by measuring where you are now, modelling the benefits of making improvements, and putting an overall value on running your IT well. This seemingly simplistic approach is an effective IT management tool. The top five hot topics in IT are: systems integration, databases, IT governance, cost reduction, and delegating work to IT. At least that's what my readers think. Vista is a great improvement on earlier Windows versions, but it does little to protect your investment in learning, in software, and in data. Defined, repeatable processes are a major focus of the IT industry. But there are limits to what can be achieved by process management alone. IT process management initiatives like CMMI and ITIL can be made easier and more effective by including formal reviews of system quality. Sometimes we need to ignore the sophisticated and specialist skills that we pride ourselves on having, and use simple techniques instead. How long should IT systems last? There is no wrong answer. Whatever answer you give is self-fulfilling. If you want to increase the life span of your systems, you have to clearly define your systems so that you can manage them effectively. Effective owners are vital for long-lived systems. Without effective owners, systems fall off the management agenda and quickly decline into unsupportable legacy. Systems that are clearly separated from each other live longer than systems that are coupled. Long-lived systems need to be based on long-lived technology. This often means picking less fashionable options. Long-lived systems do not just happen, they are designed that way. Long-lived design involves keeping things simple, and being risk-averse to the point of paranoia. Change is inevitable. Long-lived systems must be insulated from change, but must embrace change when the time is right. If you do not monitor your systems, they will die. You can extend the life of your IT systems indefinitely, but you do have to DO SOMETHING about it. Portable applications free us from many of the restrictions of the personal computer. But are they practical? What do Ozzy Osbourne and Tim Berners-Lee have in common? Whatever it is, it could be disrupting your IT department very soon. Big documents like user manuals are really hard to write using Microsoft Word. DocBook is a well-established standard that makes writing big documents much easier. Inkscape and The Gimp are full-featured open source graphics programs. Even if you are not a professional artist or designer, they have plenty of features that you will find useful. I use free and open source software all the time, but I have not open sourced my own products. Am I an open source hypocrite? We can reduce risks by shifting our management of risk to earlier in the system life cycle IT is getting smaller, faster and cheaper all the time. The effects on enterprise IT will be profound. Application Portfolio Management (APM) is set to become the next big thing in IT. But different vendors have a very different view of what it is. We make IT hard because we get into too much detail too soon. We need a broad but shallow approach to IT management. Defining processes makes new ideas, techniques and products much more credible, and forces you to think through practicalities. System governance can be summarised in just three pictures. Is the Windows registry a bad design? Judge for yourself. IT has a rich ecosystem of service providers. They are critical to bringing new products to market. It is practical to run a PC environment from a flash drive. Additional work is required to make the environment really flexible and easy to use. There is an alternative view of IT that challenges nearly everything that we believe. Although we may not like its conclusions, it is difficult to see where this alternative view is wrong. IT architecture, organisation and decision making are a by-product of engineering necessity, not a conscious design to best serve the needs of business. The structures of IT - architecture, organisation, decision making - form an alternative reality which has no meaning across the broader business. One of the main roles of IT management is to help business navigate the alternative realities of IT. But the way we do this makes IT more complicated and more misaligned. The major problems in IT all have roots in the technical structures upon which we base IT solutions. We can break free from the major management problems of IT by designing systems differently. A simplification of IT architecture would have far-reaching impacts across the whole of IT. eBusiness is not about selling products on the Internet or automating supplier links. True eBusiness goes much deeper and can only occur when the paraphernalia of IT is swept away. Although we aspire to build simple IT solutions, many arguments suggest that this may not be possible. The strongest arguments against simplifying IT architecture involve the role of IT in the organisation. We have to decide whether the arguments for simplification or the arguments for complexity will win. In IT we need to achieve three things: delivery of service today; change for tomorrow; and fitness for the future. Each requires a different management approach. Management control should focus on listening to and acting on the recommendations of staff, not checking that they are doing their job properly. You need a simple, shared view of your IT to create joined-up solutions to IT problems. Testing is an increasingly important part of IT. We face serious problems with the long-term management and support of systems because testing tools are not based on standards. Management controls in IT overlook many important aspects. To be more effective, we need to do more than just borrow control methods from other areas. Reading the websites of similar businesses can be a great way of recognising the weaknesses in your own. Offline electronic forms are a useful part of many IT solutions. The XForms standard meets requirements that many commercial products do not meet. If you develop or manage web sites or IT systems, you need to know about XForms. We assume that IT should be based on a detailed model of the real world. But the best IT is simpler and focuses on the areas of greatest value. If you think of testing and documentation as just tasks on your plan, they will be near worthless. If you rely on them as the authoritative specification of your system, they will be near perfect. Don't work harder. Don't even work smarter. Work less. The concept of systemhood makes IT easy to understand. It helps us see how to do less work. Systemhood could challenge project management and service delivery as the basis for managing IT. What do "governance" and "portfolio management" mean, and which should we use when? Standards are too important to be monopolies. We need to introduce more competition into standards so that they can be adopted more widely. Defining "IT system" creates a powerful tool for IT management. Portfolio management is so strongly associated with projects that it can not be applied to other types of portfolio. If you do not use a password manager like KeePass, you should. Building an IT business from scratch is a long and challenging process. Seeing your products come to market and succeed is the most exciting and most rewarding part of all. To manage quality for the long term, you need a system quality management process that takes quality management off the critical path of business change projects. IT cost reduction methods fall into ten categories. Some have much more potential than others. If project management never existed, we would have to invent it. For the same reasons, we have to invent system quality management. You can cut IT costs and still deliver IT change and services if you can stop IT itself being so demanding. We have all seen projects and systems treated as special cases, but in many ways all projects and all systems need to be managed the same. In the past, major shifts in IT architecture have hidden weak long-term management. With no prospect of a similar shift in the near future, it's time to tighten up our act. Can the principles that underpin test-driven development be applied to the definition and execution of IS strategy? IS strategy is much more practical when it is based on a description of what good IS looks like. You can achieve a test-driven IS strategy by implementing a simple, high-level evaluation process. Test-driven strategy is easier to communicate and more flexible. It provides a clear mechanism for ongoing improvement. Mobile computing has become an everyday reality. But we have further to go. You can achieve high levels of reuse if you focus on reusing big things, like whole systems and frameworks. This is much more efficient than assembling from components. We can learn a lot by looking at excellent examples of long-term maintenance outside IT. To solve problems of IT ownership, we need to make IT ownable. Most technical evaluations are unnecessarily difficult and do not deliver good results. Making evaluation easier and more effective is common sense. We need a way of managing things that do not sit comfortably under our project management and service delivery umbrellas. Quality management is only effective when it is linked to decision making. To link it, you need to clarify your IT objectives and your decision-making processes, and build a balanced body of information about your IT. You can achieve the alignment and flexibility of departmental IT, and still keep control and co-ordination at the centre. To stop standards becoming a bureaucratic monster, spend at least 10% of standards effort on reviewing and changing the standards themselves. It is hard to measure the business value of IT. But there are a few simple things you can do to make measurement easier. If you believe and act on business estimates of the value of IT, organisational pressures will drive the figures to be accurate. The latest formats make it much easier to export data and reports to Excel, even if you do not use Microsoft technology and do not have the latest versions of Microsoft Office. To manage technology effectively, you need methods that let you manage at different levels of detail at different times and across different subjects. No IT objective, such as cost reduction, can be managed in isolation. You need to adopt methods that let you manage a basket of competing objectives. To successfully navigate the IT of mergers, acquisitions and reorganisations you need to quickly establish high-level visibility, direction and control across the new structure. Here's how. Here in the UK there is a constant stream of scandal as sensitive data is lost by banks, the police, the government, and pretty much everyone else. Rather than being a failure of "procedures", I see this as inevitable because of fundamental problems with the security of PCs and portable media. Fungibility is a critical concept for managing long-term costs and risk in IT. Like every profession, IT is driven by the passion and eccentricity of the people who work in it. The XML processing language XSLT is a powerful and flexible solution to many development needs. Should we design IT so that every system is entirely independent of every other system? If we want our IT to consist only of strictly independent systems, what would our design principles be? What would be the impact on data and database management if we based IT architecture on the principles of strictly independent systems? System-oriented architecture (SYSOA), which splits IT into strictly independent systems, provides a very effective basis for systems integration. System-oriented architecture gives clarity and discipline to the management of PCs and web-based systems. System-oriented architecture could help organisations build effective IT infrastructure by clarifying business requirements and making infrastructure easier to justify. System-oriented architecture is valuable because it provides a common point of reference between business owners, users, IT management and technical specialists. Writing regularly makes writing much easier, helps you think more clearly, and helps you get your ideas across more effectively. You can measure the strategic contribution of an IT system by thinking about two separate things: the strategic contribution of the work supported by the system, and the contribution of the system to the work. Although it is still early days for cloud computing, offerings such as Amazon's Elastic Computing Cloud (EC2) are becoming viable for mainstream use. Programmers beware - you will suffer serious performance problems if you ignore the database and do too much data manipulation in the code. The economic downturn will put a pressure on costs, increase compliance requirements and force organisational change. But there are huge opportunities for organisations who can weather these storms. Understanding opportunity cost can help you make the case for increasing some types of IT investment during an economic downturn. It is hard to ask for money in a recession. Any case you make needs to be understandable, objective, fact-based, prioritised and transparent. The recent problems with Google are a wake up call to keep the Internet as a tool of freedom, and not let it become a tool of control. When discussing IT with our non-IT colleagues, we should not start with details of technology, or business concepts like processes and drivers. We should usually start by talking about "systems". Free and open source software is constantly improving, and becoming more of a challenge to paid-for, closed-source software. Where will it end? Sustainable IT isn't about low-power hardware and recycled paper. It's about recognising the importance of the ongoing management of IT. You can manage IT much more effectively by asking the question "What's really important?" Sometimes we need to look harder to find really good solutions. In the present economic climate, we need to focus on the fundamentals of IT, and root out IT projects that are just for show. Virtualization cuts cost and risk, gives you flexibility, and encourages architectures that are more aligned to business. Different virtualization technologies are appropriate for different needs. There are a large number of virtualization products, with no single dominant vendor. Always use virtualization unless you have a compelling reason not to, use different virtualization products for different purposes, and expect virtualization products to change. A good questionnaire is a really useful tool for technology selection. It frees the decision makers to focus on the most important parts of the decision. Advanced and specialised development tools may be unsuitable for complicated functionality because of difficulties with testing. What does advanced IT management look like? I had an idea for a new acronym - BOCTOC - to describe how we should apply IT to business. I have recently been applying development methods and tools to InfoSec work. The experience has made me realise just how much we can learn by sharing our skills more widely. We can significantly improve IT value, cost, risk and responsiveness if we understand what's really going on with our IT. To start, we need to understand what's really going on in our IT organisations. Consistent, long-term success in IT is impossible because IT management is fragmented and inward-looking. Despite the effort put into managing people, processes and technology, IT management is chronically fragmented and inward-looking. We need to think of IT differently. The combination of shared understanding of IT, long-term proactive management and evaluative theory is a powerful tool for addressing the problems and opportunities of IT. Although still in its infancy, Opera Unite could start a big shift in how we use IT. Businesses should upgrade to Internet Explorer 8 to remove the standards compliance problems with old versions. Like gardening, effective IT depends more on constant attention than it does on grand designs. Power*Architect is a free, open-source data modelling and database design tool that is easy to use and packed with features. Netbook computers are fast becoming mainstream. Their success shows the power consumers have over the major technology providers. Process maturity models must be supported by a simple view of how value is delivered. IT is so mentally demanding that we do not get the opportunity to think how to improve. Make a great leap forward in the management of change by banning projects and project management. We can learn a lot from the business practices of Ryanair, both bad and good. To meet deadlines, we focus on accurate estimation and tracking. We often overlook the important skill of knowing when to start finishing. IT project management is submerged in a culture of dishonesty. Make IT infrastructure and architecture easier to manage by wrapping it in a management model. A management model based on systems and qualities provides a wrapper that makes IT infrastructure and architecture easier to manage We are so obsessed with service and business focus that we forget the special role that we have within business. Living wills for IT systems, which explain how they need to be managed at the end of their life, would help us keep them running usefully for much longer. Business Process Management software would be much more useful if it was presented more conservatively. Like the taste umami, there are aspects of IT management which we all vaguely recognise but which we have not defined well enough to manage effectively. How should we design and code for Web 2.0? Choosing development tools is one of the most critical and potentially dangerous decisions that organisations make. Necessary complexity is a unifying principle that should underpin our IT management and design. Who do you help to be awesome at what? The latest release of Ubuntu for netbooks demonstrates the increasing quality and flexibility of Linux. Every day at precisely 10am, gather your team. One by one, ask them to put on a silly hat, hop on one leg, and say in a squeaky voice what is their single most pressing problem for the day. A compelling PowerPoint presentation is no substitute for proper systems design and project plans. I recently implemented a software release with a significant bug in it. Does this mean my testing approach is flawed? The UK government's "Make IT Better" report is deeply flawed. Here's a handy checklist for any PC maintenance you are asked to do over the holidays. You can learn a lot about managing legacy IT from tidying your home. The ongoing management of legacy systems is the last big problem in IT. It requires a level of co-operation that we have not yet achieved. If everybody does exactly what they are meant to in a project, and delivers on time and to budget, the project is almost certain to fail. HTML should be the first choice for most documentation produced in IT. When you are developing a system, programming might be one of the last tasks in the project plan. In our enthusiasm for our own profession, we make IT complicated and reduce value to IT users and owners. Although very different, the IT industry can learn lessons from the movie industry. Corporate IT will be challenged to adopt lower-cost approaches such as virtualization, Linux and Software-as-a-Service, but need to retain traditional corporate IT values such as security and integration. A clearer view of IT will help the IT management challenges ahead. Freemind is an easy-to-use open source mind mapping tool that can help you organise you thoughts. Fully automated regression tests are worth the high costs required to create them, but require confidence and discipline to gain the value. Our enthusiastic adoption of advanced development tools and frameworks has diverted us from the hard work of delivering effective system documentation. There are general principles for the mismanagement of IT that apply at the level of the individual PC up to the entire enterprise. Future technology makes it more important to manage well the IT that you already have. The disruption caused by the Iceland volcano is a reminder of both the opportunities and responsibilities of IT. There are important principles for integrating the components used to build an application. They are different from the principles used to connect one application to another. If you gave different designers the same business requirements and the same technical constraints, what are the chances that they would come up with a similar design? Although much of the code in a typical IT system adds little business value, there is a huge value in keeping it well maintained. The time is right to adopt a less assertive, more down-to-earth approach to IT. What would it be like if you were not a picture person? XML is not just a data interface standard. It also solves problems in design, development and programming. An effective framework for XML-based programming is relatively easy to develop. Using XML-based programming simplifies web development, database handling and report production. XML provides excellent capabilities for building test harnesses and test data, and helps structure systems to make them easier to test. XML-based programming makes building complex new functionality from simple building blocks as easy as manipulating XML data. Without care, XML can be difficult to understand, complicated to work with, and inefficient to process. Is XML-based programming suitable for your project? It is easy to lose sight of the basic benefits of project management. Codes of conduct for IT professionals do not fully cover the conflicts inherent in IT. To explain value, you have to look deeper than features and benefits, and understand how your products add value to your customers in a way that distinguishes you from your competitors. It is time to move away from the big distinction between steady state and projects. Last week I suggested that we need to break down the big distinction between projects and steady state management, and that we should manage more as steady state. This week I describe how. How should IT management respond to the shift from PC applications to online services? Specialists have an important role lighting up the dark corners that management can not see. Management information systems provide a critical management function despite being deeply flawed. Working from home frees you from the daily grind of 9 to 5 office life. Ironically, to cope with this freedom, you have to reinvent the daily routine. Web services are not just an advanced technology for sophisticated web solutions. They also meet down-to-earth requirements like testing and integration. If your development is optimised for delivering small increments, then you had better stick to small increments. The Greek philosopher Aristotle (384-322 BC) has been one of the major contributors to the development of Western thinking, covering areas as diverse as logic, biology, philosophy and IT project management. One of the big challenges for the long-term management of systems is deciding when to adopt new technologies. Will IT jobs as we know them cease to exist? There will be rewarding careers in IT for many years to come, but we need to be flexible and understand where the new opportunities will be. Over the next few years, organisations will increasingly adopt outsourcing and everything-as-a-service delivery models. We need to understand how to respond to these changes. How will the move to software-as-a-service (SaaS) affect enterprise application integration (EAI)? To integrate software-as-a-service (SaaS) applications with internal applications, you need to think about integratability and control, not development speed. Many standards suffer from creeping self-destruction. Should we do away with them? Office Starter 2010 may tempt some people away from the full paid-for version of Office and away from free alternatives such as OpenOffice.org. ConTEXT is a simple, powerful, open source text editor for Windows. A postmodern interpretation can help us understand many problems in IT. Picking the right words for IT is very hard. Basic web technologies do not fully meet the demands of modern websites. JavaScript overcomes the limitations of plain HTML and CSS websites, but is difficult to do well. jQuery is an important technology for anyone involved in writing websites or developing business systems that run on the web. To really explain who you are, you have to explain who you are not. Architecture and technology decisions need to be driven by IT management requirements more than by functional business requirements. It is better to spend time on system structure, documentation and testing than on adding features that you do not currently need. Will the IT profession die out like the typing pool? What do you do when there are thoughts that keep floating around in your head, and you can not make sense of them or make them go away? Tools and services for creating websites are so much more complicated than the underlying technology that it is almost impossible to explain how to set up a simple website. Breaking data down into a simpler form can overcome constraints on how data is accessed, stored and structured. AntiSamy is a very effective open-source library for making web sites more secure. We may think that IT is often mis-sold, but the real problem is that IT is often mis-bought. Testing is not something that we do because we are strong at development. It is something we do because we know that we are weak. Google Docs' collaboration features are particularly good for occasional users because they do not require any software setup on your PC. Programming languages will continue to evolve, challenging projects and providing interesting opportunities for software developers. General-purpose applications such as Excel are often the only choice for IT solutions. Although Excel is the most widely-used general-purpose application, there are many requirements it does not meet. Our search for a truly general-purpose application is frustrated by inherent problems with metadata. Truly general-purpose applications do not need complicated metadata. They need a simple model that allows metadata to be created dynamically. Sometimes you need to make big decisions to take a product forward. If you are a small company, creating a new product is exhausting, lonely and expensive. What would you do if you found yourself in charge of an exciting new product? A lot of user interface styling has nothing to do with art. Even the most deeply technical parts of IT can be as creative as the work of artists and musicians. Designing systems to be secure is never easy, but it is much easier than adding security to a system after it has been designed. We should consider documentation and program code as assets, not transactions. The Rhino JavaScript engine lets you add the flexibility of JavaScript to your Java application. Finishing a project is an emotional experience. Our IT is not as sophisticated as we think it is. IT's project culture is a major barrier to reliable and long-lived IT. We need to change how we view IT so that we can run projects without undermining long-term management. Services like Facebook can be a useful medium for public contact, but using them exclusively is a dereliction of commercial sense or moral duty to communicate freely with the public. The purpose of IT is to impose structure, not just to make computers easy to use. What happens when you write software in itself? Have we created more tools and techniques than we really need? Truly flexible software should be able to sell itself. With a little foresight and discipline it is possible to create database-independent applications. Without complete user documentation there are almost certain to be holes in your system. To make systems perform well, you have to focus on system design more than on high-performance coding. How can we create the perfect information processing tool? What can we learn from our love-hate relationship with Excel? There is a vast body of unused IT work which could be a rich source for future innovation. Have advanced tools and agile methods made us more accepting of mediocre performance? When is complexity a good thing? The universal business computer is a quest for a better way to do IT. Systems benefit from a simple external architecture and a consistent internal architecture. You don't have to use tables to represent information. Fully capturing the meaning of information can make development 5× to 10× faster. Versatile user interfaces are based around resources, rather than tasks, processes or data types. Thinking through the universal business computer is hard, and building it is harder still. But working out what to do with it is the greatest challenge of all. Taking a different approach to development can reduce the need for testing. The technical content of a piece of work can hide a more complicated requirement that needs significant analysis. Is there demand for a standard library for server-side JavaScript? You will not succeed until you know who your competitors are. Web-based development and deployment could get around the perennial buy-or-build argument. Successful businesses are based on growing the value of assets. Commercial software can be hard to learn, but free software can be hard to remember. In IT, we like to think that our work is structured, but often structure only evolves as the work proceeds. Our job is to create order and structure, not to be constrained by it. How can we use technology to support the evolution of structure? Like many design questions, deciding whether to perform processing on the client or the server depends on who you talk to. Resistance to change often comes from those most loyal to the organisation. Buying a PC is now much more about personal preference and getting good value than it is about technology. Why do organisations consider that Microsoft is a safe choice? The more we reuse software, the more productive we are and the higher the return on the development effort. How far can this go? The best way to improve cost, risk and responsiveness in IT is to reduce the number of systems, the complexity of systems, and the unnecessary demands on the IT organisation. Understanding how IT creates value lets you deliver smaller, simpler, cheaper and more usable IT. To overcome the really big problems in IT we need to change how IT is structured. The only way out of the mess of IT is to manage IT proactively. To improve responsiveness, risk and cost, you need to stop obsessing about systems development. Standards and open source are fundamental to reducing the costs and risks of your IT. Our prejudices stop us achieving the highest levels of reuse. Identifying areas of conflict opens up debate and helps us explore ways to deliver more value. The minimal IT strategy summarises how a business can manage its IT to improve long-term cost, risk and responsiveness. As well as gathering facts and supporting decision making, an effective assessment process clarifies objectives, encourages collaboration, and builds buy-in for change. We should value simplification more than precision. Can we make IT as flexible as consumer electronics? To create the next generation of IT architecture we need to think beyond our current engineering mindset. You can improve data security by implementing fine-grained security at the lowest level of data access. Products that are developed in themselves are initially hard to work with but eventually become much more powerful than conventional products. Many of the problems in IT stem from a lack of professional ethos. As a parent, you have to learn to let go. Marketing may seem vacuous to our technical minds, but when it works it's magic. Should our methods and processes be consistent? If you need Internet connections when you are away from home or the office, a mobile WiFi access point could be just the solution you are looking for. Computers don't just automate our ideas, they make them bigger. Problem density could be a valuable new concept for measuring IT. Some things that look simple can take a very long time. Could video games provide a good model for how we structure technical training? Defining your product's unique selling proposition (USP) is not the same as listing its features. What are the trade-offs of rapid development tools? Image Magick is a powerful image manipulation utility that you can use to build automated image processing solutions or solve image management problems. Open source products are the best choice for integrating into larger solutions. There are many ways to improve system performance, but the best performance improvements come from a multidisciplinary approach. The principle of least astonishment (POLA) is a simple concept for making computer systems more usable. When it comes to incremental development and system evolution, not all technologies are created equal. Assessment is a valuable part of the decision-making process, even if you don't use the assessment to make the decisions. You can use simple mathematics to highlight areas that demand management attention and to stop bad news being hidden. If you really want to achieve something spectacular, it's best not to know it's impossible. When major projects go bad, ruthless scope management can save the organisation from ruin. There is a surprising lack of standards for date and number formats. Solutions should be simpler than problems, and development processes should be simpler than solutions. It is difficult to get out of your comfort zone and do something different. For such a young subject, IT is disproportionately haunted by its history. The idea of a unified approach is not marketing fluff, but reflects underlying IT architecture. With a unified approach, creating a web app is as easy as creating a web page. Everything in Metrici is built on a simple, self-defining structure. Nodes, members, node types and member types make Metrici very versatile and let it hold any data. Metrici also has a hierarchical structure to make it even more flexible. You can build sophisticated websites in Metrici, but you can also build simple websites very quickly and easily. On the web, it's very easy to share stuff. What's harder is to keep your stuff private, and to only share it with the people you want. Metrici MiniSite makes it easy to create websites in Metrici and gives you complete control over who can update and read them. Metrici's data derivation makes it easy to build complicated processing and increases performance by orders of magnitude. Metrici has a versatile storage model based more on pragmatism and experience than on data theory. Metrici node types and member types allow you to define any data structure. Display properties control how data is presented and how the user interacts with it. Metadata redefinition is the most powerful feature of Metrici. But what is it, and why is it useful? Metadata redefinition is the basis for Metrici's versatility, productivity and simplicity. How does it work? The design challenges Metrici has faced with summary data are common to lots of systems, and the solution we have adopted could be used elsewhere. How do you view yourself and your colleagues? If you were selling IT solutions, would you talk to the IT department? If you ask a cloud vendor whether their solutions are secure, I am sure they would say "yes". They'll talk about server security, encryption, access controls, monitoring, and so on. But do all these controls really mean your data is safe, or not? We use the term "metadata-driven" to describe IT solutions in which functionality is defined in data. Taking this to the extreme can provide unparalleled levels of speed, simplicity and versatility.
|
Latest newsletter: |
||
Copyright © 2005-2015 Minimal IT Ltd. All rights reserved. Minimal IT: research, training, consultancy and software to reduce IT costs.
|