September 2007 Letters

The increasing complexity of software design shouldn't take anyone by surprise.

A colleague pointed out Kathleen Dollard's recent guest opinion about the increasing complexity of designing computer software ["Pace of Change Leaves No One Competent," Guest Opinion, VSM May 2007].

At its core, I think her assertion is correct: We are getting to the point where a single person is unlikely to be able to design applications alone.

That's nothing so very remarkable, if you ask me. When you get down to it, creating computer programs is a type of manufacturing. There are design and composition elements to it, and complex applications have multiple aspects of design and composition. In this respect, creating computer applications is no different than creating other kinds of manufactured goods, whether an electric pencil sharpener, a box of pudding, or a computer.

These items have varying levels of complexity, but I doubt any single person builds the entire project from scratch, the way it is assumed a single developer might build an application. I admit I don't know much about manufacturing electric pencil sharpeners, but I doubt the person who manufactures something as basic as an electric pencil sharpener oversees the construction of the entire process, nor does he need to. Even if he is familiar with plastics and the molding process, and he can design and implement the molding of the plastic, it's unlikely that he has the expertise to create the motor that makes it go. At a more granular level, even if he can assemble the motor, he probably lacks the expertise to create the motor's metal parts himself. And so on.

It's immaterial that one person can't do every step of the design process required to manufacture an electric pencil sharpener. Indeed, your pencil sharpener is much cheaper and works better for it, because the people with the right expertise work on and supply the right aspects of it.

So yes, like other kinds of manufacturing, I think you are seeing similar efficiencies on the computer software side. Our applications are being consumed by ever-larger numbers of people, and we face ever-expanding requirements in constructing our applications. It's not reasonable to expect one person to meet the all the challenges of creating a well-rounded application by himself, nor should we want that. What is preferable is to let the people with the right kind of expertise handle the appropriate aspects of the job. This is our future, and our software and user experiences will be better for it.

Robert Boucher
received by e-mail


Letters to Visual Studio Magazine are welcome. Letters must include your name, address, and daytime phone number to be considered for publication. Letters might be edited for form, fit, and style. Please send them to Letters to the Editor, c/o Visual Studio Magazine, 2600 El Camino Real, Suite 300, San Mateo, CA 94403; fax them to 650-570-6307; or e-mail them to [email protected]. The opinions expressed in this section are those of the authors, and do not necessarily reflect the opinions of VSM or 1105 Media.

About the Author

This story was written or compiled based on feedback from the readers of Visual Studio Magazine.

comments powered by Disqus

Featured

  • AI for GitHub Collaboration? Maybe Not So Much

    No doubt GitHub Copilot has been a boon for developers, but AI might not be the best tool for collaboration, according to developers weighing in on a recent social media post from the GitHub team.

  • Visual Studio 2022 Getting VS Code 'Command Palette' Equivalent

    As any Visual Studio Code user knows, the editor's command palette is a powerful tool for getting things done quickly, without having to navigate through menus and dialogs. Now, we learn how an equivalent is coming for Microsoft's flagship Visual Studio IDE, invoked by the same familiar Ctrl+Shift+P keyboard shortcut.

  • .NET 9 Preview 3: 'I've Been Waiting 9 Years for This API!'

    Microsoft's third preview of .NET 9 sees a lot of minor tweaks and fixes with no earth-shaking new functionality, but little things can be important to individual developers.

  • Data Anomaly Detection Using a Neural Autoencoder with C#

    Dr. James McCaffrey of Microsoft Research tackles the process of examining a set of source data to find data items that are different in some way from the majority of the source items.

  • What's New for Python, Java in Visual Studio Code

    Microsoft announced March 2024 updates to its Python and Java extensions for Visual Studio Code, the open source-based, cross-platform code editor that has repeatedly been named the No. 1 tool in major development surveys.

Subscribe on YouTube