Out of the many phases of software development – planning, design, implementation, testing, and so forth – the design phase is quite possibly the most important. A well thought out and documented design can identify potential problems and lead to a better and more stable solution.
Identifying issues before requiring expensive code rewrites can be just as important to completing a project on-time and under budget as the actual quote itself. While not everything can be known or scoped at the onset of every project, planning ahead for the architecture, data modeling, communication protocols, and so forth helps ensure a smooth implementation. Include process maps and work-flows when appropriate to get a head start on documentation.
Have you ever look at someone else’s code/programming and thought, “Why did they do it this way”? So have we. Always keep in mind that there is a good chance that someone else will need to touch your work at some time. Make it easy for them to see your design and reduce the chance of errors through documentation. Remember the process maps we mentioned in the Design Prep section above? Process Maps and readme files are very valuable documents, and have become standard practice. Don’t fall behind the times, document your solution!
Do not skimp on this. You cannot assume you will be able to figure it out if something goes wrong. Log well and log often. Log whenever you get to a point that could be a breaking point. At the very least, you should document whenever accessing information outside of the program. You, and others, will be glad for it later.
Design with Expansion in Mind
The goal is to create a solution under the assumption that it will continue to evolve. As a general rule, the Engineers at AVDS factor in scalability for our customers. Knowing our customers will want to add to the solution we are building, we store expandable data outside of the program. For example, we use data tables to store a list of queues. By doing so, should the customer want to add queues to the customization they can do so without digging into the programming.
Again, you must know the project’s vision. It’s critical to stay focused on the concerns the customer is trying to address as you design and build the solution. It’s easy to just go down a to-do list and complete what was asked of you. Keeping the overall vision in mind allows you to be proactive instead of reactive.
If you are considering all the touch points, documenting the solution, logging often and well, prepared for evolution, and embracing the vision – you are a solution-developing expert!
Reach out to us TODAY! AVDS has a seasoned team of Certified Engineers and Project Managers ready to handle your next contact center project.
Thanks to Sam Marziano & Rick Black for this technical article. Sam & Rick are part of the many awesome people who make up Team AVDS. If you have a question for Sam or Rick, please Reach Out to us. We would love to hear from you.