Sunday, October 01, 2006

Developing Software Product vs Custom solution.. some random thoughts

Of late I have been thinking about this a lot. How is developing a software product different from building a custom solution. And quite often indulge into casual discussions with some of my friends out here in Singapore. I was thinking of putting together a well-structured elaborate post on this topic, but seems that it would take a while for me to sit down and collate all my learnings, discussions and thoughts on this. For now just thought of putting up random thoughts on this topic.

First of all let me put on the table, what I mean by Software product and custom solution. By software product I mean those set of software, which are build to sell off the shelf. These are the software, which are NOT developed for any specific customer, but for general use. Of course this software comes with various features and functionalities out of box and there are some points of extension and customization. The software product is installed or setup or implemented by the customer to address their specific business or personal need. There are tons of ways to classify the software product but the details are outside the scope of this post. But the basic principle of software product or to that matter any product is that it is meant for a particular community and not a specific customer. Needless to give the examples but nevertheless here are few: Microsoft Office, Acrobat Reader, Oracle database 10g etc

The other category is what I call custom solutions or custom software solution to be precise. By this I mean the software build to address a custom need. This solution is targeted for one particular customer or a particular requirement or a specific business processes. The software (or the solution) is not build to sell of-the-shelf. Even maintaining existing enterprise applications and enhancing them falls under custom solutions. A custom solution could be one build from scratch like a Web Based Budgeting and Reporting solution build using Java and HTML technology. Or it could be extending the functionality of standard applications by adding necessary customization.

I do acknowledge that there is no easy way to classify all that is happening in the software world into these two categories.  There are some things, which are in the boundary and don’t really fall straight in to one of this category. We keep hearing things like frameworks or blue prints, which are sold commercially these days. These frameworks are in turn used to develop custom solutions around it. So where do they fall? Similarly there are offerings forms Google like Gmail, or Clendar or to that matter any web service, which is out there in Internet. Should we call it a software product or a custom solution? Lets us keep ourselves away for all these debates.

Getting back to the main idea of the post: how does developing a software product differ from a custom solution.

Developing a software product according to me is:
  • More organized and planned engagement.

  • Lot of planning goes before embarking the actual development.

  • There is lot study done in terms of gathering the requirement.

  • Things like Focus group and user community are foundation for this product

  • Involves Studying features and functionalities of other competitive products in market.

  • Most of the time, a prototype or a proof of concept precedes the actual development

  • There is lot of flexibility while developing the software product it terms of choosing the technology, etc.

  • The teams are relatively bigger. Flexibility for the a developer to be focused on particular module or set of module

  • The quality process is more elaborate. Lot of testing both internal and external is done

  • API and maintaining reusable components libraries is critical

  • Wide adoption of software best practices and better design principles

  • Bug fixing and support is more comprehensive

  • Licensing and software delivery are important consideration

  • Software packaging and installation mechanism are important component

  • Change control is ubiquitous

  • System design documents are user manuals are of good quality. Also the documents are constantly maintained with the new release of software product.

On the other side developing a custom solution is:
  • Planning process is not very elaborate

  • Studying of requirement is not very comprehensive. At times requirement gathering processes continues long after the actual software development has started.

  • The scope of the solution at times is not well defined

  • Prototypes or proof of concepts is not that frequent.

  • In terms of choosing the technology or tools the decision has already been taken by the customer or the during the presales exercise

  • The teams are relatively smaller with one person playing multiple roles at times.

  • API and maintaining reusable components is not that critical if the custom solution is relatively small.

  • In larger solutions there is proper bug fixing setup. However for the smaller solution the bug fixing and patching is very adhoc

  • Licensing is not of that grave importance. However there is lot to deal with in terms of SLA (Service level Agreement) while delivering a custom solution.

  • Software packaging and installation mechanism are not of significant unless the solution is build for large user base, which needs to install the software on their PC.

  • Change control in place for most medium and large-scale custom solution.

  • Design documents are part of any custom solution project however at times these documents are not maintained with the new releases or the changes in the existing release.

