Thursday, December 29, 2005

Egyptian Labor Law

Here is a sum up of the 'new' Egyptian Labor Law by Business Today Egypt: Egyptian Labor Law.

Wednesday, December 21, 2005

Bluetooth

My cousin told me about bluetooth a couple of years ago and he was so excited about it telling me how the 'new' mobiles can do all sorts of interesting things with it. A popular example of bluetooth use was pinning a bluetooth enabled pin on your shirt upon entering an exhibition and as you pass by every booth, those in the booth can automatically read information stored in this pin on your shirt using their bluetooth enabled equipment. Looked and sounded exciting at that time.

Although I've not seen myself this example in practice, the bluetooth pin used at an exhibition, yet I found bluetooth to be a very interesting technology when used on mobile phones. After taking several photos with my Nokia 6630 I then went near my computer and transferred all photos and videos from the phone to my computer without connecting any wires. It's cool.

Tuesday, December 06, 2005

Starting our First Sprint Backlog

Today we created and started writing in our first Sprint Backlog. After two Daily Scrum meetings, we decided we can make use of a Sprint Backlog to get used to writing in it and get a better feel of the project progress.

We used a single spreadsheet in an Excel file for the Sprint Backlog. We share this single file through SharePoint so we can all have read and write access to it without conflicting with one another (by using check in and check out).

After today's Scrum meeting, I passed by the team members one by one each at his workstation (there were 9 of them) and showed him how to use the Sprint Backlog, how it fits in the whole process and what each of its elements means as well as its significance to the whole process of our project.

I believe again Scrum has proven to be good and showed promising signs. I believe now by starting to use two of Scrum's elements, Daily Scrum meetings and a Sprint Backlog, we are starting to reap some of the benefits already. I believe Scrum could be our way to go in the next phase of the project. I believe we can start implementing it fully by then. The good thing is that by then we would have a stronger grasp of it having used it, if only partially, at the last part of our current phase of the project.

Monday, December 05, 2005

Our First Daily Scrum Meeting

Today we had our first Daily Scrum meeting. We all stood up in a circle (similar to the standup meeting in extreme programming). We were 10 all together: 9 developers and the 10th was myself, acting as the ScrumMaster in this case.

Each developer mentioned what he has done since the last Scrum meeting, what he will be doing till the next Scrum meeting and any obstacles that stand in his way. Although the team were not yet that comfortable with the Scrum meeting and did not talk in the best way, yet they started to get the feel of it. As the ScrumMaster I guided them through the process by first reminding them of what the Daily Scrum meeting is all about and how it is done. I had already given them a brief training session about scrum in the previous day. During our first Daily Scrum meeting, I tried to keep them on track by guiding them to mention the 3 things required (what they did, what they will do, obstacles facing them) and keeping them from talking about things that are not to be talked about during the Daily Scrum such as how to solve specific problems they faced or discussing alternative paths for some elements of the project.

Although it was our first Daily Scrum and we did not actually do it in the best way, yet I feel we did benefit from it. I think now team members will be more motivated to do useful work each day because they will be mentioning what they have done in front of the rest of the whole team. It also keeps everyone informed of how the project is progressing and how its different elements are going forward. Furthermore, two pairs of developers found out they need to meet after the today's Scrum meeting in order to further discuss specific things in their project to resolve problems that showed up during the Scrum meeting.

I believe the Daily Scrum meeting is a very good idea. Although we have not yet implemented Scrum in its entirety and only started by implementing this small part of it, the Daily Scrum meetings, yet it is already showing promising effects. Perhaps gradually we can introduce the whole of the Scrum process to our team and start using it fully by our next iteration of the project. Bottom line: Scrum looks promising and we will continue to integrate more of it in our work till we fully implement it. We feel that this will result in better productivity and better project management of our software development efforts.

Sunday, December 04, 2005

Outlook Nightmares

Been using Gmail for quite a while now. My hotmail and yahoo accounts I just keep in the background and try to dry out by not using as much as I can. I use Gmail for all my email communication and all my serious needs. I've come to depend on it now totally and got used to its cool way of organizing information (aka: conversations, labels and easy search).

