Indian Geek's Blog

Tuesday, January 25, 2005

BullFighter

Want to know how much bull you write in your documents. BullFighter is for you. It's a Microsoft Word/Power Point add-in (2000 or XP) which searches your documents for terms like "leverage","synergy", "value proposition", and "paradigm" that managers and consultants use to sound smarter.

See it for your self:-) Download it here

Monday, December 20, 2004

Blog Reorganization

Small re-organization. From now on this blog would only focus on technology. So moved the rest of the entries to aravind-ajad.blogspot.com. Sorry for the inconvinience.


Friday, December 10, 2004

Adopting Open Source Software In SDLC

Recently I took a session on the significance of OSS and ways of adopting it in Software Development to my team. Please find the content of the session below. Also included is the deck I have used for the presentation.

Introduction

Open Source Software (OSS) is one of the hot topics of the Enterprises and IT consulting firms now a days. Things have been changed so much these days that the so called analysts (Gartners, Metas) have a dedicated focus on OSS analysis. OSS has clearly dominated edge infrastructure in the enterprises. Enterprise are also being very quick in adopting OSS in their software infrastructure.

One of the other major areas where OSS looking very attractive is in the area of tools used Software Development Life Cycle (SDLC). Commercial tool vendors them selves realizing that the SDLC tool industry is commoditized and can no longer be competitive. One of the famous examples is how IBM has open sourced their Eclipse technology.


Quick OSS Primer


Open Source as defined by Open Source Initiative (OSI) has three important characteristics.
  • Source Code
  • Free Redistribution
  • Derived Works

For complete definition please visit www.opensource.org

Free Software Movement is one of first instances where open source software gained its momentum. Many people appreciated the philosophy of Richard Stalman and contributed a lot to the GNU (GNU is Not Unix) initiative which is the heart of OSS echo system. With the entry of Linux kernel and the GNU the OSS echo system is kind of complete and really become mainstream.

For a brief history of open source please visit

http://www.openknowledge.org/writing/open-source/scb/brief-open-source-history.html