All said, the above does not always stand true. With the smaller software product developed with Agile methodologies do forego some of the items mentioned in the software product development. Similarly with the large custom solution developed under a strict quality process does follow lot of the items in the software product development


Abhinav said...

Good analysis!

Anonymous said...

Your blog is worth bookmarketing, and I'm going to let some of my marketing partners know about your useful resource. Discover how 2 top affiliate marketers lay out entire affiliate marketing systems and reveal all their short cuts, proven tactics, success stories, and guarded secrets, so you too can start to earn jumbo-size affiliate checks home based business

Tango Boy said...

I appriciate your analysis. I was going to do same but just gave a thought to google it. You have covered most topics and put down in nice language.

Congrats, Good work.

vishnuprasath said...

We are experts in the field of web designing with latest tools, technology and people with the right skill sets.
We develop static as well as data enabled dynamic web sites with flash developed by our own multimedia division.

houston Kenna said...

i just wanted to say how much i enjoy reading your blog. in a world full of spin, it's nice to get some fact-based analysis.
keep up the good work.
POP Displays

Palani said...

My cousin recommended this blog and she was totally right keep up the fantastic work!
software product engineering

viji said...

Wonderful blog & good post.Its really helpful for me, awaiting for more new post. Keep Blogging!

Software Product Development

ranjini said...

Great thoughts you got there, believe I may possibly try just some of it throughout my daily life.

Software Product Development

shree nath said...

his is an excellent post. I learned a lot about what you talking about. Not sure if I agree with you completely though
web hosting

Jordan Mallory said...
This comment has been removed by the author.
Jordan Mallory said...

It is important when developing a new product to do research on Custom Product Development ideas. This can help people educate themselves on how innovators and businesses spread product ideas that can help a concept make it to the market.

Kumar Anil said...

I was looking for something like this and I am so glad that I finally found it.
Computer Software System

John Dudley said...

Acetech who have been one of the leading software development company in Delhi giving creative custom software development to meet interesting business challenges for the absolute most distinguished organizations and associations in the country.

Andrew Anderson said...

Companies rely on Latitude 40 Consulting to help them realize their business goals with quality custom software built just for them. We help enterprises make the most of their investments by using best-practices methodology to tailor comprehensive business solutions – solutions that can grow as you grow and change as the business changes… without costly re-engineering. This provide maximum return on investment for your custom software investment dollar.
Custom software development

Raj Solanki said...

Just the right and informative post to read. Thanks for sharing the informative post.
Software Development Company in Indore

Cms vggroups said...

Hi! I have 1.5 years experience. I search in Google so Many Websites & Blog but you’re blog and post really is too good its title, description, images your content style is really good and I feel glad when post read Custom Software Application Development

Srinadh said...

A smallish campaign with a homemade list would not be likely to yield much of a result. To achieve anything worthwhile, a much more aggressive effort is needed. Then, the age-old value analysis applies: projected earnings = margin on total projected sales - cost of campaign.

Bhavesh Kavad said...

Thanks for sharing such a useful and informative post.

ASP.NET Company India

Harshad Patel said...

Good information thanks a lot and keep doing this kind of posts.Software development company india

Web Development Company Toronto said...

Thanks fro sharing this useful post about custom app development.
This is very helpful for all of us

Prachi Sharma said...

Analogica Data is one of best product developement company in india,developing a product means developing a bond with your clients and businesses. The strength of the relationship depends on the functionality and Product Development Service Provider

Prachi Sharma said...

Analogica Data is the best Product Development Service Provider in India due to our core competencies in product development. we provide Top Product development Services India.

Logistic Solutions said...

Great Blog. Thank you for sharing Information. if you’re looking for the custom software development companies, Logistic Solutions is the best option. contact us :732-457-0016, For more info click custom software development services

Pals said...

This is really nice. Thanks for sharing this informative article.

Custom Software Development India - Nintriva

IICE-Indore said...

