- Differentiating Between Goals and Solutions
- Divergent, Critical, and Convergent Thinking in a Nutshell
- Focusing on Goals in Software Design
Focusing on Goals in Software Design
Having goals when you create an application is important, especially as you design the application. Every time you add a module, define a class, write a method, or develop a property specification, you can ask yourself whether the addition actually addresses the goal you’ve set. This might seem overly obvious, but the bloated software that many developers produce today points out that this form of thinking isn’t taking place. Consider something as simple as a text editor. How many features does someone actually use regularly? In many cases, you’ll find features that have no possible use; they don’t help the user to accomplish the task.
By keeping your goals in mind as you design software, you obtain the following benefits:
- Simpler application design
- Reduced coding requirements
- Simplified testing
- Enhanced security, reliability, and performance
- Reduced user training time
- Fewer support calls
- Reduced total cost of operation
It all starts with the simple concept of divergent thinking. Using divergent thinking helps you to understand where you want to go today, as well as where you don’t want to go today. A developer needs to know both.
John Mueller is a freelance author and technical editor. He has writing in his blood, having produced 69 books and more than 300 articles to date. The topics range from networking to artificial intelligence and from database management to heads-down programming. His most recent book is Mastering Web Development with Microsoft Visual Studio 2005 (Sybex, 2005). His technical editing skills have helped more than 42 authors to refine the content of their manuscripts. You can reach John on the Internet at JMueller@mwt.net and at his web site.