At work now I have to use Outlook to check and send email from my work email account. It is utterly a nightmare! No conversations in Outlook! That's extremely terrible. When using Gmail I can easily follow up on back and forth emails between me and another person. I do this so easily. On Outlook however, I keep digging my way trying to find the scattered emails that went back and forth between me and another person. That's utterly terrible. I really need to have Gmail-style conversations in Outlook so I can find it palpable.

Tuesday, November 29, 2005

Scrum

In my search for a software development methodology to help us out of fighting with deadlines and long working hours, I've stumbled upon Scrum after being interested in XP and trying to figure out what MSF is all about. Scrum turned to be interesting specially after it has been refocused more towards project management of software projects repositioning itself as a complement to eXtreme Programming (XP) rather than a competitor. While XP focuses on the software development itself and its details, Scrum focuses more on higher level activities such as project management.

I'm trying now to understand more how Scrum works and then I can try borrowing some of its elements and implementing them gradually to enhance our project management practices. Perhaps we can start benefiting of XP as well later on and integrate both Scrum and XP into a system tailored for us that works with us and improves productivity.

Wednesday, November 23, 2005

CVs to Interviews Transition

If a CV looks promising:
  1. Call the candidate on his mobile. Arrange a time and date for an interview.
  2. Add his name and mobile number in an Excel file.
  3. Enter the time and date of the interview in the Excel file.
  4. Make an appointment in your Outlook Calendar.
  5. Send the candidate an email with time and date of the interview and the address of the company.
  6. Move the email (containing the attached CV) to the Promising folder.

Screening Software Developer CVs in Egypt

In order to help me create a mental image of an applicant upon scanning his or her CV, and to help me quickly classify the CV in my mind as a preliminary step for further deeper examination, I look at the following pieces of information in the order presented below:

  • Name, gender
  • Location of residence.
  • College and university.
  • Graduation project, what it is about and technologies used in it.
  • Previous employers, role and achievements there.
  • Date of birth.

This enables me to create a mental picture of the person behind the CV. After that, I scan for specific technologies needed using the Find command. Examples of specific technologies I scan or are: web services, XML, AJAX, JSP, struts, Linux, JavaScript, CSS, UML … etc.

This quick way of scanning the CV helps me quickly weed out unsuitable applicants and sort out the promising ones. After that one can start having a deeper look to see who will be asked for an interview.

Monday, November 21, 2005

Visual Studio Team System 2005

VSTS 2005 has some cool features supporting MSF (Microsoft Solutions Framework).

Benefits of using MSF features in VSTS:
  • Reduce time wasted by developers asking, figuring out or arguing about how a feature should work. By using and sharing scenarios such wasted time would be eliminated.
  • Tasks can be divided and followed up easily by project manager. This enables tracking of progress and also helps measure productivity of each developer.

Thursday, November 17, 2005

Microsoft Solutions Framework (MSF)

I've started wandering around MSF (Microsoft Solutions Framework) in hope of grasping the essence of it. I've went through MSF version 3 and MSF version 4. I've been to VSTS (Visual Studio Team System). I've gone through MSF for Agile and MSF for CMMI. I've read about MSF Formal. I've been reading in the guidelines, in Microsoft's view about UML and all that stuff. Bottom line: I've immerged from a lot of confusion to still more confusion but then at the end things started to clear up a bit for me yet still are somewhat vague.

Microsoft's MSF though seems to be interesting. I've started today writing a Vision Statement and a file about a Persona. I plan to start writing next about scenarios then quality of service after that.

Wednesday, November 16, 2005

Windows SharePoint Services

I've often heard about Microsoft's SharePoint but did not really think high of it. I just recognized it as an over-hyped new thing by Microsoft but not really something useful. Yesterday, this view of mine changed.

I remember once working at a huge place where communication was extremely bad. We had and internal phone system, internal email, actual physical mail boxes as well as office boys that can pass paper messages around. All those different media of communication we had in our hands but they were used in very inefficient way. I really hoped for an intranet with a web portal that could make communication between the large number of employees easier and streamlined. Yesterday, I discovered that SharePoint can be the answer for my long sought dream.

We have not yet fully used SharePoint or even made use of some of its features, but I've started to realize its potential. After playing around with SharePoint trying to figure out and use its features, I realized I need to learn more about it to be able to discover its features and potential. I started reading in a book about SharePoint and the first few lessons were interesting and of benefit. I'm more aware now of what SharePoint is capable of doing.

