Wednesday, May 27, 2009
Retail Industry – A Quick Look
Customers are becoming more demanding – Due to the Web revolution consumers started sharing their opinion/thought through the forum. It makes them much more demanding and expects more out of a product.
Social Media online is exploding – It is becoming a key vehicle for both strategic marketing and customer engagement.
Premium products and services still sell well and Green is becoming iconic – Many of the less price sensitive consumers are still highly style and status conscious, and consumers are going to increasingly great lengths to boycott brands that have poor eco-credentials
These are the consumer trends impacting the Retail Industry. So, now the question is how about the Retail Industry in general?
Three deepening Trends in the Retail Industry:
The credit crunch is getting worse – It negatively impacting retailer profits.
The e-channel is still growing fast – Online spending increasing very fast and tendency of consumer is leaning towards e-channel. Retailers are expecting a major shift to online as well as oppose to the store.
The leaders are merging channels – and providing seamless brand and customer experiences across them all. Consumers in return are becoming rapidly less tolerant of pricing, availability or service differentials online and offline.
Thursday, May 21, 2009
Top drivers of outsourcing in 2009
http://blogs.amrresearch.com/outsourcing/
Management of Elections: See how Project Management is applied
India, the world’s largest democracy carried out its biggest exercise in conducting the recently concluded elections in which the entire country went to the polls to elect a government at the center. Those who participated by been a voter and had their voice heard should appreciate the fact that it was so smoothly conducted with no violence and rigging.
Kudos to the Election Commission of India! It is pretty interesting to note as to how such a massive exercise is conducted where there is no scope for schedule slippage, every tasks / milestone has to be achieved on time.
The process of Initiation, Planning, Execute, Monitor & control and finally closing has been practiced by using IT-enabled project management tools (like spiProject). The project management knowledge areas like Time Management, Scope Management, Communication Management, Risk Management, Quality Management, and Human Resource Management are in operation in full steam in elections. Here is an interesting article that I would like to share with you all that highlights the Project Management aspects in conducting the elections.
http://eleap.ciol.com/vol1-issue2/digimag.html
The government is re-elected and Jai Ho!!! Stock markets boomed !
Monday, May 4, 2009
Debugging - A way to locate and fix code
During development, one of the basic lessons that I learnt was "DO NOT USE debug print statements like 'debug.print' or 'System.out.println' to locate a problem in the code. It is time consuming and not effective." The process of locating bugs is one of the hardest tasks a developer will face. It is, however, an essential part of the debugging process.The key to repairing a bug is to isolate the problem to a particular system component and to then locate the exact section at fault. In small systems, it may be easy to spot where a problem lies, but in larger systems that are composed of dozens or hundreds of classes, it isn't quite so easy. Tracking which class and which method is responsible can be a frustrating task.
Working with code written by other developers can be especially difficult, because you don't have the intuitive familiarity that you would with code that you've written yourself. The problem can often be very hard to locate, particularly if one component of a system is interacting badly with another, such as modifying public member variables or passing bad data to methods. This often masks the problem, making a developer think that one class is at fault when in reality it is another. Worse still, certain types of Java software present unique challenges. Applets, for example, are notoriously unstable on certain browser configurations, and network restrictions such as a firewall between users and the Internet may make it difficult to replicate bugs within a developer's intranet. Networking code can cause headaches, as it is often hard to tell whether the client, the server, or both are at fault. Servlets have no graphical user interface or user console, so seeing what is going on behind the scenes is very tricky. Multi-threaded code that works fine at some times may exhibit a bug at other times. Software that relies on other components, such as distributed services like RMI servers or CORBA servants, often is not fault-tolerant and reacts badly (and sometimes mysteriously) if the other components fail. Most of these problems can be alleviated by two popular debugging techniques: logging and tracing.
Logging should not be used for development debugging (but it inevitably gets used that way by logger.info or debug.pring or system.out.print). Logging should be designed for operational monitoring and trouble-shooting. Tracing should be designed for development debugging & performance tuning. If available in the field, it can be use for really low-level operational trouble-shooting, but that is not its main purpose. Given this, the most successful approaches I've seen (and designed/implemented) in the past do not combine the two together. Better to keep the two tools separate, each doing one job as well as possible.
Using a debugger makes finding this information quite simple.Debugging is a powerful technique that allows you to observe the run-time behavior of your program and determine the location of semantic errors. Many of the IDE like Visual Studio, Eclipse, JBuilder etc come with a built-in debugger that provides all standard debugging functionality, including the ability to perform step execution, to set breakpoints and values, to inspect variables and values, and to suspend and resume threads. Additionally, you can debug applications that are running on a remote machine. With the debugger, you can do the following:Set breakpointsConditional breakpointsEvaluating ExpressionsViewing / Editing VariablesRemote Debugging.
I also feel debugging is a good way of learning about the functionality in the code. You can de-bug me if you have any questions...:)