Poor management can increase software costs more rapidly than any other factor. Particularly on large projects, each of the following mismanagement actions has often been responsible for doubling software development costs.
Trying to apply formal methods to all software projects is just as bad as trying to apply code-and-fix development to all projects.
I am very happily employed as a full-time software engineer; I travel a lot, and I write books along with this here weekly TechCrunch column; and I still find the time to work on my own software side projects.
Inadequate use of usability engineering methods in software development projects have been estimated to cost the US economy about $30 billion per year in lost productivity.
The QSM Software Almanac is an invaluable resource. It establishes a norm for software projects, including best of class, worst of class and averages. In addition, it profiles the state of the art of software construction and enhancement. I wish I'd had this wonderful reference book years ago.
Worldwide, enormous areas of peatland are still being lost to agricultural development, drainage schemes, overgrazing, and exploitation-based infrastructure development projects such as roads, electricity pylons, telephone masts and gas pipelines.
There is a strong movement towards increased accountability for software developers and software development organizations.
High-quality software is not expensive. High-quality software is faster and cheaper to build and maintain than low-quality software, from initial development all the way through total cost of ownership.
In the early 2000s, we were finding at Amazon that software development projects were taking us longer than we thought they should. We decided to build a set of infrastructure services to allow our retail business to move more quickly.
The argument is made that naming God is never really naming God but only naming our understanding of God. To take our ideas of the divine and hold them as if they correspond to the reality of God is thus to construct a conceptual idol built from the materials of our mind.
Old companies that had nothing to do with software in the past all have software development activities to unlock the invention that's occurring inside of these organizations. And so the developer is a very important part of that overall ecosystem.
Considering the current sad state of our computer programs, software development is clearly still a black art, and cannot yet be called an engineering discipline.
I'm not of the opinion that all software will be open source software. There is certain software that fits a niche that is only useful to a particular company or person: for example, the software immediately behind a web site's user interface. But the vast majority of software is actually pretty generic.
With software, you really can replicate and do a lot of very real and active development in parallel, and actually try it out and see what works.
I would definitely like to work at Microsoft, since software development and exploring new technologies has always been my passion, and Microsoft is best when it comes to next-generation software technologies.
There's a fundamental problem with how the software business does things. We're asking people who are masters of hard-edged technology to design the soft, human side of software as well. As a result, they make products that are really cool - if you happen to be a software engineer.