Demystifying web & app development

I’ve been listening to too many stories recently @ Spring from individuals, companies and NGOs alike about their past experiences working with some of the web/mobile development agencies & individuals in the city (Amman/Jordan).

Horrific is an understatement of what seemed to be the status quo of the industry or it’s lowest point as the craft has been so commoditized the past 10 years or so.

So, silence no more.

I will shortly list some of the major issues those customers have been reporting to me:

  1. The Source Code Dilemma, a client recently asked us to give them a quotation to redevelop a seemingly functional website they had and do some improvements on it along the way. When we asked why a redevelopment is needed instead of an enhancement, and if we can look at the code, they said “the company that developed the website said we don’t own the code” we asked, was it work for hire or did they do the website for free? they said “Nope we paid, but we didn’t state who owns the code in the contract”. In other cases the developers actually ask their client to pay a ridiculous 100k for the source code, as if they invented the concept of a website! In any work-for-hire project where you are hiring someone to develop something specifically for you or your organization the default is that you own the code since you paid the designers and developers for their time and supplied them with the features list etc. The contrast is paying for a ready-made-software with minimal customization, then the developers own the source code unless otherwise stated. Make sure your contract clarifies that you own the code.
  2. The CMS Dilemma, a client once asked us to take a look at their current website code and see if we can use the same content management system (CMS) but implement a new design. Going through the code and setup we noticed a lot of content was hard coded within the CMS. When we asked the client, how do you add a new person to the board of directors list on the website, their answer was “Oh we call the company to add it for us” being in a state of shock we asked “Didn’t you pay for a CMS based website where you can edit all information on the fly?” their answer was “Yes yes of course, but they told us not everything can be edited”. When someone tells you they are building you a website with a CMS, you should be able to edit 90% of the text period and the maintenance are for software updates, bug fixes and small enhancements only, not for data entry unless you actually want them to manage the content on the website themselves.
  3. The first payment scam, I was stunned to hear several stories of clients making a first payment and then never getting much progress on the work they requested. Some of these clients claim that the developers kept telling them “we are busy with other projects” and not delivering or simply never hearing back from those companies beyond some initial minimal work. As if they bate clients into signing a contract and betting their scam on the client having to sue them in order to get their money back which most people try their best not get into due to the pitfalls and delays of current legal system in the country. The simplest way to avoid this pitfall and many others, is to ask any company you are thinking of hiring to give you a reference list, or better yet check their customer list on their website and randomly call some and ask about them.
  4. The disappearing freelancer Dilemma, everyone falls for this one, including me personally. Where you try to save few bucks by hiring a good freelancer to do the job. The problem with freelance developers is that they do the freelance in between jobs or after they finish their full time jobs so for most it’s a temporary work they do to get a quick buck, also most are not interested in working with you to maintain the code after they are done and will actually disappear. While others will discover that they charged you little for the amount of work you initially asked for and disappear once they feel you are not willing to pay them more. First make sure that freelancing is their full time job, second, ask them if they will be dedicated to your project for a stated duration. Third, only use freelancers when you are willing to scrap everything they build for you at some point once you have generated income/funding enough to hire a company with a maintenance option for you to use to maintain your initial investment in the software the company has built for you.

Those were the major issues I’ve heard about.

Now, let me take you deeper into what a customized software agency service is about so you understand the dynamics of your future relationship with one.

Service companies specializing in building customized software for you (websites, apps, information systems) basically sell you their staff’s time and expertise. Some are able to give you a fixed duration+deadline+price for the work you asked for, for that you should make sure all the features, interactions, and other specifics are all detailed enough and written down in the contract. If you fail to do so, they will charge you for new requests, and they are right to do so.

Alternatively, if you are building an experimental new product and can’t box the scope for few months, then ask for a retainer agreement or what some call time & materials (T&M), through this arrangement you pay only for the hours that have been worked, you get a detailed timesheet periodically that you can audit and then approve for billing. This way you start with a range of what it would take to finish your project and you get to manage the budget yourself. For the company your are working with, this is much less risk for them so you should get well discounted rates per hour .

I really hope this helps you avoid such catastrophic pitfalls and if I was asked to summarize everything into one tip, it would be the one where you go and call the clients of any company you are considering!

This story was first published @Springing Forward

Razan Khatib

Razan Khatib

Playing at the intersection of culture, technology, and values. Trying to structure my thoughts and share experiences, learnings, and insights. Co-founder of @spring_apps
Amman, Jordan