Deprecated: Assigning the return value of new by reference is deprecated in /home/httpd/vhosts/zgraggen.name/subdomains/blog/httpdocs/wp-includes/cache.php on line 36

Deprecated: Assigning the return value of new by reference is deprecated in /home/httpd/vhosts/zgraggen.name/subdomains/blog/httpdocs/wp-includes/query.php on line 15

Deprecated: Assigning the return value of new by reference is deprecated in /home/httpd/vhosts/zgraggen.name/subdomains/blog/httpdocs/wp-includes/theme.php on line 505
blog.zgraggen.name » Work

Archive for the ‘Work’ Category

St. Patrick’s day @ UBS

Thursday, March 18th, 2010

As many might know, I am working in the biggest trading floor of the world. But what most people won’t know is that UBS has an interesting tradition on St. Patrick’s day. This afternoon around 4 o’clock a group of bagpipe players walked onto the balcony of the trading floor and played some music for the 1400 people :-)

How do you end a client relationship?

Wednesday, July 29th, 2009

This week we have to write another blog post about ‘How do you end a client relationship’?

How you end a client relationship obviously depends on how the whole assignment turned out. The broad spectrum of outcomes runs from the negative outcome of the project was a disaster with major problems and the consulting work did not result in a success, to the positive outcome that the whole experience was great and everything was finished as planned. One question to ask first is do you really want to end a client relationship? Of course the current assignment is over right now, but that does not necessarily mean that the entire relationship has to end here. You could still stay in touch with the client, and there is always the possibility that there might be another assignment coming up in a few months.

In this post I will focus on how you end your assignment rather than the business relationship since I believe the business relationship should not be ended. Admittedly there are some cases where you don’t want to work with this client again and really want to end the relationship. But I think even in this situation you should treat the client with respect and try to maintain a positive ending.

It is obvious that coming to an end of a successful assignment is easier than an unsuccessful one, since both sides got what they wanted and are satisfied. So what do you do if not everything works out as planned? After all you represent the consulting communication and just because this assignment didn’t work there is no need for bad feelings or hostility. Your goal should be that your client trusts you, and respects your company even if you did not succeed in the task at hand. Acknowledge the mistakes you made and do not blame the client. It does not help you or your company to make your client your enemy. Ultimately, trust is what brings the client back to you even after an unsuccessful assignment.
There are many different ways to earn trust but it most often boils down to two parts: Competence and Character. If you have both the client will trust you. In the situation of an unsuccesseful project, it seems like that you did not have the necessary competence to complete the assignment. But what if you get to the point that the client thinks, if you can not do it no one else can do it. In this scenario you still would have proofed competence even without succeeding in this assignment. (By that I do not mean that you should minimize a bad situation, or lie to the client about the project outcome). The second part is character which can be demonstrated especially in an uneasy task. Take responsibility for things which do not go smooth and stay professional.
A good way to prove competence and character at the end of an assignment is to give your client your final suggestion. Even if it does not benefit you anymore (character), just leave your final thoughts on the project behind which can turn the project around (competence).

Comments or additional thoughts on that topic are encouraged!

How to fix a client relationship problem?

Wednesday, July 22nd, 2009

For this homework assignment for my elective ‘Consulting Communication’ we have to write a blog post ‘How to fix a client relationship problem’.
Here is the problem I will discuss: What should I do if I work as a consultant for a client, and a lady in the clients team is interested in me and tried to flirt with me several times during the previous work days. She then asks me out for dinner to discuss some work related things.

This situation contains several problems. One aspect is the legal and ethical issue; most consulting companies have regulations which do not allow having a personal relationship with a client. Even if the consulting company would allow it or not, I strongly believe that the only way to maintain a professional long term business relationship with the client is to not engage in any personal relationship. So the main problem is what should I do in this situation, since my client frames this dinner as a business discussion. My goal in this situation is to maintain a professional business relationship which includes two things. Be respectful and try to fulfill the clients whishes but on the other hand I have to set the boundaries between business and personal lives. What options do I have to do that?

One option is to accept the ‘invitation’. But that means that I have to manage the expectation of my client and show her that this dinner is purely business. This could be achieved by telling her upfront that I won’t come alone. A potential answer to her question could be: “That’s a good idea. I’ll bring Jonathan along since he is an expert in X, and then we can discuss the full spectrum of the project.” By answering this way I accept the invitation but at the same time I also show that I clearly have a business focus. With the start that it is a good idea, I also show that I have no doubts that this is purely business related. If for whatever reason I end up at a dinner with the lady alone I still think that it should be possible to maintain a business focus. First of all I could pick the environment where this whole meeting happens. It is a big difference if there is candle light and a piano player or not. Obviously, I don’t want either of it. But to be honest I guess she would pick the location since she suggested it and also might be familiar with all the restaurants in town. The key during the dinner is to not send the wrong signals. Have an interesting discussion is okay, but it should not be flirting. The main thing to do is not to wander too much into private conversations, but rather to focus on project related things. Another thing which will help to prevent a negative outcome is to set the time limit upfront. Let her know that I have to leave after a certain time. This way I can use this as an excuse to leave the dinner before anything happen and it also prevents the awkward situation when I want to go but the lady doesn’t.