Monday, November 14, 2005

Group Interview

Yesterday I had no interview scheduled. A colleague told me there were 4 guys at the door handing out their CVs and asked if I wanted to interview them. I told him to let them in and seat them. I went and found to of them inside and the others were still out. I was not sure how to proceed. Shall I ask one by one to take an interview with me? That would be fine for me and perhaps the best approach, which I am used to also. But the problem is that I'll keep the others waiting. So, I decided to make a group interview for the 4 of them at the same time! Sure it will not be as efficient as a standard one-on-one interview, yet one has to deal with different situations as they arise.

I had not heard about groups interviews before, let alone made or even had any. The idea just popped in my mind at the moment, and I was not even sure if would be 'feasible'. My previous experience in delivering training and meeting surprises that come up on class made me able to handle this situation with relative ease. I am used to dealing with new situations as they come and do on-the-fly 'planning'.

I made them sit on 4 chairs and sat on a chair facing them (without a desk in between us for better communication through body language). I then proceeded to ask them about their names, and numbered the CVs in front of me in the same order they were sitting in front of me from left to right. I then asked them one by one about their projects, tools they used in the project and other questions. Finally, I probed more with one of them who seemed to be of special interest to us because of his J2ME based project and we did need a J2ME Developer. At the end I thanked them and told the J2ME guy that we might call him.

That was the first group interview I made and it was kind of interesting yet sure a one-on-one interview would still be needed to know more about a candidate before hiring him.

Wednesday, November 09, 2005

DSL Nightmares

Ok, yesterday it took ages to download windows and office patches. Actually, I came this morning to find the patches still downloading! And guess what, we have a 1.5 Mbps ADSL line (feeding 9 or less workstations).

Today after setting up my Outlook and connecting to Exchange Server to download my emails from there, it took ages to download them (they are still downloading till this very moment I am writing in).

I called our ISP trying to figure out what the cause was and to vent some of my anger out, but guess what, the phone kept ringing ringing and ringing and no one answered! I decided to pay a visit to their office. That I did and did it with force. I met the person responsible for sales there, she was good and explained the issue honestly so I asked her for a refund and she did not mind. At least she was honest enough to tell me that the problem will not be solved any time soon and that it will not be before one complete month from now that the upgrade they have issued will take effect and be implemented. She also did not hesitate to agree on a refund upon my asking and just requested some more details from me.

I'll try to check with another ISP to see of a switch in ADSL providers will cause us to be cut off from the net for a while or not.

Update: I have contacted the other ISP and they told me it will take from 3 to 4 days to install their service after I provide them with what she called "cancellation number" which she said I get from our current ISP to indicate their service with us has been cancelled.

Sense Of Direction - Employee Dissatisfaction

Sense Of Direction - Employee Dissatisfaction: "Diminished investment in up-skilling and life-work planning may reduce the competitive advantage of your business."

Tuesday, November 08, 2005

Lunch Break

A sandwich in one hand and the keyboard in the other. That's been the state of software developers in the company. With ten hours of work per day, who would need a break anyway! The underlying logic for the sandwich-at-the-monitor practice was that they did not want to waste time eating away from their work-station!

Anyway, all this changed today. We moved a desk to the outside hall away from the workplace. We then set a time in the middle of the day to have lunch. We went at that time to the table and had lunch all together away from the monitors and keyboards and sitting with each other.

Benefits
  • A real break revitalizes the mental energy of the software developers, specially if it's taken away from monitors, keyboards and tail or tailless mice.
  • Sitting all together instead of each at his desktop during this lunch break was enjoyable and made us chat together and got us closer to one another. We even discussed some side issues that affected our work or that were laterally related to it.
  • The third benefit is to mentally separate lunch and break time from time for work. If they two are blended together like was the case before, then when it comes time for work the feeling one having lunch and having a break may blend with ones 'feeling' of work and reduce ones alertness, concentration or readiness to work.
  • Finally, the naive idea of eating in front of the monitor in order not to waste time for work is absurd. Come on, give me a break! How can one be productive programming on a computer and writing code when one has a sandwich in the other hand? What kind of productivity do you expect from this? Besides, not getting a real break in itself will reduce performance due to continuous work and absence of time to regenerate and revitalize ones energy.

