Friday, November 11, 2011

Software Product Development - What you should not do

What are the cardinal sins in Software Development Life Cycle (SDLC)?

Rule 1: Never forget to support and maintain your existing active products. The first priority should go for supporting your existing product over the new committed release. Supporting your existing products should have much importance even though your company strategy is to move to the new product and technology. If you cannot service and support your existing products, how would you expect the same customer to buy your new product and use it.

Rule 2: Never create any regression bugs between the old version and the new versions. Customers remember and never forgets the bugs that you have introduced in the new version. 

Rule 3: Never forget to merge the hot-fixes or bug-fixes or patches into the next immediate main release. Customers do not like to face the same issue that they faced in the previous version in the new version also.

Rule 4: Never add additional features without the permission of Product Owner or Product Manager. Never over complicate the code base to create a fancy or cool feature. Oftentimes, such code is overworked immediately after the release and not removed. It is easy to add code, but very difficult to remove code as you never know if any customer is using that feature. Remember that you can never release a  software bug free product in your life. This is mainly due to the fact that many software products are used in various other use cases other than it is designed for. So write simple code which is easy to scale and maintain.


All the above mentioned rules are very important to have a successful product satisfaction for the customer. Do always remember to view or empathize from the view of your customer.

Wednesday, August 10, 2011

SAP HANA -Lunchtime processing

SAP's open war with Oracle is peaking out, see the comment from one of the SAP executives on the Oracle ambition
http://blogs.sap.com/bobevans/2011/06/23/the-top-10-reasons-sap-hana-is-disrupting-larry-ellison%E2%80%99s-grand-plans/

When I read the statement from the blog "Oracle has said that the best way to reduce complexity in your IT systems and across your IT infrastructure is to buy more Oracle products and technology."; I feel no different that SAP is behaving differently with HANA. One has to buy a separate new appliance box which has to be replaced. What happens to the BWA at the customer site, even that is a waste. Once the HANA support is launched for BW and ERP, then the customer has to buy more and more SAP licenses instead of continuing the with Oracle maintenance support. Similarly, the data loading is currently propriety using SAP BOBJ DS which is not exposed to third party software integrators. What does this mean, for loading and extracting data, one needs to buy more and more SAP software. So where is SAP behaving differently from Oracle. Imagine what happens if SAP exposes the interfaces to third party integrators, the existing integrators would provide an additional integration without additional cost. This way the cost of SAP end customers would be less, but see the SAP strategy to squeeze and extract the customers more and more with their proprietary software.


I was glad to see such a nice blog where an employee speaks the truth about their own products and the customer experience.

LunchTime Processing

I do not think this employee would have told this in the public if there was no alternative available currently. However,

Initially SAP reports used to run overnight and then for improved analytics, SAP has released a product called Business Warehouse Accelerator (BWA) few years back to speedup the business analytics reporting. However, the BWA appliance came in a big storm but just died away on the way as it really did not help the quantum of the data processing. It just stayed as a lunch time processing. Now SAP is storming with its new HANA and showcases as 4 hour processing would be done in 4 secs. I would be very glad to see such an innovation improvement, the only thing that I do not know what does it cost to make this change. HANA 1.0 stands as a separate appliance and would try to duplicate all the data that is sitting on a standard SAP database. Would it mean adding tera bytes of memory in line with the actual hard disk capacity since the HANA processing is all about in-memory processing which they claim to be cheaper than adding other hardware parts.  I never heard in any of the forums anything about fault-tolerance for this appliance and how it can be configured for high availability.

Even though such PoC would show up good results, I am not really sure whether the Lunch time processing would become as a Coffee time processing with the limitations to the hardware addition to especially an appliance which does not really let us scale the hardware. How many times were you forced to change your laptop either the device does not let you scale to the additional system requirement where as a typical assembled PC could let you scale for over a decade or so like attaching a Blue-ray disc or a better LED monitor or adding additional memory that are easily available to be attached.