Looking back on nearly a hundred software projects, here’s my diagnosis of the top sources of problems that cause problems with quality, efficiency, and stakeholder satisfaction:
- Perspective: wrong perspective on the true role of websites, online products, & communication functions for companies. A limited IT or Marketing perspective, instead of the right understanding of the Internet’s potential, married to a clear business-focus. These projects, after all, should only be done for the sake of worthwhile ROI for the company.
- Research: not investigating the business reasons & goals for the project, to ensure that the project produces them. Not doing the right kind of research into the right questions, & making sound, well-informed decisions at each step of the project, including whether or not to proceed.
- Planning: little or no planning at all. Relying on trial & error. Thinking that planning is either not possible or counterproductive (e.g., inhibits creativity). Poorly-chosen or ill-defined project-objectives. Relying on the design work to reveal the purposes of the project. Leaving “strategic” planning to design agencies or company personnel without the skills to do it right. Working from a plan that just isn’t detailed enough to do an adequate job guiding people’s work at each step in the project. Beginning design work, such as UI or visual design, without adequate specifications, or beginning coding without adequate designs.
- Budgeting: setting budgets before planning, setting objectives, & making sound decisions. Then being stuck with an unrealistic budget for a project that isn’t fully understood.
- Methodologies: critical steps done in the wrong order. Steps omitted. Conflating user-interface design with visual design.
- Product development: inability to come up with innovative product-concepts without relying on geniuses or sheer luck, since no research into business objectives or user aims was done to provide the right foundation for innovation. Product development geared toward the wrong user aims, usually identified from demographic market-research. Product development done backwards: concepts/technologies in search of ways to profit from them. Merely copying the competition, as a common way of trying to cope with these challenges, which is no way to capture the dominant market-position.
- Non-modular services: companies have to buy the whole service or nothing. Thinking they have to get one firm to outsource the whole project to—a myth propagated by design and development firms, which is really the result of poor or unclear methodologies that do not allow for modularization. Leads to the using the wrong people for parts of the project. No pausing for decision points & reevaluating whether to proceed, how, and with whom.
- People: lacking the requisite perspectives & skills for their part of the project. The people doing this kind of work usually come from IT, marketing, or graphics design backgrounds. They rarely understand how companies really work and what online- solutions to their problems must entail. They rarely have the skills to do effective planning and project-management. They are only really set up to execute assignments given to them—not to research, innovate, make decisions, consider business needs, or define objectives. These critical first steps are therefore left to their client or business analysts, who may not know enough about the latest technology and its potential applications (such as how to virtualize various business functions) to do an adequate job of these things either.
- Project-management: unskillful, haphazard, and sloppy. Ineffective communication and collaboration among members of the outsourced project-team and between that team and client staff.
