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

51 comments:

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

Vishal Tanwar 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...

hi,
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

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

Unknown 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

Unknown said...
This comment has been removed by the author.
Unknown 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.

Unknown said...

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

Unknown said...

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

Unknown said...

Thanks for sharing such a useful and informative post.

ASP.NET Company India

Unknown said...

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

Unknown 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
.

Unknown 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

Ficode Technologies Limited 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.

Unknown 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

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

Unknown 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.

Unknown 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

Unknown 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...
This comment has been removed by the author.
Unknown said...


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

Software Development Company in Australia

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

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

Custom Software Development Company

Augurs Technologies Pvt Ltd. said...

Custom API Development Company USA

Unknown 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

techhighway said...

our blog is very effective and glad to read ,really it's pretty awesome and gives lots of valuable ideas for app development. It will be very useful for the mobile app developers.
Custom Software Development Company

Augurs Technologies Pvt Ltd. said...

Get Creative Animated Logo Design, Flash, Preloaders, VFX Development Services India

jovi international said...

In a Web Development Services website design and the layout play a crucial role. Literally, within 5 seconds a visitor make up his mind to either stay on the site or leave it

INFOCRATS Web Solutions said...

Thanks for sharing this blog post. This post is quite useful to differentiate between software development and custom solutions.

Vistas AD Media said...

Really a great post. Appreciate the effort in educating us.
We do provide
Web Development Services in Bangalore | Web Design Company in Bangalore | SEO Company in Bangalore|Digital Marketing Company in Bangalore, Digital Marketing Agency Bangalore

acmeminds said...

Thanks for sharing this. Your post is wonderful and great piece of information.

Web Application Design and Development Company

altsols said...

Thanks for sharing content and such nice information for me. I hope you will share some more content about. developing software Please keep sharing!

software development


simwave.ca said...

Thanks for a great time visiting your site. It’s really a pleasure knowing a site like this packed with great information.

Custom Software Development

Quacito LLC said...

Awesome blog shared by you. Thanks to share. I appreciate the way you have written the blog and given valuable information to users.
custom software San Antonio
mobile friendly website San Antonio
mobile application development



Augurs Technologies Pvt Ltd. said...

Best App Development Company in Lucknow India,
Custom API Development Company Lucknow India,
Top Graphic Designing Agency in Lucknow India,
Real Estate Web Development Lucknow India,

QuiTec said...

Thanks fro sharing this useful post about Custom Software Development.

This is very helpful for all of us

Freya said...
This comment has been removed by the author.
Adam said...
This comment has been removed by the author.
Quacito LLC said...

Thanks for sharing such valuable details.
We, at Quacito LLC, offer web development and mobile app development services in San Antonio, Texas at competitive pricing.
custom software development
custom software development San Antonio

Arbutus Infotech said...

Great Article it its really informative and innovative keep us posted with new updates. its was really valuable. thanks a lot.
Website Development company in Indore

Quacito LLC said...

Nice blog post, thanks for sharing!
custom software development
mobile app development San Antonio

Ahsan Ismail said...

This is unique information for me.
Nice blog

POS

Mike said...

Posted blog has covered the best part of knowledge about Web Design Agency Dubai also helped me to find out out new ways, thanks for sharing the blog with us keep share more new blogs with us.