How true could this Samurai maxim be! The thrill of finally reaching the summit dawned at the developer division at Microsoft. 12th April 2010 marks the launch of Visual Studio 2010 and it's offerings were out to the entire world to enable the developer community to experience the next generation technology at the snap of their fingers and empowering them to "design, develop and deploy” in the most efficient and accelrating manners.

The theme is well coined-  /* Life Runs on Code */

You can watch the launch live this morning at 8:30 am PDT from Las Vegas at http://www.microsoft.com/visualstudio/en-us/watch-it-live.

Now that the good news is right here, let us stop a tad bit here and recount the enthralling experiences of being a part of software product lifecycle. It is a cliched analogy to say a product is like your baby. Right from conceiving to giving birth and then celebrating the thrill of a new addition to the family, a product release is a much anticipated but equally much whelming experience.

Techonology is racing to new frontiers by the second. (I heard a millisecond is the new second! ;-)) In the midst of such foraying attempts from small technology startups to giant multinationals, every product needs to crawl it's way through inches towards a perfection of it's own in terms of innovation, usability, adoption, technological breakthroughs, utility, good capabuilities, scalability and customer engagement. Building such a product begins with a small step. A step that opens up a vision that something exciting and something simple yet innovative can enable customers to build new platforms and enriched applications opening up a new avenue for a powerful business experience. Here begins the journey of a product. Existing features are enhanced, new features are added, experiences are simplified, innovative breakthroughs are achieved and the previous versions' pitfalls are overcome. Every single teamplayer works towards the shipping of the product. Improving upon the existing and working on new frontiers requires adept skills, experience, great team, fabulous leaders, proven technological vision, great customer expectations, proper planning and absolute willingness to work hard and keep marching.  Aggresive schedules, complexity of new technology, poor customer engagement and feedbacks, not-so-perfect planning, risks, technical snags, unforseen personal and professional calamities, poor communication, inadequate team collaboration are all the demons one had to battle. More so if you have a version 1.0 features shipping. But with enough prepations and sweating in the dojo, one can face the battlefield.

  • Conceive a great product/feature but find its priority and the importance in the current scope and the near future.
  • Never lose focus on 'urgency'. You need to ship when the world is ready for it even if your product may not include all the features you did like it to include
  • Ship no matter what. Even if it is a small and not-so-perfect release. But ship anyway. Every milestone marks an important step towards an end goal. So, give customers a preview of your capabilities. Then work on the customer feedback.
  • Although you use customers for ship-it votes, remember they are not lab rats. Never make their feedback a constant input to your development plans
  • Bugs are bad enough. Promise and keep the word for utmost quality. But do not sweat a great shipping cycle in only finding and squishing bugs. Also focus on what can please the customer so much with the current offering and how it can make the customer experience so much better that they can forgive a few bugs. Afterall there are no bug free softwares!
  • Usability should be on a no-compromise zone. Always! Your product needs to appeal to the customers.
  • Plan well. Plan ahead. Plan smart. Nothing matches a proper planning and a great workable strategy on board.
  • Shipping products needs great team work. Collaborate and communicate to the best possible means.
  • Never overlook risks. Have a mitigation plan in hand; always!
  • Be prepared to handle the thrills and the pitfalls of any new technology you may be adopting for your product development
  • Encourage evagenlising your product
  • Let not innovation be for big ticket items. Innovate at every step. Be it a better process or a new feature having an innovative customer adoption or so forth.
  • Sometimes it's ok to simplify! (Really :-))
  • Experts are made out of experience and knowledge(put together!)
  • Do not drain all energy in matching feature-to-feature with a competitors product. Instead utilize it in marketing your own capabilites to the world. Scale up on your own standards.
  • Make sure for every step forward you do NOT end up going two steps backward. Be it because of unprioritized bugs or more features (or weekend drinking!)
  • Prove Fred Blechman wrong!!! He said, "Version 1 of any software is full of bugs. Version 2 fixes all the bugs and is great. Version 3 adds all the things users ask for, but hides all the great stuff in Version 2."
  • Share. Yeah. Share and connect. It pays.
  • Creativity is even more important than what you have learnt in your academics.
  • Be enthusiastic. Infectious energy opens up new thoughts and new actions.
  • Work hard. Play harder. Party hardest. But never lose focus on the goal.
  • Cry in the dojo just so you can laugh in the battlefield. When you launch, celebrate with the world!!!

Enjoy the celebration of VS2010 launch. I would say better still, try the new version. Watch the developer stories.

And the last(atlast)->

Like Rich Cook said, "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning." (From The Wizardry Compiled)