The alternative would be to decline the offer. The important part here is the way I decline to offer. Just saying that I’m not interested is not a good idea, since she proposed this dinner to discuss project related things. Declining this offer directly would show that I’m not interested in helping the client. So I have to be more subtle about this. I think a good way to decline the offer would be to say that I have to do more work for the next day. This might work pretty well, since as a consultant there is seldom a time where you don’t have more work. If she is insistent I could push it off to the next day and go on a business lunch. A lunch is less dangerous in this aspect since there won’t be any drinking involved and the environment won’t be as nice as for a dinner. Besides, I’m sure there are other polite ways to decline the offer with a good reason.

In either case if the situation gets out of hand, I would discuss this problem with my superior. And in the worst case I would ask to be removed from this project in order to maintain a professional relationship with the company. In my opinion it would be better that the consultant company still works with the client company without me, rather than in the worst case cause a scandal because of this one person at the clients company. Besides the goal of consulting is to help the client to achieve his goals and the goal for the consulting company is to do a good job which could lead to additional work in the future. In this context one person should not matter that much as long as these goals are still achieved. But removing me from the project has a negative side too. As it seems I was obviously not able to maintain a professional business relationship with the client which leads to additional coast for the consulting company. They have to send a replacement which needs to be trained and I need a new assignment. If that happens more than once I’m sure the consulting company would blame me and not the flirty client. After all I’m the consultant and should be able to deal with this problem myself. Since all the other consultants aren’t experiencing such problems.

The remaining question is: What would I do in this situation? I guess there is not a single answer which is true for every situation. It depends on how well I know the client, how long have I worked with the client and also details of the dinner like the environment and place. But I’m sure that declining such an offer would be the best way to handle such a situation when you notice that there is more than just business involved. Declining can prevent many small issues or explanation as a result of such a dinner. Besides can a client hate me for declining a dinner?

Comments or additional thoughts on that topic are encouraged!

Relict 1: Getting things done

Friday, January 30th, 2009

This is my oldest relict… I started this post about 8 months ago and I am convinced that it is worth mentioning. :-)

After reading the post from Mirko I thought why not read something different from time to time.
Besides some students at the CMU recommended this book on the Google Group for new entering students ;-)
Even though I did not completely finish the book, I would recommend the book to anyone who wants to improve his time management. I did not apply all the things the book mentions but I definitely could improve some work habits, which saved a lot of time.

Thanks to Mirko for lending me the book! Meanwhile I posses my own copy of this book :-)

My first Baseball game - The Pirates

Sunday, August 31st, 2008

When I left the IFS my colleagues at work gave me tickets for a Pirates game. They called it “Kultur für Guido” but I am not sure if they meant the Baseball game experience or the “All You Can Eat (AYCE)” part.
Finally, the day arrived to use these Tickets. When we (David and I) entered the stadium we received a “Willie Stargell Collectible Plate” to honor one of the best Pirates players.

Dominik had done a good job; we had maybe the best places you can get in the AYCE section. The rest of the game is told very fast. Unfortunately the Pirates lost. But at least they did one homerun and therefore we saw some fireworks from a local firework company which uses these possibilities for tests. The funniest part of the whole evening was a wave which made about eight rounds in the stadium. This wave was started by some college guys und it lasted for several minutes (yes, it was a slow one). Pirates

For all those who are interested how much I could eat here is the list:
- A salad with farmer dressing.
- 2 Hamburgers
- A Hot Dog
- Tacos with cheese (it is more a spicy cream than cheese. Definitely not my favorite)
- Some Popcorn
- 1,5l of Soda
- No Ice Cream (They ran out, before I could start with the Ice cream :( )
=> Not too bad for 3 hours

THANK YOU IFS!!!

Last Workday at the IFS

Thursday, July 10th, 2008

Today is my last day at the Institute for Software (IFS). I am a little sad and at the same time also happy…

I am sad because I have made many good friends at work. I also will miss the outstanding location near the lake wherein I often went swimming around lunch time. I look back with satisfaction on two and a half years I spent at this Institute of the Hochschule für Technik Rapperswil HSR.

I am happy because finally I have the spare time to prepare everything to leave Switzerland for my Master Program in the USA. To which I am really looking forward… :-)

So thanks to everyone at the HSR for their help, friendship, and the good time we had. :-D

Trac over XML-RPC with JAVA

Tuesday, July 1st, 2008