Key Facts about OSS adoption

  • GNU/Linux server units projected to have a 65.8% compound annual growth rate over the next five years (IDC Briefing)
  • GNU/Linux reducing total cost of ownership by 45 to 80 percent (IDC Whitepaper)
  • Roughly one-third of web serving computers use OSS Operating Systems (GNU/Linux + BSD Variants) (Netcraft Survey)
  • Apache is more widely used than all other web servers combined (67% - Netcraft’s Latest Web Server Survey)
  • Open Source databases offering 90 percent reductions in cost (MetaGroup)
  • JBoss had a 27 percent market share in application servers, a 93 percent increase over the previous year (BzResearch - "Third Annual Java Study“)
  • Two-thirds of companies use open-source products; another 16% expect to use open source in 2005 (InformationWeek survey )
  • 100,552 is number of projects listed on Sourceforge.net

SDLC OSS specific facts

  • 12% of the projects listed on Sourceforge.net are related to Software Development
  • In one of the surveys conducted by CMP TSG/Insight 41% of respondents said that they are using OSS in the Software Development, next only to 76% of respondents who uses microsoft tools.

All the above facts were taken from

http://www.dwheeler.com/oss_fs_why.html

Case For OSS in SDLC

License Costs are one of the primary reasons why enterprises are looking at OSS tools. SDLC tools are normally used in binary form which would mean no legal issues as well. Especially in the context outsourcing where the competition is very high use of OSS tools can bring down the costs significantly.

OSS Tools are normally are used in areas where there is no reach of traditional tools, these include mock testing, in container unit testing etc., These tools add to the developer productivity significantly. In addition to these OSS Tools are mostly focused on the development rather than processes. Popularity of agile methods adds further need of flexible set of focused tool set which can integrated through open interfaces (Eclipse and their plugins is one good example) rather than a monolithic general purpose tool.

A 3 Level Adoption Model

When planning to use OSS SDLC tools for the first time consider the following 3 level strategy.

Level 1:
Look at the areas where tools are not being used. Rolling OSS tools is an easy job in such cases. OSS tools are available in areas where traditional tools are not found. Tools for 'mock testing', 'in-container testing', 'automated builds' are to be found only in OSS.

Level 2:
Replace the existing tools in life cycle phases whose impact is relatively low. For example switching to OSS in the area of build is relatively safe as number of people get effected are very few. Another such instance would be to change the testing tool.

Level3:
Ultimate step. Use the high impact OSS tools whose commercial counterparts are very expensive. These tools include IDEs, Configuration Management Tools, and Case Tools. Please be cautious in using immature/inappropriate Tools at this level.

Though one can start with all 3 levels at the same time. However, when considering for the first time levels to be followed in a sequence. If proper risk mitigation strategies are not in place, it is possible that your enterprise/organization might perceive OSS as a failure altogether.

Challenges In Adoption

There are several challenges one need to take. The following are some of the challenges and few ideas on how to take them.

Support - Encourage The Team To Be Part Of The OSS Community. Use Tool Documentation, FAQs and User Groups Extensively. Nominate Few Senior Members As Tool Owners/Experts.

Choice - When Choosing The Tool Go Through A Well Thought Out Selection Process. Define The Parameters Based On Your Environment.

Usability - Define A Brief User Guide (How to Note) Specific To Your Use For Sophisticated Tools.

Training - Plan For Internal Trainings With The Nominated Tool Experts.

Cultural Issues - When Choosing Tool Take The Team Opinion Into Consideration. Cultivate The Enthusiasm and Create The Challenge. Software Engineers like the Challenge.

License - Verify the License Before Using Any OSS Tool. Follow The OSS License Summary.

Risks - Carry Out PoCs When Trying For The First Time. Create Reference Implementation For The Team Use. Define A Fallback Strategy For High Impact Tools. Implement In Phases.

Benefits

Innovative Tools - Most Of The OSS Tools Are Created by Developers for Developers
Productivity Gains - Mostly OSS Tools Are No non-sense and Work To The Point.
Lower/No License Costs - Mostly Are Free For Use
Flexible & Extensible - Can Be Extended and Modified If Required.
Community Support - Vibrant Communities Around OSS Tools Bring More Benefits Than You Can Imagine
Bottom-Up vs. Top-Down - Bottom-up To Get The Job Done. No Process Overheads. Compare With RUP or Other Process Based Tools.

OSS Tool Selection Process

When choosing OSS Tools in SDLC, look at the following parameters and guidelines.

License - Check the amount of flexibility you would have with the license. Also Check with the license if it is acceptable to the customer/end user.
Community - Check if there are news groups, IRC channels, and mailing lists dedicated to the tool. Also check how active these channels. One of the ways to check the activity is to have a look at the traffic.
Documentation - See if there are any online tutorials are available. Also check if the documentation is up to date and is complete.
Usability - Try the tool to see its usability. Ask people who are not familiar with the tool to give a try.
Maturity - Compare the tool with a commercial product. See if the feature set is complete and meets the requirements. See the release version. Verify the tool maturity and ratings in sites like freshmeat.net. Also see the tool status and version numbering, most of the OSS tools are honest about their stability.
Cohesion - See how the tool fits into your existing set of tools and rest of environment.

See the complete presentation here

http://www.geocities.com/aravindajju/OpenSourceSoftwareInSDLC2.ppt


Tuesday, October 26, 2004

The 20 greatest equations

Physics Web is carrying out an interesting article in which the equations are rated by a group of people. Few of my favo(u)rites ohm's and kirchoff's are missing. Only consolation is maxwell's are rated at the top.


http://physicsweb.org/articles/world/17/10/2/1/pwpov2_10-04

Euler's are rated second. Obvious. Isn't it!
One of the quotes found in the slashdot discussion related to these ratings.

As they say, in maths things are usually named after Euler, or the first person to discover them after Euler.

Wednesday, October 13, 2004

Software Architecture using UML

Though UML has been very popular in modelling software, I wonder how much of UML is being used in software architecture. I am an architect my self and normally my architecture artifacts are in one or the other office suite document formats (.doc, .vsd, .ppt) with no formal notations. I always found UML is a natural fit at the low level of modelling rather than at a level of architecture (use cases diagrams are an exception). I have never felt comfortable when using UML at the architecture level and it seemed very artificial.

Recently I have been reading about an article on UML 2 by scott ambler. I completely agree with his views on there is nothing much in UML 2 that is significant. However, the good news is that UML 2 has brought in some good focus on architecture level modelling. The activity diagrams are overhauled to make them more applicable to business activity modelling. The component diagrams are overhauled as well to make them more simpler to use. Package diagrams are formally added for providing a bird's eye view of the classes and packages. However, I feel UML still lacks a sound business process modelling notation (something like BPMN) and a formal data modelling profile.

I am planning to publish detailed paper on this subject. Watch out..

Monday, October 11, 2004

Gmail Invites

Gmail - the email service offered by Google is being said as the most happening thing in the consumer internet after IMs. I mostly agree with this. Revolutionary 1gig free space, I would say is the key behind Gmail's popularity. Added to this invite only sign-up is another fator that has spiced up the Gmail. I think because of these two factors, people are real crazy about having gmail accounts. Surprising is that gmail invites are being sold in eBay. More suprising is that PCQuest (India's top IT magazine) is offering them as prizes to many of their contests. To understand little more about the kind of attention gmail is getting, just look at some of the interesting plug-ins available for gmail.

  • GmailGoesThePop - Pop3 proxy interface to Gmail
  • GmailNotifier - Gmail Email notifier plug-in for firefox
  • GMailDrive - Creates Virtual drive mapping to your gmail account over interent. You can drag and drop files onto your gmail accounts
After all these years of existence I would say Hotmail and Yahoo Mail hasn't got so much attention. Here are few things I liked about Gmail excluding the points mentioned above:
  • Import of Contacts from outlook
  • AutoCompletion of contacts
  • Filters
  • Email forwarding
  • Email search
Few things I didn't like in Gmail are
  • Lack of folders ( I know one can use labels, but they are not same as folders)
  • No delete button
Finally before concluding I would like to give away, about 10 Gmail invites (BTW, I have mutltiple gmail accounts). If you are interested let me know by posting a comment with your email id. (Don't worry! I'll not use your email id for any other purpose).

Friday, September 03, 2004

MSDN India TechEd 2004

Recently I have attended MSDN India TechEd 2004. An interesting event overall, though the appeal is missing when compared with TechEd 2002. No free goodies this time other than a DVD. The sessions also are little boring. If you want to know what is covered read on....

I compiled the content as an acrobat document(PDF) rather than inline as the content is too large. Please find the file in PDF format here

http://www.geocities.com/aravindajju/TechEd2004-Highlights.pdf

Thanks to Raj and Srini for their contributions.

Also find the TechEd 2004 presentations here...

MSDN India