My stage fear – bed time thoughts

I still remember the day when I first stood on a stage/dais to sing twinke twinkle little star as part of  a competition when I was in 3rd or 4th standard. I think it was 6-7 years old.

Announcement of my turn came through loud speakers… I started hearing my own heart beat… mechanically I reached the podium… by-hearted lines came out of my mouth… I am blind, i.e. I do not see anything in front of me … I got struck at forth line, eventhough it was the last line… I ran out of the hall… I heard one lady saying “poor boy, he forgot the poem”…
Looking back, it is not still funny for me and is scary. It took more than a decade for me to revist a stage. But after a good amount of practice and preparation, now I am in a position where I can present something even without preparation. Thanks to my teaching days which gave me exposure to face and answer audience.

Here are some tips from my experience:
1. Prepare well. Keep notes or slides
2. Let the slides have only key points. Practice well to elaborate.
3. While you practice, think you are one of the audience 
4. Answer to possible doubts/questions which might come while practice
5. May include puzzles in between if you feel the topic is boring
6. Inject moral/management/leadership stories. People love stories.
7. Ask simple questions which they can answer easily
8. Dont use crowdy slides. Audience will spend time for reading it rather than listening to you
9. Have a watch on time.
Sleeping time 🙂 Good Night.
 

Calling [WebMethod]/PageMethods using jQuery

Have a look at my other past if you are looking for calling WebMethod using ScriptManager page method.

Here is the code snippet for jQuery way of calling page methods. One specialty to note is, you don’t have to use ScriptManager.

C# code:
    [WebMethod]
    public static string GetData()
    {
        return “Hello”;
    }

jQuery Call:

                $.ajax(
                    {
                        type: “POST”,
                        url: ‘Default.aspx/GetData’,
                        contentType: “application/json;charset=utf-8”
                    }).done(
                        function (data) {
                            alert(data.d);
                        }
                    );

This will alert you “Hello”

 

Kill the concept of “Knowledge Transfer” and “Notice Period”

Most organizations has a habit of keeping the person wait longer in his/her seat to fulfill the organization notice-period requirement. The reason claim is for ‘smooth transition of responsibilities to the other person’.

The intention of this post is about knowledge transfer but I cannot resist comment on some facts, which I believe:

What is the fact?

Official Reasons:

  1. Knowledge Transfer to the next appointed person
  2. Smooth Exit formalities

Unofficial Reasons:

  1. It is not easy to get a replacement sooner
  2. Customer will be frustrated if they come to know about this resignation. (Funny, I still know few companies have their team page with the photo of a resigned employee. Some keep their email ids as well but says the employee is in a vacation)
  3. It is not easy for another person to get comfortable with the project within 30 days which the employee was handling for 4 years.
  4. Negativity of spreading the news on employee’s resignation
  5. Employee should not quit! 30 to 90 days of notice period will stop the employee from being hired by another company. Very few companies will wait for 90 days.

After effects

  1. Unless the employee has true dedication towards his job, this person will not do anymore work with his heart.
  2. Waiting period leads to frustration and it becomes negativity and bad-mouthing. Employees siting around him also will also get demotivated and they also will start looking for jobs

So, how to get rid of this notice period problems and do a smooth knowledge transfer?

There should not be a person-dependency for any project or activity. To achieve this, a proper process need to be in place. Here are my suggestions for reducing the overhead of Knowledge Transfer.

  1. Have a repository – Wiki – a project management system. Keep all the project artifacts up to date. All the project decisions, changes etc. should be well documented along with action plans. Employees should even use this system to track their meeting notes and diagrams. Make it mandatory for every employee to contribute. Assign a cop to maintain this.
  2. Don’t use too formal documentation. It should be understandable for any human
  3. Prepare interactive study materials in parallel to the project development. This will help employees to have good project requirements understanding as well.
  4. A good issue tracking system connected with the above said wiki.
  5. Do not keep employees stay in a project for a longer period. Not just switching to a different project but can consider switching to a different department as well.
  6. 6 months is good, 1 year is best, 2 years max. Human beings always look for a change so people will think less about resignation if they enjoy the work they do.

If we have these systems in place, it will not require more than 1-2 days for releasing this person as it is a matter of transferring a person’s specific responsibilities. Keeping a Knowledge Transfer checklist is a good idea.

 

Using [Webmethod]/PageMethods in ASP.NET

Step 1: In code behind of your .aspx file, write the method which you are planning to call from client side. Here is mine. Note the [Webmethod] attribute which is from namespace: System.Web.Services. Note that this should be a static method.

[WebMethod]
public static string GetString(string name)
{
    return “Hello ” + name;
}

Step 2: In .aspx file, place a  ScriptManager, if you do not have it already. Make the property EnablePageMethods=”True”

Step 3: Place a button and mention a method name in client onclick. Here is mine – <asp:Button ID=”Button1″ runat=”server” OnClientClick=”return ShowMessage()” Text=”Button” />

Step 4: Now write the Javascript method. Here is mine:

<script>
    function ShowMessage(data) {
        PageMethods.GetString(“Your Name”, OnSuccess, OnFail);
        function OnSuccess(data) {
            alert(data); // success code
        }
        function OnFail(error) {
            // fail code
        }
       
        return false;
    }
</script>

Step 5: Run!

 

The Ambiguity Review

This is nothing but a ‘requirements testing’. A process put forward by Richard Bender.

An Ambiguity Review improves the quality of requirements by making them deterministic, unambiguous, correct and complete.  An Ambiguity Review is a testing technique that helps eliminate defects in the requirements phase of the software development lifecycle, thereby preventing those defects from propagating to the remaining phases of the software development lifecycle.

Find the process concept document here.