We need to move beyond voice to voice and data, ... Microsoft can do this by bringing all the pieces together. And once we do, we are really going to surprise people.
Software, by being comprehensive, can save costs by avoiding add-on pieces of software. We can save money in terms of speed of development or by being able to run on less expensive hardware.
Another trick in software is to avoid rewriting the software by using a piece that's already been written, so called component approach which the latest term for this in the most advanced form is what's called Object Oriented Programming.
People are building the software and so having the pieces be such that a single person understands all the tradeoffs and everything that's going on in a piece is extremely valuable. It avoids getting into an experimental mode where you're just trying things out. That never works.
There are a variety of techniques for breaking software down into pieces and making software development more efficient. Many of these techniques have been sort of... and everybody got excited about but very little benefit was actually derived once the thing was put into practice.
The finest pieces of software are those where one individual has a complete sense of exactly how the program works. To have that, you have to really love the program and concentrate on keeping it simple, to an incredible degree.
There's only one trick in software, and that is using a piece of software that's already been written.