Recently I read a blog post that discussed the complexity of iOS app development. I think it illustrates very well the difficulty we have in communicating to clients and potential clients what is involved in doing development.
The process of development for any project is extremely involved. The amount of time and effort spent preparing to write code can be just as involved as the actual act of writing code.
As the blog post discussed, the amount of thought required into understanding the infrastructure requirements to support an iOS app can be substantial. What does the app communicate with? Where is user data stored? How is it transferred? As slick as iOS is developing for it is not simply pulling in different components and flipping a switch.
The same can be said for just about any other type of development project. Many times we look to open source out-of-the-box solutions for our clients, but usually implementing these solutions is like trying to fit a round peg into a square hole.
There are two ways to look at a development problem:
You can either build a solution that conforms to the business OR you can conform the business to the solution.
That is why we like customized solutions – you look at how the business operates, what technical needs exist and then build something to match.
Doesn’t the cost of going custom far outweigh the benefit? Building a customized solution doesn’t mean that it is any more intensive than trying to customize an out-of-the-box solution. Trying to customize Magento for anyone other than a Zend Framework expert can be rather daunting. Looking at Magento code will reveal nested directories inside nested directories containing files with a 100 lines of code in each file with no clear way to connect the dots. Taking a request to add a form field to an existing form can involve changing template files and expanding the existing object (address object for example). Simple things can become rather complicated to implement and what might have been a 2 hour job becomes 8 hours.
So, don’t be fooled into believing that an out-of-the-box solution will be cheaper and less intensive to implement than a custom solution. Tedious application development even exists in the world of iOS applications despite the wealth of tools that Apple provides. Just like Magento, simple changes can require substantial code changes in iOS app development.
All the more reason to do proper planning and documentation before you even begin writing code. Lack of proper planning can easily double your development costs, waste precious months, and have you end up with the wrong solution to the problem.
Bottom line: Don’t skimp on your application development budget and be sure to include adequate time and money to do proper planning and documentation.
If you’d like some perspective and want to get an idea of what’s really involved in developing an iOS application read this post from a developer of Twitterrific.
Hey there! Do you know if they make any plugins to help with Search Engine Optimization?
I’m trying to get my blog to rank for some targeted keywords but I’m not seeing very good results.
If you know of any please share. Thanks!
We use the “All in One SEO” plugin – works very effectively
Howdy! Do you use Twitter? I’d like to follow you if that would be okay. I’m undoubtedly enjoying
your blog and look forward to new updates.
@tangrammedia – follow us and get even more useful updates – thank you
Hi, i feel that i saw you visited my site so i got here to give back the prefer?
I’m trying to find things to improve my site!I guess its ok to make use of some of your concepts!!
Absolutely – fire away everything in this Blog is free information for your use.
I was able to find good information from your blog posts.