Day 12: Keep the Focus on Your Application
Hi, this is the 12th part of a series of posts on 30 tips to becoming a better developer. If you would like to keep up to date with the topics that I am covering, just check the main post.
Coding is a fun activity. But in the middle of creating interesting algorithms and user interfaces it is easy to lose track of the main context of the application we are writing. Getting the global picture, however, is not only important, it is essential to create a software product that really delivers what customers need.
The problem is that it is really easy to get side tracked while completing peripheral features that seem interesting for us, but are ultimately useless for clients. How many times have you spend a whole afternoon optimizing an obscure part of your code, or creating a more elegant class for something that is not all that important?
Although implementing the ideas you like most is a fun activity, it contributes little for the success of a software project. On the other hand, the results of getting side-tracked are not fun, and can cause major problems during the development of a large application.
Here are some tips to avoid missing the focus while writing a major software component:
Keep in touch with customers: The best way to understand the main focus of your application is to keep in contact with users. They are the ones that can help judge if a feature is important or not.
Work from a to-do list: It is always useful to have a map when travelling. When working, the closest thing to a map is a to do list. You can decide ahead of time what the plan is for your application, so you don’t get distracted by superficial details.
Avoid the unnecessary: sometimes we try to add features just because they are nice or fun to have. Avoid doing this always. It doesn’t add value to your application, and at the same time creates complexity that you don’t need. Always limit your features to what you really need and you will have more solid products.
Iterate fast: a good way to avoid losing context is to be pragmatic. Iterating fast gives you the focus necessary to keep the main context of your application in your head.
Similar Posts:
About the Author
Carlos Oliveira holds a PhD in Systems Engineering and Optimization from University of Florida. He works as a software engineer, with more than 10 years of experience in developing high performance, commercial and scientific applications in C++, Java, and Objective-C. His most Recent Book is Practical C++ Financial Programming.