Thursday, January 29, 2009

Attack a Team Morale Problem on Many Fronts

Morale problems don't happen overnight, and they cannot be resolved overnight. Typically, the complete causes and remedies are out of your control. However, as the project manager, there are some things that are within your control. Regardless of how much you can do, if the group sees you trying to help, they will feel better as well.

You need some feedback from the group to determine the cause of the morale problems. Once you understand the cause, there are usually multiple ways to help. Here are some examples.

  • Be a good listener. You will find that the simple act of listening will help people's morale. Being sympathetic and empathetic are key responses from the project manager. It shows that you at least recognize the problems and are concerned.

  • Say “thank you”. This is similar to being a good listener. If team members feel that the project manager recognizes their contributions, it will go a long way toward helping them feel better about their situation.

  • Assign more challenging work. This is a tough one because, in most cases, your work is your work and you cannot change the basic nature of that work. However, there are some things you can do to introduce new challenges. For instance, you can rotate people into new roles. If two people have done the same job for a long time, switch them. This gives each person an opportunity to learn new skills and new areas of expertise, while also giving you more backup coverage. You can also give people more responsibility. This might include letting new people manage the budget for the team, putting people in charge of subteams and assigning new people to manage the work of contractors.

  • Provide opportunities to learn new technologies. You can try to rotate people into new technologies, switch responsibilities to allow people to learn new skills, and increase the training opportunities.

  • Make sure people know what is expected of them. You should make sure people are clear on what their job responsibilities are, what their current work activities are, and how their contributions help the entire project to be successful.

  • Offer more flexibility. Allowing people more control over their jobs and lives can help morale. Examples of work flexibility include:

    • Offer flextime options to allow people to work early or late. This could also include four ten-hour days or allowing people to work early or late based on their personal preference.

    • Try to offer some form of telecommuting. Look at one to two days per week to start, perhaps just with selected trial people.

  • Get the right equipment. Make sure people have the right hardware and software they need to do their jobs. It is especially frustrating for people to work on slow equipment, especially when hardware is so cheap.

  • Look for opportunities to have fun. Look for an opportunity for social events, pizza parties, birthday cakes, etc.

  • Solicit opinions and ideas from employees. The project manager should encourage team members to become involved and offer their insights on assignments. If team members feel like their opinions and ideas are valuable, they will feel better about their situation.

There are many reasons for bad morale. Based on the reasons, there are also many ways to try to improve morale. The key is to recognize that the team will not perform as well if morale is bad. So, project managers should keep their eyes open for morale problems and look for ways to keep morale up. Regardless of the limitations of your role, there are always some things such as listening and saying “thanks” that are within your control. There may be many other responses in your control as well.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Wednesday, January 21, 2009

How to backup SVN repository

How to backup SVN repository

Nếu bạn thường hay sử dụng svn subversion để quản lý các project, thì việc backup định kỳ là rất cần thiết. Nếu lỡ ngày nào đó, svn server của bạn bị hỏng hoặc OS bị hư …. thì dữ liệu của bạn cũng có thể mất trắng, rơi vào hoàn cảnh như vậy thì bạn sẽ thấy tầm quan trọng của việc backup data là như thế nào. Có rất nhiều cách để backup repository.
  1. Cách đơn giản nhất là copy nguyên repository ra một nơi nào đó (usb, DVD, CD).
  2. Nếu bạn có dùng TortoiseSVN on window, thì bạn cũng có thể sử dụng chức năng export để backup, bằng cách chọn TortoiseSVN -> Export . Sau đó thì bạn chỉ định path để export
  3. Dùng command line.

Cách 1 chắc không có gì để nói thêm. Cách 2 thì cũng thủ công, nếu trong repository có 100 project, chẳng lẽ bạn backup từng project một, rất tốn thời gian. Bài này đề cập đến cách thứ 3, dùng command line để backup.

Cách thứ 3 là bạn thực hiện dump toàn bộ repository ra một file nào đó. Cách thực hiện như sau :

Open command line window

svnadmin dump [your repository location] > [destination file]

Ví dụ :

svnadmin dump /usr/local/svn_repos > /tmp/svn_backup.dump

Khi thực hiện lệnh trên thì bạn sẽ thấy các project dump ra như sau

* Dumped revision 0.

* Dumped revision 1.

* Dumped revision 2.

* Dumped revision 3.

…………………..

Bạn có thể dùng một editor nào đó để xem thông tin trong file .dump. Hoặc bạn có thể copy file này vào usb,CD,DVD để lưu giữ.

Sau này nếu bạn muốn restore file .dump đã backup thì bạn làm như sau :

  • Đầu tiên bạn tạo một repository
  • Sau đó dùng command svnadmin load

Cụ thể như sau :

Open command line window

svnadmin load [path of your repository] < [path of .dump file]

Ví dụ :

svnadmin dump /usr/svn_new_repos < /tmp/svn_backup.dump

Vậy là bạn thực hiện xong các bước backup và restore.

Ngoài ra, nếu bạn không muốn thực hiện các lệnh này mỗi khi backup, thì bạn có thể viết một đoạn script (.sh or .bat) hoặc PHP script đơn giản để thực hiện việc backup repository.

The end