We already had automated systems that used Selenium and PHPUnit to test our source code. Each time we check in code the testing system fires up, grabs the source, runs a set of tests, and reports to us the results on a dashboard-like web page. All automated of course, as is the agile way.
…but automation isn’t everything…
As good as test automation is you can’t really go past some basic usability testing. For usability testing we start by playing with the software, try different things out, try to break things, and most importantly, observe others using our software.
We have a long and successful history of introducing our programmers to non-technical users and working with them to build the software they need. Often our staff head out of the office to demonstrate the software to customers (or potential customers). It is amazing how much feedback you can receive by just watching somebody use your software. Even just getting a workmate to have a quick look over your work is valuable and it happens all the time here at Univex.
Until you see a customer look a little confused, or perhaps crack a smile, you won’t know for sure whether all that hard work in coding up a program is actually meeting the goal: to delight them.
So if you are a rookie programmer, still in school or recently graduated, be sure to get out there and see what is happening in ‘the real world’. Developing software professionally is unlike University where you program, submit, and get a score out of 10. Programming as a career tends to be a highly iterative process, often very interactive.If you have traditionally programmed in isolation, or not used to programming with others, I encourage you to take a chance of being shot down in flames. Get somebody else to look at your work. You will become a more effective developer, and at a much faster rate than your peers.