For our work on the C++ Refactoring in Eclipse CDT we created some helper classes. We thought it would be nice to document this helper classes in a way that it is browsable and searchable. The best would be to generate a wiki entry in our trac using the javadoc. Because then the documentation is directly in the source and not in a separate file and the advantage with the wiki should be obvious.
To extract the needed information out of the Java source code I wrote my own Doclet. This was not a big problem in contrary to editing the trac wiki.
Here are a few things you should pay attention to if you want use the Trac XML-RPC with Java:

Before starting you need to install the Trac XML-RPC Plugin. We had already done this to use Mylyn. After installing the plugin you should check if it works and make sure that you use the accurate url. You can do this by navigating to http://your.domain/xmlrpc or with authentication to http://your.domain/login/xmlrpc. You should see the “XML-RPC exported functions” site. Now you are ready to start!

I started with fetching all the needed libraries.
There are different vendors which provide libraries for XML-RPC. I use the own from apache.
To use the Trac XML-RPC Plugin the easiest way is to use the provided java library.

The next thing you should do is to create a user explicitly for this purpose and give him the needed privileges. Additionally you have to set the XML_RPC privilege. For a detailed view which privileges are needed look on your XML-RPC exported functions site.

After that let us have a look at the code. (Hint: I removed the exception handling)

XML-RPC Java code

This Code consists mainly of two parts. The first part where the connection is established over XML-RPC and the second part where the interaction with the Trac happens. I think that the first part is self explanatory. Therefore let us move on to the second part.


TrackerDynamicProxy tdp = new TrackerDynamicProxy(client);
Wiki wiki = (Wiki)tdp.newInstance(Wiki.class);

To add or change something in the wiki you need the correspondent object. This can be fetched over the TrackerDynamicProxy.


Hashtable h = new Hashtable();
wiki.putPage("MyWikiSite", "Hello World!", h);

From there it is quite easy. Just use the wiki object for all the modifications.
The Hashtable h can be used to set PageInformations which can be fetched again with wiki.getPageInfo(). But because we only need to write the page we won’t store any additional information with it.

Problems?
Following I will give you two hints which might help you.

  1. An exception will occur if you try to write the same page content into the wiki which already exists. This exception will look somewhat like:
    Caused by: org.apache.xmlrpc.XmlRpcException: 'Page not modified' while executing 'wiki.putPage()'
  2. Another really strange problem I experienced was with the authenticated access. My first approach was to put the user and password into the url (username:password@url) as common on the internet .
    conf.setServerURL(new URL("http://username:password@your.domain/login/xmlrpc"));
    But that did not work and I do not have a clue why?

    The only way it work was as shown above. By setting the user and password separately from the url.
    conf.setBasicUserName("username");
    conf.setBasicPassword("password");
    conf.setServerURL(new URL("http://your.domain/login/xmlrpc"));

Pictures from the Oopsla 2007

Tuesday, October 30th, 2007

As I promised: here are some pictures from the Oopsla.

Room_view Silver_bullet
The view from our hotelroom in the 9th floor. The 20 year old Software magazine in which the article “No Silver Bullet” was published.

Poster Breakfast
The three Poster ready for presentation during the welcome reception. The breakfast buffet. Available every morning.

No Silver Bullet Panel Silver_bullet_panel 2
The “No Silver Bullet” panel. Martin Fowler, Ricardo Lopez, David Thomas, Aki Namioka, Linda Northrop, David Lorge Parnas, Frederick P. Brooks (from right to left) and Steven D. Fraser (taking a picture) ( Martin Fowler as werewolf ;-)

Plane
Finally in the plane ready for departure…

Of course there is more to show… but this few pictures should give you a brief impression from the Oopsla.

No time to write

Thursday, October 25th, 2007

I did not want to believe it before but now I know better!
During a conference many things are going on in addition to the official program. Especially, the corridor discussions are very time consuming but of course worth every minute. This is also the reason why I did not blog as much as I wanted to. But I still hope that you got some impressions from my conference trip. In a few hours it will already be time to say farewell to Montreal. … AND … Switzerland we are coming :-D

No Silver Bullet - Reloaded

Thursday, October 25th, 2007

After the workshop on Monday the same people held a panel on the same topic. So it was logical that we attended the panel as well. As I assumed it was absolutely amazing again.
During the introduction Martin Fowler went screaming underneath the table to appear as werewolf (big mask on the head). And from then on he very intelligently showed the position of the werewolf during the panel which gave the panel an extra touch of coolness. For those which are unfamiliar with the topic: A “Silver Bullets” kill wWerewolfs and therefore one can kill anything with a silver bullet which means it is a solution for everything.
To quote Brian Foote after the talk: The Oopsla will hate themselves for the next 5 years for not installing a camera to record the panel.

btw: sorry again for no pictures… but they will follow I promise!