Monday, November 07, 2005

Social Security Number

Social Security
Who said government employees are lazy or inefficient? Today I went to the social security office in Nasr City, and the lady at the windows gave me a scrap of paper with my social security number jotted upon it after I gave her my ID card. She entered my name (I think) into the computer (for a number of times it seems though) then asked me if my mother's name was so and so, and I said yes, then she jotted my social security number on a small peace of paper and gave it to me. That was it! I did not believe myself, the process was way easy and fast, far from what I had expected to be honest.

The social security office is found in building 59 of Rabaa Estethmari buildings. If you are going down El Nozha street with Midan El Saa behind you, turn left 3 roads before reaching the Tiba Rose shop or Dar El Defa El Gawwy. The social security office is near the end of this road on the right side (building 59).

Despite the absence of a smile, and the presence of what I would like to politely put as the "opposite of a smile," in addition to a lazy attitude in performing the duty and giving me the impression she is absolutely tired, yet she did do her job and I was so glad. I did not pay anything, I did not wait a lot and I got exactly what I wanted, my social security number by showing her my ID.

Ka3b 3amal
I went to the labor office which is found at the end of the street where Genena Mall is, not the end towards Abbas El Akkad street, but the other end. It is found at its corner, on the left side. There they informed me, after asking about my address, to go to the other labor office and the guy gave me directions on how to reach it and also told me what papers I needed when going there. Was kind of cool. I thanked him, went back to get the papers then went off to the other labor office just as he directed me.

I reached the other labor office which happened to be in building number 16 right in front of El Ahly bank, which is in front of Dar El Defa El Gawwy. It was there that the (at last) smiling woman told me I had to provide her with my social security number and directed me to the location of the social security office which was thank God nearby. By the way, all those places I went walking! After getting my social security number, I went back to the labor office and there I did not find the lady who had asked me for it, but there was another one there. I waited till she finished with someone, then she gave me the paper I asked for after filling it and looking at my ID, university graduation certificate and social security number. I was so glad upon leaving the office with the paper I wanted in my hand. I did not pay anything, I got it in the same day and I got what I wanted. Thank God. Who said government employees are no good in Egypt. Perhaps a bit lazy and give you the impression of being really tired, yet they seem to do their job ad the end. It least that had been my experience today. After all, their system of work has nothing much to motivate them, so we must understand their conditions well and not expect from them the energy boost we may ask from private sector employees.

Wednesday, November 02, 2005

Seminar Evaluation

Strengths
  • Well prepared.
  • High confidence in delivering seminar.
  • A member of the audience asked a question. This indicates build up of interest in the seminar.
  • Use of whiteboard for explanations greatly increased interest and alertness.
Weaknesses
  • Low faint monotonic tired voice causing the audience to lack interest and made them sleepy. Gave the impression of doing a chore. Lacked enthusiasm, motivation and energy causing the seminar to be mostly boring.
  • Visibility of text on monitor was not high for all the audience.
  • Did not set context strongly for the seminar by giving at the beginning of the seminar the big picture in which the topic of the seminar fits.
  • Should have explained technical concepts without asking audience if they did not know its meaning. This embarrassed them to ask for its meaning even if they did not know it.
  • Giving too much details trying to cover all points in sequential order with no regard to their level of interest or the need of the audience to them. Appeared more like an academic lecture. It is better to use interesting attention-grabbing points as pigs upon which to hang the rest of the presentation.
  • Should have related seminar content more to actual daily work of audience on their current system specially when giving explanatory examples.
  • Smoother communication, a clearer message and a higher level of interest could have been achieved by using down-to-earth words instead of elaborately elegant wording in an attempt to create a technical or professional air.
  • Dependency on the PowerPoint presentation and reading its points sequentially instead of making a conversation with the audience. This caused boredom and reduced interest and attention.

Tuesday, November 01, 2005

Presentation Tips

I found this wonderful PowerPoint presentation about how to deliver a good presentation. It is packed with useful and practical tips that are clearly written by someone who has been there done this and not just a bunch of theoretical and unpractical points. The point I praised the most from among all those mentioned in the 41 slides of this presentation is: "Have a conversation with the audience, rather than lecturing them." I cannot stress that more strongly. It was actually the lack of this very point that caused our first seminar to be way too boring.