I am really happy to say it’s an interesting post to read . I learn new information from your article , you are doing a great job .
Software Development in Indore
Keep it up

Mike said...

Good Analysis,
Great points you have shared with us and I am working on Bespoke software development company and this blog is remain helpful.
Thanks for sharing this blog among us.

Martina said...

Fantastic post, however, I was wanting to know if you could write a little more on this subject?
I’d be very thankful if you could elaborate a
little bit further. Thank you!
Mobile App Development Company
Custom Software Development Company


really i quite impressed! Very useful information. Great Post and very good articles.
Web Designing Company Lucknow, Website Designing Company Lucknow

IICE-Indore said...

Hey, Wow all the posts are very informative for the people who visit this site. Good work! We also have a Blog.Please feel free to visit our site. Thank you for sharing.
IT Company in Indore
Keep Posting:)

Aspl Delhi said...

Like your work..very nice keep doing good work.

Website Design Company in Delhi
Web Design Company in Delhi

wikisolpk3 said...

Thank you very much for the tips, mate. It will be a great help for the basic as well as advanced
Software Development Company Islamabad

Jacob Henry said...

Both the software product and the custom software solution are very useful for me. I've been using Microsoft office for years and it has always been of great help for me. On the other hand, custom software solution has also catered my needs and yes, it involves more organized and planned engagement so it's more complex to develop. Yet, custom software has assisted me a lot.

Anandh Jose said...

Web design is essential things in websites.Because if the design of website should be attractive,then only more visitors chance to visit that website and buy the products through that website.

seo packages services companies in india

SEO development company in india

Jaldeep dudhatra said...

Just the right and informative post to read. Thanks for sharing the informative post.
Custom Software Development Software Service

Ab De Billiars said...

This information you provided in the blog that was really unique I love it!!, Thanks for sharing such a great blog . Keep posting. Visit best custom software development services.

Ancy merina said...
This comment has been removed by the author.
Ancy merina said...

Nice and informative post sharing details for the web design and development process needs. Thank you so much.
Web development company in bangalore| web design company bangalore

webgensis mkt said...

Searching for Wordpress Development Company
visit us at webgensis for custom web development services and Hire Wordpress Expert
who code your dreams live.

Martina said...

Awesome article I really impress it’s very informative and useful.Thanks

Software Development Company in Australia

Wikisol Web Design & SEO Company said...

Wikisol is the world first class software development company Islamabad. If you are operating a trade corporation online or offline, it is fairly significant
Software Development Company Islamabad

Rahul Gupta said...

Codinglio has a huge collection of erp software development companies in india and other school managemnt software etc. if you need right suggestion for choosing we are here for you. here we have for you.

ERP Software Development Companies in India
school management software
Payroll Outsourcing Services

Martina said...
This comment has been removed by the author.
Martina said...

This article provide very useful information and easy to implement thanks.

Custom Software Development Company

Cylon Technologies said...

nice blog I really appricate the blogger
Cylon Technologies is a global leader in Software Development Company in Michigan and application development and maintenance. We create quality applications to meet your prerequisites and do it within your timeline and budget.

digiclayinfotech said...

Hi! Thank you for the share this information. This is very useful information for online blog review readers. Keep it up such a nice posting like this. We are most leading Software Provider Company in India

mitroz tech said...

Nice information.. Thanks for sharing..
hire ios app developer in pune

mitroz tech said...

Nice information.. Thanks for sharing..
hire ios app developer in pune

Augurs Technologies Pvt Ltd. said...

Custom API Development Company USA

Deepa singh said...

Great Blog...

thanks for share this article Iphygenia solution is the best website development company in Lucknow which is provides affordable cost website development services in Lucknow, India. We have professional team of highly skilled designer and developers that create amazing websites for your online business. We are one of the best website designing company in India, website designing company Lucknow, India.

Augurs Technologies Pvt Ltd. said...

Custom Software Development in Lucknow India

Ram Chauhan said...

Nice Information,
Thanks For Sharing..
IT Solutions in Delhi