Successful Meetings
1 There should be a definite agenda with allotted time for each topic
2 The meeting place should be in some suitable facility where there are no external disturbances. Arranging meetings over dinner or lunch is more of a socialization meeting than actual discussion and conclusions (if its just 2-3 people it may acceptable)
3 Every person should have a note pad (laptop - any digital gadget) to note his her action points and important issues discussed
4 I always believe there should be a chairperson who can intervene if the discussion is going out of bounds and becoming more of a personal view than helping the cause discussed.
5 One person should be responsible noting meetings minutes and making them available for all members after meeting.
6 Internet access availability solves some simple problems which may take up valuable meeting time
7 Personal communication between the members should be strictly avoided and some sort of discipline should be maintained
8 If the members are from wide variety of backgrounds and countries, communication in respective local languages should be strictly avoided. The standard language (which is normally English) should be followed.
9 Try to keep it short and frequent than one long meeting where one tends to lose his focus.
10 Meeting place should be preferably centrally located thus minimizing the member complains and initial bias.
11 Schedule a suitable time. Keeping the meeting early morning or late night will certainly be counter productive.
12 If the member do not know each other make sure you arrange for name tags for each participating entity
13 Personally I feel snacks should be avoided ( non alcoholic beverages are fine)
14 Last and the most important point, start and end on time
Open Source Estimation
Open Source software development is an interesting phenomenon where the software development is collaborative and source code is open and available to public. The renowned literature of the ‘Cathedral and Bazaar’ by Eric S. Raymond was published more than 10 years back and still considered a pioneer work in the field of Open Source. Unfortunately, there are no well-defined processes and estimation techniques (models) in the Open Source world like the COCOMO, function points or SLIM models for the classical software development. Its very interesting that even with presence and support from the large organizations like Google, IBM, Oracle and tons of others Open Source world has not come up with any standardization. I agree that there may be well-defined processes and best practices in commercial open source software companies like Red Hat, MySQL and SugarCRM but certainly not a universally accepted standard. One reason may be that Open Source development is very unpredictable and largely depends upon the motivation of a handful of developers who are committed to develop such collaborative software. There are thousands of projects registered on SourceForge and FreshMeat (largest repository of the open source software projects) by a single developer, which never proceed further to development. There are also projects that are currently in the inactive stage.
I guess with boom and wide spread of Open Source today we certainly need some estimation techniques for the required number of developers (effort) and expected size of the community and thus an overview of the complete ecosystem around the software. Such models or processes will certainly help the community for better planning and effective execution of an Open Source project.
OSS Processes
Spend your soft skills
1.“Successful” people always respond to your email/message/phone/voice mail/letter/instant message call as soon as possible. Even if they are busy, they will at least send a reply stating they have received the message and will reply to it in detail by some fixed day or time.
2. Nearly 80% of people get their job by reference and more than 70% of these people got the job from the references that were just acquaintances. The point is maximizing your network by reaching out for people and building new relations.
3.Do not just build connection but also try to maintain them.
4.Always try to be helpful. Every favor you do for someone is like giving a loan, which you can expect to get back with “interest”. Always try to spend your connections. By spending I mean introduce two people who you know to each other (become a contact point or enabler of communication in a dense network). Remember that both persons must find value out of the relation. Holding connection can be counter productive.
5.Question yourself continuously Am I learning? Am I progressing? If possible, try to formulate a quantitative metric where you can measure a productivity of your day.
6.It is good to have a wide set of knowledge but it is very important to have depth in a particular topic. Some specialized knowledge will certainly endow the distinguishing grace from the crowd. The specialized knowledge is not necessarily academic, business, IT or financial. It can be of any general topic including travel stories, sport, cell phones etc…
7.Individuals below thirty years make most innovations, as they tend to make mistakes. The motivation here is not to make mistakes but to be creative, open and innovative. The question “why” and “how” should be your right and left hands. The more you question the more you understand, the more you produce. The value of new contact and acquaintances goes on reducing as your age increases. Thus, invest in the soft skills when you are young (and when you make mistakes) and then try to build your “hard” assets.