• On MovieTome: TRANSFORMERS 2 SPOILERS!
September 26, 2007 12:06 PM PDT

Simonyi tells programmers to leave the Dark Ages

Posted by Martin LaMonica
  • Print

CAMBRIDGE, Mass.--Charles Simonyi--legendary Microsoft programmer, good friend of Martha Stewart and space tourist--doesn't have many good things to say about the current state of his own profession, software engineering.

He says businesses are stuck in a "poverty economy," using only the cheap and crude tools available to write programs. And he calls software development "the bottleneck on the high-tech horn of plenty."

Simonyi spoke at EmTech, the Emerging Technologies Conference at the Massachusetts Institute of Technology here Wednesday, where he described his solution to the programming problem.

Professionally, Simonyi is well-known for his role in heading up Microsoft's PC applications in group in the 1980s. He is also known for his personal relationship with Martha Stewart and the trip he took to space earlier this year.

Charles Simonyi, Intentional Software.

(Credit: Martin LaMonica/CNET Networks)
Five years ago, he founded Intentional Software which has created technology that seeks to speed up software programming and thus help solve business problems.

Traditional software development is hampered by communication barriers. Businesspeople who are "domain experts" in how their companies operate tell technical people--programmers--what they need software to do to solve their business problems.

This transfer of requirements from businesspeople to programmers is problematic because the parties speak different languages and companies' needs change.

Intentional's technology is designed to enable businesspeople to express their requirements in a way that doesn't demand that they learn computer languages. It is also designed to help software engineers generate code based on businesspeople's requirement descriptions.

"Businesspeople lack the means of expressing themselves. Our proposition is to fully integrate domain experts into software development," Simonyi said.

During his talk, Simonyi said existing technologies for modeling business applications or domain-specific languages--used by software development powerhouses like his former employer, Microsoft, and IBM--are not complete or flexible enough.

"The reason (Intentional's software) will work is because the applicability is vastly greater," he said.

People can continue to use those technologies from more established providers. They can stay on the "edge of the renaissance and not enter the Industrial Age."

"I want to take the bigger step, and I think it's important for someone to make the investment in the technology," he said.

During his talk, Simonyi described a positive experience of an Intentional Software customer, consulting firm Capgemini's financial-services group in the Netherlands.

Previous programming techniques resulted in an expensive and brittle process, he said. The Intentional software enabled the Capgemini team to reduce the number of handoffs between different parties in the application development process.

"This system is equally applicable in other domains," he said.

Martin LaMonica is a senior writer for CNET's Green Tech blog. He started at CNET News in 2002, covering IT and Web development. Before that, he was executive editor at IT publication InfoWorld. E-mail Martin.
Recent posts from News Blog
NASA, Google Maps track Southern California wildfires
Sprint first to offer HTC Touch Pro
Flipping out: RIM BlackBerry Pearl Flip 8220 debuts
Sprint HTC Touch Diamond outed early
Woman to virtual ex: 'I won't be ignored!'
Add a Comment (Log in or register) 6 comments
Definition of Systems Analyst
by timcoyote September 26, 2007 1:54 PM PDT
You know my degree in Systems Analysis was suppose to fill this role of business knowledge to systems transfer. It's suppose to be my job to understand both technical architecture, business models and processes, and IT project infrastructure and make them all work together. (Officespace: "I'm a people person!") The point in the article that business's is poor and can't afford to hire me is true though. Also those types of study in colleges are being replaced with hardcore Computer Science/no business. I seriously doubt this stuff can help software engineers in any new way beyond basic modeling that is already done. Just seems to me its a good way to get people to not talk to each other even more than they do now.
Reply to this comment
Not everyone writes business software
by Crunchy Doodle September 26, 2007 3:11 PM PDT
I am a software engineer working for an aerospace company. I write software for controlling machines and processing data from sensors in those machines. Some of these machines are robots that perform simulations of other machines in the real world, and some are the machines that exist in the real world.

Though this is a different world of software engineering than business software, getting a comprehensive set of requirements is just as hard. This is in spite of the fact that the requirements makers pretty much speak a language I understand directly. With few exceptions, there is never enough time and thought put into creating a comprehensive set of requirements and test criteria for the final product. And then there is the issue of providing estimates for the work. Again, with a few exceptions, my plea for enough time to complete the work is ignored and original estimate make on a cocktail napkin by the sales guy is used since that's all the money we got for the work in the first place.
Reply to this comment
Businesses should hire sharp programmers
by paulej September 26, 2007 8:00 PM PDT
I've been in the software development business for years. I've worked in a variety of areas and I have never had difficulty translating business requirements into software. I know how to listen to people and I produced what is requested. I am personally skeptical that a technology is going to help improve on communication deficiencies.

