Software development is a creative craft — Thoughtworks’ Stephen Musoke

musoke_with_friend_resized

It’s over a year now since ThoughtWorks, a privately owned global software delivery and products company that delivers custom software, software tools, and consulting services to organizations with lofty goals began operation here in Kampala, Uganda.

We caught up with the country General Manager, Stephen S. Musoke, a self-taught long time software developer, father, a mentor to the Techpost (now Dignited) team and an ardent reader of this blog to tell us more about Thoughtworks, its operations in Africa and insights into the Tech industry.

Advertisement - Continue reading below

What is Thoughtworks?

Thoughtworks is an organization that uses technology while working with clients with ambitious missions. We opened the Kampala office in Africa in August 2012, shortly after we opened in Johannesburg. We are very pleased to be in this country amidst the bright technical minds and the growing software development community.

working_enviroment_resized

Thoughtworks office at Soliz House, Kampala

Thoughtworks is largely known for Agile software development Paradigm.  What’s Agile and why Agile?

We’re proponents of the Agile software development paradigm which fosters collaboration – people over process, working software over documentation, customer collaboration over contract negotiation and being responsive to change over sticking to a plan. Software development goes beyond working on a computer. It needs to be a continuous, collaborative and a creative process. Agile development demands that requirements and solutions evolve through collaboration between self-organizing, cross-functional teams.  So software development isn’t an endpoint in itself, it’s a journey. As we get through the journey, the priorities keep changing and we have to keep on adapting as we work together with the client to deliver a solution to their problem.

What are the economics of this paradigm? Doesn’t it turn out to be more expensive as you continuously iterate through a client’s needs over a period of time?

With the rapidly changing business field, it means you have to embrace and hasten your response to change. Lets say you’ve a million dollars to build a certain software in one year. One paradigm is to have all the requirements and the market information upfront. With that, you can’t change the feature-set. Take another paradigm where you know the target audience from which you can learn their user-behaviour and keep improving your software. You can spend a million dollars on both. Agile doesn’t guarantee success, it just increases the possibility of the client getting value for their money. This doesn’t mean Agile is less expensive. As a matter of fact, it has certain costs that are transferred into elements such as collaboration.

Agile isn’t for everything. If all the requirements can be pre-determined before hand, then Waterfall or similar paradigms could work. However, if your product resolves around a rapidly changing environment, where speed is critical, you need some form of iterative software. For instance, take a look at the rapid iterative development of Android which is a mobile operating system as compared to Windows XP/7 on the slow moving desktop environment.

What kind of clients are you working with globally and locally. How is the local market embracing custom developed software?

Globally, we have worked with a diverse set of clients across industries – banking, financial services, retail, telecom, media and non-profit organizations most of which you can check on our website for details on client stories. We help our clients solve complex problems which helps them be more successful.

Locally, I can’t get into specifics. However, we have a number of clients in the health sector and those organisations whose needs are around data collection.

 

How come you’ve a bit of a non-conventional working environment characterized by ping pong tables, free drinks in the fridge and so forth?

lego_blocks_resized

Problem solving using Lego blocks

Software development is a highly creative craft. We don’t want to restrict people to their desks or a cubicle-type kind of working environment. That’s why we provide a creative space. We believe that a mind needs to be relaxed to be able to churn out impactful solutions. So what better than a soda or a game of ping pong!

How many staff do you have and what kind of people do you employ here?

We currently have 37 people.

Of those, we have operational support people, we have developers, business analysts, project managers and quality analysts.

Why did you chose to come to Africa, specifically Uganda?

Thoughtworks is already existent on every other continent, so it was inevitable that we would come to Africa.

We started in Johannesburg in South Africa, before coming to Kampala. Kampala is a quite unique with a great pool of talent and it is beautiful. We’re strategically located near Makerere University which has established itself as a centre of Pan-African thinking and intellectual excellence across the continent. So wanted to tap into that flame and perpetuate it throughout the continent.

Talking about Software developers in Africa, is the market ready to harness and make good use of their skills as is the case with other established professions?

Yes it is. However, we’re offshoring most of the work that would otherwise have been done by local professionals. For instance when you look at government IT expenditure, I bet less than 10-20% of it comes to the local providers. Critical software systems aren’t run from here, they’re run in Europe. I would be surprised if they were.

team_work_resized

Team building in Office

The challenge is we have to up our services and skills to the level that they can compete on the international market both on price and value. Also we need to change the perception. People say, our developers aren’t good enough! I disagree. They are very good. All we need are support systems to help drive growth in the sector. For instance, we could have government institute policies that require majority of IT expenditure to go to local providers as is the case in other countries.

As Thoughtworks we’re trying to support the local technology sector through several initiatives with university students such as Level Up plus Rails Girls & Black Girl Code that strive initiate girls into computer programming. Our staff works with people from the local community to empower them make an impact using technology.

The most of the internet or the cloud is already taken by internet giants such as Google, Facebook and big tier-1 Internet Service Providers that provide and resell bandwidth to small companies. Isn’t Africa “late” to the party in the clouds?

It’s a question of policy and government support. We still have a chance. Imagine the government set out to support anyone providing last mile connectivity within the country, or it built a local data center, it would shift the connectivity gears.

For instance, the national backbone can be used to lease extra capacity to Cloud service providers whose content could be hosted here. This will tremendously reduce on the latency issues since traffic doesn’t have to traverse international gateways to Europe and America first before it reaches the intended user.

The local clouds could power local businesses, and sectors such as Agriculture as information can be delivered directly to the farmers while avoiding the middlemen. So there’s still a chance for Africa to grow her own infrastructure and host her own clouds.

Featured Image by Thoughtworks: Stephen Musoke on the right

  • Pankaj Kumar Shrivastava

    This article is catalyst for anyone……….Very motivational.