SMC Enterprise Experts
SMC ENTERPRISE Is a consulting firm that implements and develops Information Technology and ERP solutions. This is what our experts has to say.

Product development

January 22, 2010 17:06 by NadirKamdar

For the last few years, my focus has been on custom ASP.NET web application, I have been developing custom solution's since Classic ASP, my team has been developing since ASP.NET 1.1 to ASP.NET 3.5.  over the years we have formed code libraries, well structured processes, tried and tested business logic that we can re-use for other clients, and we now have great relationships with partners that help us do what we do better and fastet.

 So, over the year, we have finally reach a good place on fast delivery with great quality.  but our focus is on custom development.  web applications built according to one clients unique requirements.  Cant this great skillset be used for product development?  Product development is a great way to build something once, and sell it to many people.  Product development allows you to sell the solution for a much cheaper price, and the developers focus is now on improving the product which is alot better than building full solutions from scratch.

 well, it is a great idea, and something i wanted to focus on for a while, but is it possible?  Firstly, the thing about a product is that you want to build it for a large audience, and its best to do this with a subject matter expert, building something that you think someone else wants, bill be something no one wants, with a subject matter expert, you can identify the requirements straight from the end users mouth.

Secondly, theres the finance, with a custom app, you have a client, client provides requirements, you build solution as per clients requirements, and you get paid, its simple, its safe, risk of not getting paid is minimised.  with products, you are building something, for an audience, not a client, the system must be flexible enough to handle the unique requirements of the audiences.  requiremetns that you may not know, and if not available, is a deal breaker, and it will not be considered.  so development time is longer and the risk of seeing any monies is greater.

So, you need subject matter expert, sufficient resource time that is basically doing work that may not see any revenue, making it a high risk implementation, now consider the opportunity cost, of safe, garanteed revenue inplementations of custom work that you are essentially giving up on.    Seems like something not worth going into.

So, lets get the best of both worlds, let get the resources to work with custom solutions, and during those time's between projects, get them to work on a product.  I direction I have tried for about 2 years now, and to date, I do not have one complete product.  the problem with this implementation is that paying clients take priority, meaning that product development is always last on the priority list.   meaning the breaks in the products are frequent and long.  the momentum of the product drops and 8 months later, you are only 20% into the development phase, and you say to yourself, this is just not worth it, and you scrap it all together and focus on keeping the paying projects on track.

Now what? does this mean there is no way for software development companies to build products and custom solutions?  well, there is, and right now, I changed my approach a bit and started focusing on hiring additional developers that will focus on product development full time, we also focus on hiring subject matter experts.  a high risk expense, but we are not loosing out on the opportunity cost of custom work, since that work is completed by a different set of developers.  We are currently focusing on the following products ...

Process Queue web application, a graphical representation of tasks assigned to a group of workers, managed by a process manager, and handles task prioritising and detailed reporting.

A support site, an applicaiton that helps clients add and monitor support ticket items, with great reports that take the SLA agreement into account

SharePoint applications, with the launch of our SharePoint Konsult department, and with the assistance of our SharePoint MVP, we have a great skill set in building products for SharePoint.  SAP, and project management has taken our focus.  but watch this space to see what eventually reaches a complete state.

 

 

 

 


Currently rated 2.0 by 2 people

  • Currently 2/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

ORM and Automatic Code Generation.

November 7, 2007 12:02 by NadirKamdar

 

I have recently evaluated a few code generators and (Object Relational Model) ORM frameworks in .NET, to my surprise, there were quite a few of them all with there own unique sets of pro’s and con’s and designed for various stages of development.

 

Why do we need an ORM/Code generator?

 

The main purpose here is to eliminate writing repetitive and static code; this will lead to a higher quality product, developed in a much shorter time. 

 

The repetitive/static code I am referring to is CRUD (Create, Read, Update and Delete), CRUD is common and is required by almost all applications, it is repetitive and error prone, Crud requires lots of testing time which can be reduced if code is automatically generated and it can take a lot of time (like weeks) if the database used is huge.

 

The Evaluation 

 

As mentioned, there are many ORM/code generators out there, each with there own pro’s and con’s, these are the features I looked for when selecting our ORM.

 

  • Support for hierarchies and relationships,
  • Support for grouping and aggregate functions,
  • Support for transactions,
  • Database independent,
  • Concurrency,
  • Performance and footprint,
  • Learning curve and simplicity with which it can be integrated into code,
  • Up to date documentation,
  • Online support,
  • Reasonable price.

 

End Result 

 
My evaluation has lead to an ORM and code generator that complement each other well, satisfy all of the above requirements, and has now been implemented as the core foundation of our development framework. 

 
Implementation has been successful and development time and quality of the product has been noticeably improved within the first week of implementation. This has a knock on effect that affects the clients directly, as greatly reduced development time means cheaper pricing and a happier client.

Nadir Kamdar


Currently rated 1.0 by 2 people

  • Currently 1/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5