Tag Archives: Software Development
CONVERGE® Pro 2 CONSOLE® is about to release! It is the most ambitious software configuration tool that ClearOne has ever undertaken. It has been several years in development. So what does it take to develop good quality software?
The Software industry talks about methods, processes, development cycles and other standards. These are good, but they all fall short. There is no 100% guaranteed method, and I am not going to talk about any of them! I want to focus on the principles behind all of the methods.
Care about the user!
Ultimately, the software is going to be used by someone. Developers need to be reminded about this because we get so close to the GUI we quit seeing. It becomes difficult to see the “forest for the trees”.
Keep in mind, the end user changes the way you build software! You have to ask yourself “What does the user want to accomplish?” We set a goal for the CONVERGE CONSOLE program: to be able to configure a simple conference room in less than 10 minutes. The attitude of keeping the user first went very deep.
Another important concept that we embraced was educating and training the user on how the software functioned. This was reflected in many ways – multiple navigation menus, user-friendly error messages, and screen layouts.
The development team always started with a picture (or a mock up) of a screen, which were manipulated and drafted until they looked good. The mockups were even shown to a few select users. But once we had the screen functioning; sometimes it just simply did not work. Pictures are great because they save you time and can be used to work out many interface programs; but they are lifeless and static. When things started to move and function (became dynamic), many times they just did not get the job done. It’s all part of keeping the users’ needs in the foreground.
The software evolved through this process and went through many iterations.
Plan for the future
One thing that always happens in any project is change. Change is always knocking on the door. Instead of fighting change, we embraced it. CONVERGE CONSOLE software was designed to be adaptable. There are many ideas and features that we plan on adding in the future. The best is yet to come.
Communication is King!
Seriously, don’t underestimate the value of collaboration and communication! Communication needs to include all the “Stake Holders”. Everybody needs to help in order to make a product great. The users, administration, marketing, quality control, hardware engineers, and software engineers are some examples of “Stake Holders”. There were several times when the requirements changed, and the software development team had to start over.
Feedback is a Gift!
Feedback is something that is generally thought of as being negative. The development team instead embraced the concept of feedback as a gift. Feedback can be a gift! It lets you know when things are not working. The GUI might look like the greatest thing in the universe; but if it does not make sense to the user, it’s just wrong (after all, who are we developing this for?).
We sought out feedback early and often from people. Many times this caused the need for the development team to rethink the software architecture. There are 2 main keys to receiving feedback:
- Listen without judgement, and
- Check your ego at the door.
Listening is key. You never know where a good idea can come from. But if you don’t listen and try to understand the feedback, you will miss the issue. We try to get to the heart of the problem. Many times we had people telling us how to code the GUI, but when the underlying issue was uncovered, there were better ways.
If we had not listened and sought the feedback (without judgement) the software would have not evolved as quickly.
If you don’t check your ego at door when receiving feedback, you will try to defend what is already established. This does no good for the giver nor the receiver of the feedback. It just turns into a contest of wills. The software suffers and bears the scar.
What’s the bottom line? If you want to be part of a software development team learn to communicate. You also need to learn to listen to the Users.
We’re excited to release the CONVERGE CONSOLE software. We’re putting it’s final touches on it so it’s not ready, but here’s a Sneak Peak of what’s coming your way. (Click Image to Enlarge)
Tell us your thoughts, ideas, and the methods you use to improve and maximize software development for the best possible experience an end-user can have.