Skip Navigation LinksHome > SSW Standards > Rules > Rules to being Software Consultants - Working in a Team

I've been putting together Development Guidelines for my employer and in the process have reviewed many published standards (in the .Net arena) from around the world. In each category, the suggestions at SSW are always among the best. Leon Bambrick -
 

Do you agree with them all? Are we missing some? Let us know what you think.

  1. Do you do your work in order of importance (AKA Priorities)
  2. Do you have your mobile phone on vibrate?
  3. Do you know how to make hard decisions a little easier?
  4. Do you manage up?
  5. Do you chase your manager or does he have to chase you? (AKA Asking for Clarification)
  6. Do you analyze what happened if you find that you were running 100 Miles an hour only to find yourself standing still?
  7. Do you CC your Account Manager on emails relating to new work?
  8. Do you help the corporate objectives?
  9. Do you keep your Project Manager informed of progress?
  10. Do you use Source Control and Backups?
  11. Do you label broken equipment?
  12. Do you maintain honesty in your team?
  13. Do you teach and share ideas regularly?
  14. Do you act as a Standards Watchdog?
  15. Efficiency - Do you suggest a better method if you see one?
  16. Efficiency - Do you always try to work in pairs?
  17. Efficiency - Do you use two monitors?
  18. Efficiency - Do you utilize quiet time in the morning?
  19. Do you notify others about what is happening in the company?
  20. Do you offer specific criticism?
  21. Do you provide the reason behind the rules rather than blind criticism?
  22. Do you know the nice way to correct someone?
  23. Do you avoid confirmations that are just an 'OK' ?
  24. Do you, when someone does something wrong, give them a second chance?
  25. Do you offer positive feedback to your team?
  26. Do you follow the sandwich rule?
  27. Do you have a dress code?
  28. Do you avoid listening to music (Zunes and iPods) while at work?
  29. Do you ask questions when you're stuck?
  30. Do you give 120% when deadlines are tight?
  31. Do you go two miles when you're only asked to go one?
  32. Do you enjoy your job?
  33. Do you only do what you think is right?
  34. Speaking - Do you use correct English at work?
  35. Speaking - Do you avoid swearing at work?
  36. Do you always carry a thumb drive with you?
  37. Quality - Do you make your templates accessible to everyone?
  38. Quality - Do you run SSW Code Auditor?
  39. Quality - Do you implement SSW error logger?
  40. Quality - Do you only deploy after a test please?
  41. Quality - Do you get your most experienced co-worker to check your work?
  42. Do you respond to blogs and usergroups with the standard footer?
  43. Do you know who are the most appropriate resources for a project?
  44. Do you create a report whenever you need a number from a system?
  45. Do you have a debrief after an initial meeting?
  46. Do you offer to give their mobile when taking a call for someone?
  47. Do you check someone's calendar and then book the appointment?
  48. Do you handle the start of a new work experience employee properly?
  49. Do you know the recurring task you have and do you do them on time?
  50. Do you know the ways to share and see others' calendars?
  51. Do you set your work hours in your Calendars?
  52. Do you share your calendar with everyone?
  53. Do you allow full access to Calendar Admins?
  54. Do you invite the calendar SSW OnSite when you set yourself a meeting to be working out of the office?
  55. Do you invite the calendar SSWAbsence when you are out of the office during any of your work hours?
  56. Do you give enough notice for annual leave? (aka Flexibility vs. Substantial Notice)
  57. Does your calendar always accurately show where you are?
  58. Do you tell your boss what work you prefer but understand when you have to do less interesting stuff?
  59. Meetings - Do you always zoom in when using a projector?
  60. Do you have a USB adaptor in your car?
  1. Do you do your work in order of importance (aka priorities)

    Challenges ahead sign
    Figure: Remove roadblocks

    With a mountain of emails, it is difficult to make sure the most important tasks get done first. You want to keep your clients happy while removing roadblocks for others.
    This is the order which you should work:

    1. Urgent emails - emails with "URGENT" in the subject e.g. URGENT - website is down
    2. Emails about Timesheets or invoicing issues
    3. Your existing clients - e.g. Normal planned client work and client administration
    4. Client work - Ask others if you can help with their client work
    5. Prospective clients - project management, answering questions and setting up meetings
    6. Quick Important emails to 0 (emails with an important flag < 1 hour and not something that can go into a release plan)
    7. Uncompleted "sprints" (was "release plans") e.g. Normal planned internal work
    8. Important emails to 0
    9. Help others get their important emails to 0
    10. Ping others to see if they need help completing their "release plan" and "sprint"
    11. Now you are ready to make a new "release plan" (then wait for approval)
    12. Get your inbox to 0
    13. Phew... Done...

    Don't move an important task out of your inbox unless:

    1. someone else is going to do it right away
    2. it is going into a Sprint folder
    Figure: Leave it in your inbox - unless you need to delegate an important task
    Tasks
    Figure: Efficient people keep a priority list (often written)

    Also, it's common that priority orders change, but clients don't always mean to, so double check that the client means this.

    When someone is asking you to do a new task, and you are still working on some other task, you should ask:

    "Are you changing the priority order? Do you want this new task done before the current task I'm working on, which is xxx."
    Figure: Confirm with the client "Are you changing the prior order?"
    Figure: Prioritization - The most recent task assigned is not necessarily the most important. Mentally do this (e.g. an air traffic controller does not deal with the newest plane that has popped up on his radar when he has 4 lined up to land
  2. Do you have your mobile phone on vibrate?

    If you were talking to someone, trying to come to a conclusion on a topic, when their phone rang; would you want them to answer it? If they were using a loud ring tone, the only way to continue your conversation would be to wait until they had finished or, at least, they would have to get their phone out to hang up. Why should the person who called get preferential treatment and be able to jump the queue? Your mobile phone is a very useful tool. However, it can also be a nuisance. To make sure it doesn't interrupt your daily activities, you should always put it on vibrate.

    This has the following advantages and disadvantages:

    Advantages:

    • You get to only answer the phone when it is convenient for you
    • You won't be interrupting conversations with clients, which can be seen as unprofessional
    • You don't interrupt people's work with loud ring tones.

    Disadvantages:

    • If your phone (PDA) is connected to your laptop, you might not notice it ringing
    • As above, but if you're away from your computer, you won't hear it from across the office
    • Women generally keep their phones in their bags and so won't hear it unless it rings loudly

    The following solution should satisfy everyone

    • Anyone who keeps their phone in their pocket should have it on vibrate
    • Anyone who keeps their phone plugged into their laptop should have it on low volume settings
    • All phones should be on vibrate or off while in meetings
    • This is a standard (i.e. best practices) and not a rule to be enforced. This leaves room for exceptions such as slightly deaf people or women
  3. Do you know how to make hard decisions a little easier?

    Cartoon - Business decision
    Figure: Hard decision - this guy needs to state
    why he recommends this option.


    When you are giving someone options, do you recommend one and state why?

    For example: We want to integrate our database with our website so that customers can purchase online.

    The choices:

    1. Buy ready made solution.
      The ready made solution is cheap but it does not really have everything that we need and has features that we may not need.


    2. Build a new solution by third party company.
      It will be expensive and it will take a long time.


    3. Customize ready made solution (Recommended)
      We are able to get rid of redundant features and change it to meet our requirements. It is cheaper than building a new solution from scratch.



    The decision: Customize ready made solution

     

  4. Do you manage up?

    Managing up is providing your manager with an option to approve, rather than asking a general question.

    What do you want to charge for Cameron's rate?

    Figure: Bad Example - Nothing to approve

    What do you want to charge for Cameron's rate?

    I would advise the standard $165 + GST until he has more experience.

    Please approve.

    Figure: Good Example
  5. Do you chase your manager or does he have to chase you? (AKA Asking for Clarification)

    Managers (or clients), like all of us, are snowed under with work and won't always remember appointments with you. But keeping a good line of communication open is essential and it's up to you to make it happen. No matter that your weekly meeting gets cancelled, or your boss appears to avoid you for the week, stop and talk to them in the corridor, or pick up the phone and give them an update. If you know you've got issues to discuss (such as looming deadlines), don't wait for the client or your manager to bring it up, take a pro-active approach and schedule a meeting.

    As a guideline you should not go more than 2 weeks without talking to your boss. And don't forget all the things you've got to say - have a sub-folder in your Inbox such as "Ask the Boss". Next time when the boss asks "does anyone want to speak to me?", look in that folder.

    What do you mean?

    Uly
    Figure: Bad example - bouncing emails back
    I called you... What do you mean?

    Uly
    Figure: OK example - calling, then bouncing emails back
    (I called you and left a message as I need clarification - so have moved it to 'Ask the boss')
    FYI Adam I don't understand xxx
    Will catch you later about it

    Uly
    Figure: Good example - No bounce, still owning the task - even though you need clarification

    You can see more information on this at Do you use email for tasks only - not communication? and Do you seek clarification via the telephone first?

  6. Do you analyze what happened if you find that you were running 100 miles an hour only to find yourself standing still?

    Sometimes we work at 100 miles an hour, but don't get anything done. When this happens, do not ignore it, use this time to send your manager an email titled "100 miles an hour but standing still" and explain why this happened and how it could be avoided in the future.

  7. Do you CC your Account Manager on emails relating to new work?

    Once a project gets underway, it is not uncommon for the lead developer to take over a lot of the project management workload. Since they are the person most in contact with the client, sometimes new work will be organized through them instead of the Account Manager.

    When this is the case, the "As per our conversation" email should CC the Account Manager so he is always aware of all work being done.

    If an initial meeting is required for the new work, the Account Manager should be in attendance where possible to help continue the relationship.

    Hi Bill,
    As per our conversation, you want me to work for another 2 weeks to work on this additional work.

    Figure: Good Example - the account manager should be CCed on an email like this.
  8. Do you help the corporate objectives?

    We know you love your technology but are you helping with the corporate objectives? The best way of doing that is to have a meeting or call with your manager and keeping a word document of the main points to review each month.

    Make it tangible and strike through each point when it has been completed.

  9. Do you keep your client informed of progress?

    Figure: You are responsible for sending update reports to your clients every Friday

    A client will always prefer to be told ahead of time if a release is going to take longer than anticipated. It gives them more control of what is going on. The other opinion is landing them with an oversized invoice with no warning.

    For this reason, any developer working on a client project should send an updated release plan to the relevant project manager every Friday so that they can call the client, if needs be, to inform them of what's going on and ask "do you want us to continue?".

    $100k estimate. Calling the client when you reach $110k to say you have $20k to go.
    Bad Example: Not giving the client enough warning.
    $100k estimate. Calling the client when you reach $80k to say you have $40k to go, and does he want to continue?
    Good Example: Giving the client a warning ahead of time and asking for permission to continue.

    If you're working to a release plan, here is a reminder about sending updates to put up in your office.

  10. Do you use Source Control and Backups?

    As a responsible employee, there should be no excuse for ever losing data, especially if it belongs to a client. For this reason, it's important to make sure:

    • Your backups are working properly
    • You are using source control for any code you develop

    If you are working onsite, you can still use TFS remotely and it's important to talk the client into this in order to avoid any possible disasters.

  11. Do you label broken equipment?

    Imagine you see one port of a hub not working, what do you do?

    When you see something not working like a phone or a powerpoint, don't ignore it, stick a note to it and tell the appropriate person.

    We use a form that reminds us what is broken, who we have to call to have someone come and fix it, as well as any notes we may need to ensure that the item in question is fixed properly or replaced.

  12. Do you maintain honesty in your team?

    It is extremely important to maintain honesty in a team environment. Nothing breaks down a team like a lack of trust. Remember, honesty starts with the small things.

    "Lying is all about intent. When you say something you know isn't true in order to influence others, you're lying. If you say something which isn't true but you didn't know it wasn't true, that's not lying. But if you try to influence others by passing off something you don't know is true as truth, you are lying. Even if it subsequently turns out the thing was true."
    Ole Eichhorn More at http://www.w-uh.com/posts/030328-lying.html

  13. Do you teach & share ideas regularly?

    Each team member has their own set of skills. There is no use hiding those skills "under a bushel". If you can at least share one idea a week the team's shared knowledge increases. This has many positive spin-offs, for example, the teams don't become reliant upon one individual, and when your idea is adopted your confidence increases allowing you to make more contributions in the future. Importantly, it's not only management that should contribute this way. Everyone has something to share. William McKnight, the chair of 3M said "It is essential that we have many people with initiative if we are to continue to grow."

    As an example, if you have a handy tip, send an email to SSWDevelopers or add it to the KB.

  14. Do you act as a Standards Watchdog?

    See Is everyone in your team a Standards Watchdog?

  15. Efficiency - Do you suggest a better method if you see one?

    Most companies have a series of standards for conducting routine tasks. Of course some of these would have been written years ago, and haven't necessarily been updated. If you can think of a better way of doing something, let the appropriate person know and change the standard. Remember, if everyone contributes, everyone benefits.

  16. Efficiency - Do you always try to work in pairs?

    There are many good reasons why it's better to work in pairs, e.g. it's more efficient. I'm not talking about classical pair programming, as here at SSW we use our own brand... we do put our developers in pairs, but they each have their own computer.

    See Rules to Successful Projects - Pair Working

  17. Efficiency - Do you use two monitors

    Studies have shown that you can get up to a 30% increase in productivity by using more than one monitor when you work.

    Providing users with the ability to access more information and images simultaneously, multiple monitor configurations allow for more efficient multi-tasking between applications.

    For example, if you were a developer; you could have your references in one monitor and your Visual Studio in another, and directly compare the two without compromising on space or layout.

    Two Monitors Better Than One
    Figure: Two monitors are better than one
  18. Efficiency - Do you utilize quiet time in the morning?

    It is important to have a specific period in the day to utilize to full potential. For this reason, at SSW, we do the following until 1pm every day:

    • Quiet time is until lunch time (usually 1pm)
    • You can't interrupt anyone
    • Even if you're near them, still IM 1st and ask to see them when they're free
    • Whisper or talk quietly when you talk
    • No non-urgent phone calls (make calls in the afternoon)

    Unfortunately, this means that the afternoon becomes a free for all. Although this scenario is not ideal, it at least gives you the morning to get things done.

  19. Do you notify others about what is happening in the company?

    When something happens in your company, always send around an email so that the whole team is kept in the loop. Examples of events that you should send an email around for:

    • An update to a company standard or procedure (including a link to it)
    • Births and marriages
    • Employees who are starting or finishing
    • Anything significant that is happening in your life or the life of a loved one

    You should really feel free to share any good news you have with everyone. It will make the office feel more like a family and not just a place to turn up to work.

    Subject RE: Vacation

    Hi Guys,

    I'm heading to Sanya with my wife and kid this weekend, still remember the good time I had there last year at the MVP China Summit; also I think I do need to recharge myself for a little bit after long time working over 12 hours almost every day.

    Pretty excited right now as this will be the very 1st official trip that I take with my kid, hope he will likes the beach.

    Be prepared for more photos from my Nikon D80, I think it will be having a hard time during these 5 days.

    Will be back next Thursday, so if you need me for anything, call my mobile by skypein: **** **** (if you are in Sydney), or 139 **** **** (if you are in Beijing)
    Figure: Good Example
  20. Do you offer specific criticism?

    Every day I come across something that could be improved. I believe that, if we're not making improvements, we're going backwards. But I don't make suggestions or criticisms without being specific.

    "Do you know our sales process is hopeless, what are you going to do about it?"
    Figure: Bad Example - Non specific criticism

    When I find a problem, I pinpoint it directly (and recommend a solution):

    "The current sales process does not ensure that a prospect is followed up by a phone call within 7 days of an initial meeting. Please create a workflow in CRM4, have it tested by the sales manager, and then we will email the sales team to inform them about the improvement."
    Figure: Good Example - Offering criticism in this way ensures that something will happen to fix the problem.

    Of course there are times that you can 'feel' that a problem exists, but you may not even be sure how are unable to pinpoint it, or can't think of a good solution. In this instance you should speak to someone who you think may be able to identify a solution, come to an agreement, and then request that action be taken.

    When criticism is general, it is impossible to know what to fix.

    Quote #1: I don't mind being called a shit boss, just explain why.

    Adam Cogan, The Oaks (with David Klein) 2002

    Quote #2: How can you be influential, if you can't explain why.

    Alison Young, SSW Boardroom 22/1/2009
    Figure: Relevant quotes that encourage you to be specific
  21. Do you provide the reason behind the rules rather than blind criticism?

    Don't Criticize
    "The whipping must continue until moral improves"
    Figure: Bad Example

    A long time ago BF Skinner, a psychologist, proved through experiments that an animal rewarded for good behavior will learn much more rapidly and retain what it learns far more effectively than an animal punished for bad behavior (Fundamental Techniques in Handling People, Brian Elfstrom). If you criticize your staff:

    • You don't make lasting changes
    • They will resent you, resulting in lower productivity and employee morale

    An example: If one of your responsibilities is to make sure all your developers have signed released plans you can run around with a lot of authority telling them they'd better comply, but at soon as you're not around, they will resent you and not bother about it.

    A better approach is, when you see developers not using signed release plans:
    • Ask, "Is there anything I can do to make it easier for you to complete the release plan or make it simpler to produce?"
    • Explain that release plans are there to make sure we are working on authorized work
    • Explain that release plans make sure we get paid for our work - without them it is hard to track work done on a project
  22. Do you know the nice way to correct someone?

    When you notice that someone has done something against our standards, make sure you are tactful in your corrections; especially if the person you are correcting is a client.

    Subject: RE: Meeting

    Hi Mary,

    FYI - an appointment would have been better. See rule #48 in Rules to better Email
    Figure: Bad Example
    Subject RE: Meeting

    Hi Mary,

    I noticed you did not send an appointment for this meeting. I hope you don't mind, but I have gone ahead and created one so we don't all have to create one individually.
    We have a number of helpful standards like this which you can have a look at in our Rules to better Email if you're interested.
    Figure: Good Example
  23. Do you avoid confirmations that are just an 'OK' ?

    Misunderstanding due to miscommunication can cause major disasters at work or in life (see: http://en.wikipedia.org/wiki/Tenerife_disaster). A good communication strategy when receiving instructions is to repeat back what's being said to avoid misunderstanding.

    Question: Please get the manager to sign the time sheets off once completed

    "OK" or "Roger That"
    Figure: Bad Example
    I will get the manager to sign the time sheets off once completed.
    Figure: Good Example
  24. Do you, when someone does something wrong, give them a second chance?

    "A great man shows his greatness," said Carlyle, "by the way he treats little men". Bob Hoover, a famous test pilot and frequent performer at air shows, was returning to his home in Los Angeles from an air show in San Diego. As described in the magazine Flight Operations, at three hundred feet in the air, both engines suddenly stopped. By deft maneuvering he managed to land the plane, but it was badly damaged although nobody was hurt.

    Hoover's first act after the emergency landing was to inspect the airplane's fuel. Just as he suspected, the World War II propeller plane he had been flying had been fuelled with jet fuel rather than gasoline.

    Upon returning to the airport, he asked to see the mechanic who had serviced his airplane. The young man was sick with the agony of his mistake. Tears streamed down his face as Hoover approached. He had just caused the loss of a very expensive plane and could have caused the loss of three lives as well.

    You can imagine Hoover's anger. One could anticipate the tongue-lashing that this proud and precise pilot would unleash for the carelessness. But Hoover didn't scold the mechanic; he didn't even criticize him. Instead, he put his big arm around the man's shoulders and said. "To show you I'm sure that you'll never do this again, I want you to service my F-51 tomorrow."

    One of my staff, I wont tell you Edward's last name ;) , offered to help clean up my laptop by backing up my files, reformatting and starting from scratch. For some reason or another, all of my emails and client work were destroyed. Naturally I was upset, but instead of coming down on him like a ton of bricks, I:

    1. Went through the steps he took
    2. Identified where he did not do what he was supposed to, and
    3. Showed him the company standard for backups

    By giving him a second chance, I ensured that he and others would not make the same mistake again, without making him feel any worse than he already did.

  25. Do you offer positive feedback to your team?

    Receiving positive feedback makes everyone feel good. Forgetting to recognize success means the team has no motivation to succeed.

    This is a simple rule - if someone goes beyond the call of duty, you thank them.

  26. Do you follow the sandwich rule?

    The sandwich rule approach is an effective way to provide feedback to other team members and clients.

    1. Start with positive feedback
    2. Give your recommendations for improvement
    3. End with some additional positive feedback (you may repeat #1)

    This optimistic approach allows you to maintain a healthy relationship with your team members and clients.

  27. Do you have a dress code?

    The way you and all members of your team present themselves is a crucial part of creating a good impression for your clients, particularly in their first encounters with you.

    One aspect of this is dress code. Dress code is important for two reasons:

    • Looking professional and equipped for business. You don't need to go overboard, at SSW we ask our employees to wear a nice shirt (business or polo), trousers, non-white socks and black shoes (no sneakers, joggers or thongs).
    • Branding

    Everyone wears their SSW shirt to work on Mondays and are encouraged to wear SSW attire whenever they are in a public environment such as a User Group, Tech Breakfast, or seeing clients. When you represent SSW formally (e.g. at a conference stand) wearing SSW attire is mandatory. Of course, feel free to wear your SSW shirt every day of the week!

    In addition, we ask our employees to make sure they put their shoes back on if they are going to leave their desk for 2 main reasons:

    1. Maintaining a professional look, especially if a client happens to come in unexpectedly
    2. Safety.

    Making sure your team members care about their personal presentation will assist in how effectively this comes across.

    Most of these go without saying, but of course things such as wearing a belt, shaving off your weekend facial growth, doing your hair, using deodorant and having clean teeth and nice breath all help. Particular attention to detail in these matters should be shown when attending clients' premises.

    "Well they say that you can never over dress :-)
     We want you to feel comfortable, so we don't wear suits...
     but on the other hand we don't wear jeans...nice shirts make the man..."
    - Adam Cogan - SSW Chief Architect, Microsoft Regional Director and Visual Studio ALM MVP

    Good example
    Figure: Good Example
    Bad example
    Figure: Bad Example
  28. Do you avoid listening to music (Zunes and iPods) while at work?

    I love my new Zune and I know others love their iPods, but should we be using them at work? Is there a way to use them effectively at work? I've had the "music debate" with numerous people about using personal music in the workplace.

    Regardless of whether it is AC/DC or DotNetRocks, music/podcasts should not be used in the work place because:

    • I want my team to work with each other, and I don't mind that they hear other conversations going on. Hopefully if they hear about a problem they can fix quickly, they'll help each other out. Let me give you an example... say Andrew (who is busy working on another project) overhears Marlon say "Cool I found this great code generator, but I can't get past this error". I want Andrew to be able to quickly offer up advice (assuming he knows the answer already) to fix Marlon's problem before an issue develops. In this case he would say "Hey we don't use that code generator, you need to use SSW's standard code generator"
    • It's been suggested that multi-tasking lowers your ability to efficiently carry out a task (e.g. doing your task at hand along with listening to tunes) - by as much as 20%!
    • It can be anti-social - some people can shelter themselves
    • It regularly leads to "oh, I love this song, you should hear it" which subsequently turns into a bigger distraction from work for multiple people

    Others have said I am wrong with reasons like:

    • "It helps me give you 100% - since the office is noisy I can concentrate and I need to block out a noisy environment".
      Isn't the music just creating an additional noise source?
    • "It helps me relax".
      Yes I love hearing a good song, for example, when I hear Robbie Williams' "Better man" it gets me pumped a bit and I guess it has a positive effect on a my state of mind. I am unconvinced it helps me program better.

    There is, however, a use for it being "background" music in some scenarios; like when you are doing time consuming mindless stuff like fixing data, building VPCs/VMWares or waiting for long builds.

    I've also been into a few offices that use ambient music to subdue their employees. Again, I'm not convinced of this as a method mostly due to the fact that your not likely to be able to attend to everyone's tastes, and you're even more likely to intensify the "oh, I love this song" factor.

    Note: Please see our Rules To Better Dead Time for how we like to effectively use audio devices like Zunes and iPods when we're not at work.

  29. Do you ask questions where you're stuck?

    I've seen developers sit with their faces to the screen, isolating themselves from the team, trying to solve a problem on their own. If you're stuck on one bug for more than an hour, ask someone to help. No-one gets a medal for solving a problem on their own in 2 days, when it could've been solved by 2 people in a couple of hours.

  30. Do you give 120% when deadlines are tight?

    There are times when you can happily work your standard hours, but there are times when your whole team would appreciate some hard work. This should not be the standard, but extra work at certain times is a given in a professional industry.

  31. Do you go two miles when you're only asked to go one?

    This idea is different from the above rules in that it strikes at the heart of our everyday behavior, not just when a crisis is looming. The Lord Jesus said Leave Site "And whoever compels you to go one mile, go with him two.". While not everyone chooses to agree with everything He said and did, it's a valid point when it came to creating a positive team environment. If you're willing to help others above and beyond the call of duty a whole ream of benefits flow:

    • People begin to share responsibility for work that traditionally is claimed as "not my problem"
    • Others will return the favor when you really need it
    • The sense of work-place isolation disappears
    • Productivity lifts as tasks can be achieved quicker
  32. Do you enjoy your job?

    The expectation from me [Adam Cogan] is:

    • #1 is to put your heart into your job and enjoy yourself
    • Get your Employee Responsibilities done (scheduled recurring events)
    • Improve SSW to become a better place every week
    • Improve yourself to become a better person every week

    If you find yourself not enjoying your job this is not necessarily a bad thing. You should make a commitment to give it a go and try to make it work. When you have decided you are unhappy you should talk to your boss and figure out what is making you unhappy. The fact is that there are some jobs that you are not suited to. It is probably best for everyone that you start to think about moving on and trying something that may make you happier.

    The number 1 cause of stress in this industry is caused by impending budgets. The best way to handle this is to give realistic estimates, and imform the clients as soon as it looks like they will be exceeded. A client who has accepted the realities of his project is less scary than working on code that's already over-budget with an impending unknown client reaction.

  33. Do you only do what you think is right?

    If someone asks you to do something you believe is unethical please ring them up straight away and discuss the issue.

  34. Speaking - Do you use correct English at work?

    Communication and how you express yourself to your co-workers and clients is reflective of the company you work for. At SSW, we find it beneficial to practice correct English, as it displays our professionalism and courtesy. For example:

    "It's going good"
    Bad Example - using incorrect English
    "It's going well"
    Good Example - using correct English
  35. Speaking - Do you avoid swearing at work?

    Swearing is not acceptable at SSW. For those who work at SSW and do not follow this standard, we encourage them to do five push-ups or, alternatively, run outside and back. If nobody paid attention to our standard, people would get comfortable with bad language and the work environment would suffer.

  36. Do you always carry a thumb drive with you?

    Always carry your thumb drive with you - in your pocket, on your key chain or even around your neck. Thumb drives are particularly useful for storage of large files. A good team member will always have their thumb drive available at the drop of a hat.

    Thumb Drive
    Figure: Thumb drives are becoming increasingly popular in large corporations as well. Check out this Computer World article
  37. Quality - Do you make your templates accessible to everyone?

    A common mistake for anyone in an organization is to use code/emails that you have previously written, and stored somewhere on your computer, and change around key bits to make it relevant.

    The problem with this is that you make it impossible for anyone else in your organization to do the same task to the same quality level.

    Make sure your company has a common code base email template store and endeavor to improve it regularly. This shares knowledge across your organization and makes sure everyone is working to the level that your company standards require.

    For SSW, we have the SSW .NET Toolkit which showcases our rules and standards and uses our SSW.Framework. We also have a file location \\skunk\ssw\KB\CodeBase to store useful code snippets.

  38. Quality - Do you run SSW Code Auditor?

    Whenever you are writing code, you should always make sure it conforms to all of your company standards.

    No matter how good a coder you are, you will always miss some of them some of the time, so it's a really good idea to have a tool that automatically scans your code and reports on what you need to change in order to improve your code.

    SSW Code Auditor is such a tool and its proper application to your code can cut down on hours lost on testing and bug fixing later down the line.

    See Do you Add SSW Code Auditor, NUnit and Microsoft FxCop project files to your Solution?
    See Do you check your code by Code Auditor before check-in?
  39. Quality - Do you implement SSW error logger

    When building an application for a client, you should implement functionality which will notify you personally whenever it throws an exception and log the issue for review.

    There are a few reasons to do this:

    • It gives you a sense of ownership of the project
    • It makes finding out what's going wrong easier
    • You can keep a history so you can see if there are any recurring exceptions
    • You can ensure the long term quality of you application
    • You are not just washing your hands and leaving at the end of the release

    You will find that this will lead to more clients who are happy to use you into the future because they know that you care about their application.

  40. Quality - Do you only deploy after a test please?

    In order to ensure the quailty of the code you deploy, make sure you don't deploy until you have got your code fully tested.

    For more information on this, see Rules to Successful Projects.

  41. Quality - Do you get your most experienced co-worker to check your work?

    It never hurts to get the advice of your co-workers, and getting advice from someone who's been doing what you're doing for a while will always teach you something new and improve the quality of your work

    For development, as your application starts to develop into a usable entitiy, make sure you get your Chief Architect (or equivalent) to have a look at what you're doing and weigh in with their advice.

  42. Do you respond to blogs and usergroups with the standard footer?

    If you see something in a blog that interests you or that you disagree with, reply to it. You should not be afraid to voice your opinion and it's a great way to make a name for yourself and your company on the world wide web.

    Whenever anyone in your organization responds to a blog entry, forum, or usergroup, they should always use the standard company footer.

    This will help with branding, company recognition, and brings a sense of unity to everyone within your company when they see each other's entries.

  43. Do you know who are the most appropriate resources for a project?

    SSW has staff varying in experience and price.

    While all staff pass strict recruitment procedures including technical and communication assessments, all staff have different skill sets. For example, some have a broader level of knowledge and some are more proficient at project management.

    When determining which staff are appropriate for which projects you need to analyze the needs of the project. Some may not require management skills, for example if we are providing resources to another technical organization, while some projects may require only a narrow field of knowledge, e.g. writing stored procedures. For any major project a broad spectrum of individuals may be required which will utilize each level of SSW staff.

    SSW also has a great team of resources based out of our Beijing office which can contribute greatly to the coding requirements of the project.

  44. Do you create a report whenever you need a number from a system?

    Whenever you need a number from a system you should think of how you can create a report, so next time you can press a button to get the result.

    Ideally do the report in Excel and save it in a folder Eg. \\server\Reports_Adhoc.

    If you find yourself doing adhoc reports, or random SQL queries you should make sure the boss knows you could not find the data you needed.

    Eg. Email your boss to ask a number
    Figure: Sample Email -- Send an email to your boss for a number.
  45. Do you have a debrief after an initial meeting?

    There is always something we can learn from our interactions with clients.
    Initial meetings are a great opportunity to learn how we can fine tune our sales skills. Because there are always 2 SSW representatives in initial meetings with clients (usually an account manager and a developer) you should hold a debrief after the meeting on the way back to the office. Questions that you should ask each other are:

    1. Did I do or say anything wrong?
    2. Was I listening to the client or was I talking too much?
    3. Did I give the client my full attention?
    4. Is there anything I could have done better?
    5. Do you think I connected with the client?
    6. How can we improve our sales process from what we learned in this meeting?

    You should be as honest as possible with each other during the debrief but always use the sandwich rule.
    Any good ideas or suggested changes should be emailed to Adam.

  46. Do you offer to give their mobile when taking a call for someone?

    Imagine you get a call and they want to speak to Adam and he is at lunch or somewhere. What do you do?

    Sorry, Adam is at lunch. Please call later.
    Bad Example
    Mark Fonsca from 3000AD wants to reschedule the meeting he had booked with you for 9:30am this Wednesday (ANZAC day). Please call him on 0414 912 053.
    Good Example
  47. Do you check someone's calendar and then book the appointment?

    Imagine someone wants an appointment with a team member who has shared their calendar with you. Offer to look up the calendar and book in time straightaway.

    Try calling him.
    Bad Example
    Sure, I'll just look up Adam's calendar and see when he's free.
    Good Example
  48. Do you handle the start of a new work experience employee properly?


    There are a few things that should be done before a new work experience employee starts at SSW.

    1. Advise the Networking team so they can have a laptop ready if the employee doesn't have their own
    2. Send an email to everyone (in our case SSWSydneyAll) to let them know someone new is starting so they can introduce themselves when they see them.
  49. Do you know the recurring task you have and do you do them on time?

    Recurring tasks are the tasks that have been allocated to you to be done on a periodical basis. You may not have a specific task email in your inbox telling you to do this. However, these kinds of tasks are normally very important as they keep our system running. For example: We have Network Health report send to tell our Network Administrators that everything in our network is running ok, so it will be the network administrator's responsibility to check these reports daily to make sure all issues are fixed or escalated.

    Check your employee responsibilities and make sure you do all of your recurring tasks on time and efficiently. If there is any roadblock stopping you, you need to escalate the issue to your manager immediately.

  50. Do you know the ways to share and see others' calendars?

    There are 3 ways of sharing and seeing others' calendars.

    • Option 1: Shared Outlook Calendars
      Sharing your calendar or seeing others' calendars via Outlook
      Figure: In Outlook, click on "Share Calendar" so other people can see when you are busy or free
    • Option 2: Using SharePoint's calendars
      Sync calendar between Outlook and SharePoint
      Figure: SharePoint's 2010 Calendar list sees users who have chosen to sync their data. The user in Internet Explorer can see 4 free days
      Note: The disadvantage of the SharePoint calendar is every new employee that arrives (or those that leave), must share (or unshared) their calendars in their Outlook client.
    • Option 3: Using the CRM Service Calendar

      This will only show appointments that have been tracked in CRM, and so is a great way to keep track of important things like leave or client work.

  51. Do you set your work hours in your Calendars?

    You should always set your working hours in your outlook calendar so others knows when you are working, this will help us to do resource scheduling. This is especially important for people who are not working as full time, e.g. part-time, contractors etc.

    You can find this setting in File | Options | Calendar Options, it looks like below:

    Choose your working hours
    Figure: Outlook Calendar options for working hours settings

    Once you setup this, you will be able to see grey area in "Scheduling assistant" so you know what's the best time to book that person.

    You can see the working hours in Scheduling Assistant.
    Figure: Working hours will be shown in Scheduling Assistant

  52. Do you share your calendar with everyone?

    Being aware of other member's availability is very important in a team environment. Although you can send appointments to relevant people, the rest of the team doesn't know your status but they may want to book you to attend another important client meeting.

    We always follow option 1 in the following rule: Do you know the ways to share and see others'calendars? to share our calendar with everyone in the company.

    Share your calednar with SSWALL
    Figure: Share your Outlook Calendar with the whole team
  53. Do you allow full access to Calendar Admins?

    There are occasions that you are not able to access your computer to send sick emails, or you get a call from your client on the way to the office that you have to drive to client site straight away; when such things happen, you need someone else to update your calendar when you call in, so others are aware of your availabilities.

    So always make sure the admin people are able to access your calendar with full permission in order to add/edit/delete appointment for you.

    Note: Beijing Office employees also need to do the same to SSWBeijingAdmin.

    Click on Calendar Permissions
    Figure: Click on "Calendar Permissions"
    Set full access to admins
    Figure: Give admins full access to your calendar

    Once the permission is given, open other people's calendar is as easy as 2 steps:

    1. Go to the Calendar tab in outlook and click "open a Shared Calendar"
      Open a Shared Calendar
      Figure: Opening a shared calendar
    2. Choose the calendar you want to open in the pop up form:
      Choose the calendar you want to open
      Figure: Find the calendar you want
      Then you can have this shared calendar shown in your Outlook.
  54. Do you invite the calendar SSWAbsence when you are out of the office during any of your work hours?

    People take leave all the time, and it can be frustrating to find out that someone is not in the office after you've already sent an email to book them for a meeting.
    You should have a centralized system to check for everyone's availability.

    At SSW, we have the SSWAbsence calendar to track everyone's leave status. This requires people to send their leave request as an appointment to SSWAbsence.

    Since SSWAbsence is just a calendar, we also send leave requests to SSWAdmin, so the managers are always notified of what's going on, although normally these managers will delete the notification rather than add it to their own calendar by accepting it.

    Forward your leave request also to SSWAbsence
    Figure: Always forward your leave request to "SSWAbsence" and "SSWAdmin" so others know where you are
     Sad Dog
    Figure: Missing Uly while he is away
  55. Do you give enough notice for annual leave? (aka Flexibility vs Substantial Notice)

    For employees:
    Tell your managers and co-workers as soon as you know when you will be away. If you're planning to be away for any substantial amount of time (say 3 days or more), make sure you have told everyone who will need to know about 4 weeks in advance whenever possible. Most importantly, ensure that your clients are not left in a difficult position while you are gone.

    [Appointment to SSWAbsence and SSWAdmin]

    Hi Admin,
    I'm going to Brazil for 2 weeks on Monday... wish me luck :)
    Figure: Bad Example - not enough notice for substantial leave
    [Appointment to SSWAbsence and SSWAdmin]
    FYI (You can delete this since it will be shown on the SSWAbsence calendar)

    Hi Admin,
    I want to book a ticket to go to Brazil for 2 weeks.
    I'd like to leave in about 4 weeks.
    Please approve
    Figure: Good Example - appropriate notice given

    Generally,people who need to know include:

    1. Your managers
    2. Your current client
    3. Your close co-workers

    For employers:
    Give your employees a bit of flexibility for small leave periods (say 1-2 days). As an employer, you should allow these small periods of leave with little to no notice.
    This will remove the incentive for employees to lie and say they are sick when they need time off with short notice.

  56. Does your calendar always accurately show where you are?

    The follow steps will help you to setup your calendar to allow us track your current availabilities and improve our team collaboration.

    Step 1: Set your work hours in Outlook
    Read rule: Do you set your work hours in your Calendars?

    Step 2: Set your work hours in CRM
    Read rule: Do you set your work hours in CRM / Users?

    Step 3: Share your outlook calendar with everyone
    Read rule: Do you share your calendar with everyone?

    Step 4: Allow calendar admins to have full access to your calendar
    Read rule: Do you allow full access to Calendar Admins?

    Step 5: Send your leave appointments to SSWAbsence
    Read rule: Do you invite the calendar SSW Absence when you are out of the office during any of your work hours?

  57. Do you tell your boss what work you prefer but understand when you have to do less interesting stuff?

    Technical staffs often have a very clear idea of what kind of work they want to do. They might want to develop expertise in SharePoint, CRM or SQL Server. They should always keep their boss informed of what kind of work interests them and on which they want to focus. Managers often have many staff to keep in mind and unless you remind them they may well forget and give a hot opportunity to another staff member.

    You should also let your manager know what work you'd prefer NOT to do. This might be older technology, testing or niche areas. Despite the expression of your preferences to avoid particular types of work you should understand that your manager will sometimes unavoidably have to give you tasks in those areas.

    Tell the boss what work you prefer to do.
    Figure: Clearly tell your manager what work you prefer to do, but don't scream when you are asked to do other, less interesting work.
  58. Meetings - Do you always zoom in when using a projector?

    It is a common problem that people will tend to use the default screen resolution when displaying something on a projector for a room full of people to read. This is difficult for people to see because of the distances involved.
    It is always better to zoom in by holding down the CTRL button and scrolling up on the mouse.

    Zoom in email
    Figure: Zoom in email
  59. Do you have an USB adaptor in your car?

    Car manufacturers should get rid of the cigarette lighter, smokers use the usual portable lighters and everyone else uses them as a power source. So instead , why not just give us lots of USB ports to plug in our phone, iPod, camera and all the other gadgets we all seem to carry around these days!
    In the meantime, buy a 1000mA Car USB Adaptor (there are heaps of places you can buy one, and Google Search results will show you heaps of places to start)

    Note: Don't get the old 400mA adaptors (which supply enough power for the majority of USB devices) instead, get a more powerful one for items such as the 5G iPods and new mobile phones.

    Car USB Adaptor
    Figure: Have an USB adaptor in your car

Acknowledgments

Adam Cogan
Ulysses Maclaren


Benefit from our knowledge and experience!

SSW is the industry leader in Custom Software Development, Software Auditing & Developer Training.

Call us on +61 2 9953 3000 or email us for a free consultation

What does it cost? I’m not in Australia. Can you still help?