Meet Tom Oketch A Software QA Consultant At ThoughtWorks

tomThis Week we are focusing on Tom Clement Oketch, a Software Quality Assurance Consultant at ThoughtWorks who I was fortunate enough to interview about his life, work and experience.

Q:  Tell me about your morning routine?

Usually, after snoozing about three of my four alarms at least twice each, I crawl out of bed at about 6am. An hour later after freshening up and having my daily devotion – I get to work. Depending on how I feel that morning, I’ll either read a couple of blogs during my commute or try and listen to some new music. When I get to office, first thing off my to-do list is usually breakfast, catching up with email and news, after which it’s time for stand-up – the daily meeting with my project team where we plan out our work for the day and update our client on the project’s progress. After that it’s work all the way!

Q: With that light start, I would like to know more about you and your background plus experience in the Software Industry.

I would say I’m just a regular Joe who’s strayed too far into the world of software to look back. I used to be a Telecommunications Engineer (that’s what my Transcript still insists I am) but I found more fulfilment in working specifically with computers – even while at university. During that time, a friend of mine introduced me to a spirited team of fellow students that were building a records management system for the university under the mentorship of one of the Professors. This was my first experience with building software beyond the classroom.

I subsequently did a couple of stints as a business analyst and application developer with that team – all while trying to satisfy my curiosity about network security and infrastructure (Yes – I tend to be a jack of all things IT). That curiosity led to a little more than I had bargained for – as the administration at the College of Engineering saw in me the next System Administrator – a role I reluctantly accepted, but grew to love. Well, to cut the long story short, after about 2 years of poking around IT infrastructure and building what I still consider to be the one of the most advanced (yet unorthodox) computer networks in the country, I knew I wanted to come back to the world of software – and that’s how I came to ThoughtWorks, a custom software delivery firm. I am based in ThoughtWorks Kampala office and I work as a Quality Assurance Consultant.

So yes – I have over five years’ experience in the technology space in Uganda during which time I have built software, helped defined requirements for software, set up computer networks, conducted forensic IT audits, mentored aspiring programmers and even helped lecture a master’s course in programming.

Q: I heard you are one of the speakers at the agile Brazil conference, tell me more about the Agile Methodology.

My first experience with the Agile methodology was when I joined ThoughtWorks, an organisation that believes passionately in following this method across all areas of work.

The agile methodology is a way of building software in which the focus is on delivering value as opposed to following a rigid process. It is based on the premise of being able to gather feedback as fast and as often as possible and using it to inform the software development process. As such, the agile methodology facilitates the development of software solutions that evolve to meet the current need. This inherently means when following Agile, the solutions are built in such a way as to ensure that they are always in a state that is deployable (and that the user does not have to wait for the entire system to be built before they can start to realise value). I think everything Agile revolves around this fundamental premise.

Q: As a Quality Assurance Consultant, how essential do you find the Agile Methodology to the quality of software produced

I’m obviously biased, but I cannot imagine a more effective way of building quality software within the constraints of time and resources without following the Agile Methodology. This is because at the core of Agile is the principle of quality. If you’re building software in such a way that it is always ready to be presented to the client, and you are doing it right – you’re bound to be following rigorous quality measures. You cannot afford to put off things like testing till the end – because in essence, the end is always now. I would compare it to working in a company where the auditors are looking through your books every other second. In such a case, you cannot afford to slip. And that’s what ThoughtWorks is about!

Q: What is the main message you are going to give at the conference in Brazil?

I will be talking about my experience in transitioning to Agile in the field of Software Quality Assurance. Having come from a predominantly traditional software development background, I have experienced first-hand the impact that Agile Methodologies have on the processes, techniques, timelines, resources and strategies used to build software.

This is especially true for the software testing practice, which has traditionally been treated as a gatekeeper role whose core value was quarantined to the later stages of a product’s lifecycle. However with the advent of Agile, the quality assurance practice has been totally turned around. It is no longer that protracted process at the end of the software development pipeline where everything goes wrong. If that’s your process, you are doing it wrong. The new approach is smarter – using as much automation as possible and baking quality into the very core of the software development process – right from the start.

Well there you have it, tweet us in case you have any questions @pctechmagazine and catch you in the next one.