Legal Accountant

He was very polite and friendly, the legal accountant I called today for the first time. Let's see what he'll be able to do. I've set a meeting with him tomorrow at noon. There's a sense of relief in having someone do all the paper work for you. Now one can focus on what really needs to be done and requires a higher degree of creativity and 'domain' knowledge such as recruiting brilliant software developers.

Monday, October 31, 2005

Seminar Fruits

The seminar took longer that was originally planned for it. It went on okay, while of course there were some sides of it that cried from improvement. The tone of voice of the presenter was so monotonous and tired and it lacked energy and enthusiasm. The presenter also did not let the audience interact with him except in a very limited manner. Both those points caused the seminar to be rather boring and made the audience feel rather sleepy and it was more like attending some old boring lecture at the days of university. Another drawback was the inability of the presenter to simplify the concepts enough or present them in a clear way. A lot of 'floating' words were used without giving clear meanings or putting them in context.

One of the main draw backs was lack of focus on specific points of interest and of high practical value. The session was more like a monotonous sequential listing of points. The PowerPoint presentation on the laptop was not a good tool. It was just a tool for more boredom as the presenter went through it trying to talk about its content point by point. Interest however started to increase after the first part of the seminar as the presenter moved from the PowerPoint presentation on the laptop and used the whiteboard to illustrate his concepts. This was a much better way of communication and grabbing people's attention and interest.

Seminar Kick Off

Today is time for the first seminar or let's say mini-seminar as we've hinted upon it before when introducing the concept of mini-seminars and our attempt to integrate it into the work system. I'm looking forward to the results of that 'mini-seminar' and hope it would turn out fine. I'm preparing evaluation forms to give to attendees in order to fill after attending the seminar.

My aim from the seminars is to enhance communication between team members, give them a break from their mono-type coding work and revitalize their energy. Of course the content of the seminar itself will have its positive effect on them not only when the technical subject touches on their current work directly, but even when it talks about some part of technology which is used for developing part of the system that the developer is not working on. In this latter case, the seminar will broaden the scope of the developer and make him see the other side of the story. This in turn will have an indirect positive effect on his own work after that.

Update: I now managed to finalize the seminar evaluation form. Instead of making it in Word, I switched to Excel which I found to be a better idea. The main reason for this switch is to enable me to make calculate statistics easily from the collected evaluation forms after attendees have filled them.

Sunday, October 30, 2005

Case Study

Problem
Deadlines are not being met.

Analysis
After analyzing he situation, it was clear that the reason behind the inability to meet deadlines was the absence of a system for allocating and keeping track of task.

Solution
We started researching methodologies for describing and documenting the system in a clear unambiguous manner. We then delivered seminars to the whole team on such methodologies and their basic concepts. Next, we started implementing such concepts in the project. An agile methodology was followed for developing, documenting and keeping track of the project progress.

Results
Deadlines were met within a much narrower margin. Project was delivered on time. A bonus was that developers were less anxious during development as the path was much clearer in front of them. We also got productivity increases as a result of the added clarity of the project components, enhanced communication and reduced time had previously been wasted in redesigning parts of the projects that did not fit with other parts due to absence of comprehensive planning before starting on the development phase.

Weekend Refreshes

I'm back from the weekend. Wow, how refreshing. It's nice and refreshing to have a weekend. One feels revitalized back at work. I intend to do some good stuff at work now that my brain is revitalized once more.

Friday, October 28, 2005

Role of HR Consultant

My role as an HR Consultant is to attract, develop and keep great employees for the company.

Thursday, October 27, 2005

CV Rush

In less than 8 hours of posting my job ad at the Egypt-IT-Jobs Yahoo! group, I've received over 50 CVs. How amazing!

I've noticed however that most CVs are applying for the fist job mentioned in the ad. Perhaps the first job attracts the attention more. Maybe I should be putting the more important jobs at the beginning of the ad. I'm not sure however if the high number of CVs that were sent applying for the fist job in the ad is a result of this or if it's simply due to the availability of more professionals for the first job in the ad. In any case, the job we put at first was indeed the one we wanted to fill most.

