Common Outsourcing Issues 1: Code Quality and System Alert Messages
Common Outsourcing Issues and Misconceptions
When development teams are on the other side of the planet, there are real issues that exist as well as common misconceptions. Our “Common Outsourcing Issues and Misconceptions” blog series will cover actual situations that have occurred between outsourcing companies and clients, as well as those old wive’s tales out there about outsourcing!
We will begin with problems that can arise from outsourced code or poorly-worded comments (this week). In weeks to come, we’ll cover communication glitches, security concerns, etc and wrap it up with common misconceptions. These issues can cost you dearly in extra development time and, far worse, make for a poor user experience.
Outsourced code, commenting & documentation quality
Code commenting woes aren’t limited to outsourced code: many companies in the States and elsewhere are lax about code commenting. Why is that such a bad thing?
Comments explain what code does. If they are poorly-worded, any new developer trying to maintain or update that code will almost need to reinvent the wheel (rewrite the code himself.) No comments or, worse still, comments in lousy English are a nightmare that results in scrapping weeks or even months of code when a new version is required. This costs you a fortune as what should be a two week project morphs into several months.
Being an off-shore company, we ran into this problem the moment we placed a foot on American soil. Some of our first clients had us add develop modules to add to their existing web applications: previous comments were brief to non-existing. We had a hard time understanding the purpose of a “class” object being called from within a Controller that had no visible relationship with the other objects being used in that file. Digging deeper into the code helped us figure out that that object is needed in a file called from another file in the ‘View.’
We make sure that our production facility doesn’t release such code. We use several measures to make sure that code comment quality is not compromised. For example, every week we have a peer review session where one coder inspects the code of another. Many times a team leader picks one random coder a week and scans a module’s code to confirm proper commenting.
Yes, it’s a small detail, but if comments are overlooked, poor ones can drastically add to a project’s cost.
System Alert Messages
Comments are behind the scenes, so to speak. What about messages that the app/site generates for users? What if those messages are poorly-worded or so brief as to mean little? You then have a lousy user experience. We believe that all user interaction is as important as the quality of the back end architecture.
For instance, you have an entire application that works perfectly. However when a user fills in a contact form and clicks ‘submit’, they see a message like “Data saved.” What does that mean to them? Nothing they didn’t know already!
Your user should see a detailed message in fluent English such as “Thanks for registering, [user-name.] Your information has been saved. Someone will get back to you within 24 hours”. Now the user has been acknowledged and called by name, making for a superior user experience.
Our solution is simple. We look at the very highest level of QA as a two-part process:
- check functionality
- check content.
All content produced by the application is reviewed by our QA Content Writer, a member of our QA team. He ensures that all error or thank you messages seen by users are well written and make sense.
Overall Code Quality
If you’re looking to outsource site/application development, you need to research companies that produce high quality code. What constitutes ‘high quality code’?
- well-written: elegance, clarity, functionality
- modular: app broken into specific tasks, enabling distributed development to shorten dev time
- documented: Tech specs, design specs, project overview docs – all should be easily understandable and clear so that projects are executed as expected (no surprises from poorly-written technical specs, for example!)
- commented: Clear comments that can be easily understood by any new developer
- follows MVC principals: clarifies UI structure, easier (less costly) to maintain
How does Galaxy Weblinks ensure consistent quality? As we detailed above, our internal QA processes and insistence on professional content writers ensure the the quality of code-commenting and front-end messages. We are and always have been about superior user experiences!
We are so confident about our work that we are more than happy to give you a code sample from projects we’ve done in the past.
Next week, we’ll discuss another major outsourcing issue: communication. Different cultures, different time zones, and different languages: all can complicate communication unless companies take preventative measures.