So, I am left with thinking that perhaps the technology this company has created might fall into the category of "rapid application development" (buzz word I have not heard in a while). This does not address the inability to translate business problems into code, but I suppose it might enable developers to more quickly change software (i.e., re-write and re-write until it is correct). Is this really an improvement? Are programmers unable to find ways of meeting requirements and developing code properly the first time? They should. Perhaps companies are not willing to hire/retain the right talent?

But, let's say that many cannot, just to go along with his idea. I'm very curious to see what this technology is. My big fear is that it is yet more "web browser-based" software. I hate browser-based software. I have seen many companies moving to browser-based software, pleased at how they have reduced development costs, yet completely ignoring the fact that they have introduced productivity losses company-wide. Now, that's not true in all cases, but when a sophisticated application is employed via a web browser, far too often I have seen users have to navigate a lot and every move is a slow and painful step. Even simple software that is accessed with some frequency kills productivity as it requires the user to start a browser, navigate to the right location, log in, etc., before work can begin.

Anyway, I hope this is not a browser-based technology. Any clues?

Did he really say that "businesspeople lack the means of expressing themselves"? I bet some might just take exception to that.
Reply to this comment
Buisiness people might be the problem?
by BaronVilhelm September 27, 2007 4:48 AM PDT
I think "Businesspeople lack the means of expressing themselves" is the best quote from the article.

If you can state what you want to do logically, I'm quite sure you could write some software to solve your problem. The trouble with businesspeople is that they can't usually state things in logical terms, but instead often use woolly management phrases to represent their business problems (or are they "challenges"?).

I'm fairly sure that if they can't state the things that they require in more defined or logical terms, then a computer (running Intentional Software) is going to do no better at working out what on earth they want than a person is.

If they are forced to be more logical and defined in order to use the Intentional Software, so they have a steep learning curve to be able to use the software, i.e. they are forced to be more defined in their wishes, a software engineer would probably still do a better job of creating a system to meet their needs.

More likely, they will not want to be forced to be definite about what they want as, for one thing, they are then culpable when they get what they asked for but it wasn't what they wanted.

So with Intentional Software, they?ll just hire an interpreter to do the job of getting the program to make for them what they (thought they) asked for.

That?ll be very similar to the situation we already have.
Reply to this comment
Problem Solving an issue
by blufie September 27, 2007 8:13 PM PDT
There is truth in all replies to this article.

I have been in software design, development, maintenance, and coverage, for 18 years in a zero tolerance, high transaction (600K transactions per minute) environment. I have witnessed the design/development of many projects that cost a lot of money to buy/build, and in the end, only cost a lot more money to use. This has lead to a few truths of my own.

1. Most software isn't written to correctly solve a business problem such that the average human user can be successful with it. It may be coded exaclty to the requirments, and the requirements were technically correct, but the overall process does not improve or solve the intended business problems. This is a failure of requirements gathering, design, development, and (all too often) management will. In fact, the people directly involved often know early on that the project will not address the need, but continue on with their mission for countless untold reasons.

2. Business people seldom foot the full cost for the correct software solution to fit their needs. The original design might have been sound, but the end result is most often crippled out of the box. The software may collect, house, or process as specified, but fail to support a user in accomplishing these tasks in a real world situation.

In my world, this has lead to a slew of applications that not only collectively miss the target of solving any business problem, they actually take up more human cycles of work to service them. Smart people work around these systems that the company spent so much money on, leading to the same level of process failure, only with a higher price tag.

I applaud efforts to produce a better environment for business and software design to work together in, but I too am skeptical that there is a magic bullet. Well... actually there probably is one, but no business would ever survive the price of the ammo. Still improvement is worth pursuing.
Reply to this comment
by RAAJIK October 5, 2008 6:58 PM PDT
BACK IN 81 WHEN I WAS STUDYING SYSTEMS ANALYSIS & DESIGN WITHIN BUSINESS , PEOPLE WERE RUSHING TO STOP US WHEN THEY REALIZED THAT THEY HAD CREATED A CREED THAT WOULD BY DESIGN REDESIGN EVERY BUSINESS IN THE WORLD AND REWRITE EVERY PROCESS IN CREATION(RIGHT OR WRONG).
NOW LOOKING BACK, THEY WERE WRONG. THEY SHOULD HAVE LET US CONTINUE AND THE WORLD WOULD HAVE BEEN A DIFFERENT PLACE, INSTEAD OF PLAYING GAME SIMULATIONS WE COULD HAVE BEEN DOING THE REAL THING.
Reply to this comment
advertisement

In the news now

Photos: Gadgets we're thankful for

Some of your favorite Crave contributors reveal which gadget or aspect of technology they're feeling most grateful for these days.



BlackBerry Storm packs more of a drizzle

review Phone has an innovative touch screen that provides tactile feedback, but the onscreen keyboard is a bit cramped, and the smartphone can be sluggish, and speakerphone quality is choppy.



About News Blog

Recent posts on technology, trends, and more.

Add this feed to your online news reader

News Blog topics

advertisement
advertisement

Inside CNET News

Scroll Left Scroll Right