I'm glad the results look good. Hope screening and selection goes safely and smoothly till the end. I hope we get the most suitable members to our teams.

Job Ad Sent

Today at last I finally sent the job ad after putting a lot of energy and work into designing it. It contains 7 different positions with detailed and focused requirements set for each one of them. I hope we get great results from them God willing.

HR in Ramadan

Companies start crying out for HR people in Ramadan. This is when performance drops start to show they heads. Perhaps the best time to market ones recruitment services is in mid Ramadan of every year.

Wednesday, October 26, 2005

Time Wasters

A Pain in the Neck
No. Today a lot of time was wasted. The majority of time wasted was in configuring my email account to work from the Outlook client on the Exchange server. Finally it did work, but after eating up a lot of time and good will. Perhaps automating such tasks and creating a policy and procedure for them would be best. It would save a lot of company time not to mention the headache.

Exchange Server
I admit though that after everything was setup and working it was a breeze. So happy now to have everything working now on the Exchange server like magic. Kudoz for team members who have helped me and done the troublesome configuration process for me.

Mini-Seminars
Today we've done something nice. We've agreed at last to start testing the grounds on letting team members conduct mini-seminars on technical topics. I like to think of it as what Google have and call TechTalk. I got the inspiration for it from them anyway.

English Test
I've also started working on creating the English test for use during screening of candidate developers. It'll be short passages taken from technical books with multiple choice questions on them to determine comprehension abilities of applicants.

Tuesday, October 25, 2005

Writing Technical Job Ads

Yesterday, I sat down with the Senior Developers to determine the company's requirements of new recruits. It's best to consult with the people who are senior and those whom have their hands and minds involved inside the project. That's something I had learned during my work at Sharm in the HR department of a 1600-employee operation. It was a piece of advice given to me by the HR Director. Indeed, it does bring good results. Not only does it help tailor solutions to the real problems, but it also makes people feel better for being consulted and see results in a more favorable way in addition of course to producing better results.

Today I started outlining the job ad for the several positions required. Due to my insider knowledge of IT technology and programming I was able to write deeper and better targeted job ads, specially in the requirements section. My insider knowledge of programming and IT technologies gave me an edge. I started fleshing out the outline with bits and pieces from what I had gathered yesterday from the input of the senior developers in addition to my own knowledge of the available talent pool in the market and their profiles. After adding points to the job ad here and there and finding it has flashed up reasonably well, I showed it to one of the senior developers for feedback whom in tern also showed it to another developer within his team. They gave me some more suggestions and additions most of which I took into consideration and edited the job ad accordingly. I finally submitted the final draft of the job ad to the other senior developer (who is higher in rank than the firs one) to have a final look. Probably I'll be posting the ad tomorrow God willing if he gives me feedback on the ad by then.

It's been tough work, but the results I believe are promising and exciting. It is quite rewarding to find some deep and hard work evolve finally into a nice piece of work, it's like the feeling you get after completing working on a work of art!

Monday, October 24, 2005

Refining Clouds

Today I started to create some clouds then refined, re-refined then created more smoke then refined some more. The end result are a bunch of open-ended documents in different parts of the HR function. These documents are the seeds and skeleton of the HR documents and forms. They are the core upon which the whole system will be built.

HR from Scratch

Starting an HR department from scratch is a tough task even if it's only in a tiny company. One has to design and build all sorts of HR forms from scratch, build if even a simple information system to keep track of employee information even if such system is nothing but a bunch of spreadsheets in Excel.

Then one has to took into the ailing problems of employees that had been accumulated over time in the absence of any proper HR function. One has to work in parallel trying to give instant relief from such ailing pains while at the same time working on a more long term remedy for such problems by treating them from the source. This way there would be a balance between achieving long term stable goals while at the same time showing fast results in no time.

Saturday, September 17, 2005

Google Pizza

Google's HR hand reaches far and wide, grabbing the eggs even before they hatch. It does so not by offering any sort of poultry food (no pigeons involved here) but this time it offers pizza instead.

Friday, September 09, 2005

CiteHR

While searching Yahoo! for "competency mapping," I stumbpled upon this forum which surprisingly came near the top of the Yahoo! search results and had a good piece of writing about competency mapping, even better than that present in 'normal' web sites! The site HR forum site name is CiteHR.