Imagination is our power

Archive for May, 2011

10 techniques for gathering requirements

#1: One-on-one interviews

The most common technique for gathering requirements is to sit down with the clients and ask them what they need. The discussion should be planned out ahead of time based on the type of requirements you’re looking for. There are many good ways to plan the interview, but generally you want to ask open-ended questions to get the interviewee to start talking and then ask probing questions to uncover requirements.


#2: Group interviews

Group interviews are similar to the one-on-one interview, except that more than one person is being interviewed — usually two to four. These interviews work well when everyone is at the same level or has the same role. Group interviews require more preparation and more formality to get the information you want from all the participants. You can uncover a richer set of requirements in a shorter period of time if you can keep the group focused.

#3: Facilitated sessions

In a facilitated session, you bring a larger group (five or more) together for a common purpose. In this case, you are trying to gather a set of common requirements from the group in a faster manner than if you were to interview each of them separately.


#4: Joint application development (JAD)

JAD sessions are similar to general facilitated sessions. However, the group typically stays in the session until the session objectives are completed. For a requirements JAD session, the participants stay in session until a complete set of requirements is documented and agreed to.


#5: Questionnaires

Questionnaires are much more informal, and they are good tools to gather requirements from stakeholders in remote locations or those who will have only minor input into the overall requirements. Questionnaires can also be used when you have to gather input from dozens, hundreds, or thousands of people.


#6: Prototyping

Prototyping is a relatively modern technique for gathering requirements. In this approach, you gather preliminary requirements that you use to build an initial version of the solution — a prototype. You show this to the client, who then gives you additional requirements. You change the application and cycle around with the client again. This repetitive process continues until the product meets the critical mass of business needs or for an agreed number of iterations.


#7: Use cases

Use cases are basically stories that describe how discrete processes work. The stories include people (actors) and describe how the solution works from a user perspective. Use cases may be easier for the users to articulate, although the use cases may need to be distilled later into the more specific detailed requirements.


#8: Following people around

This technique is especially helpful when gathering information on current processes. You may find, for instance, that some people have their work routine down to such a habit that they have a hard time explaining what they do or why. You may need to watch them perform their job before you can understand the entire picture. In some cases, you might also want to participate in the actual work process to get a hands-on feel for how the business function works today.


#9: Request for proposals (RFPs)

If you are a vendor, you may receive requirements through an RFP. This list of requirements is there for you to compare against your own capabilities to determine how close a match you are to the client’s needs.


#10: Brainstorming

On some projects, the requirements are not “uncovered” as much as they are “discovered.” In other words, the solution is brand new and needs to be created as a set of ideas that people can agree to. In this type of project, simple brainstorming may be the starting point. The appropriate subject matter experts get into a room and start creatively brainstorming what the solution might look like. After all the ideas are generated, the participants prioritize the ones they think are the best for this solution. The resulting consensus of best ideas is used for the initial requirements.

Don’t blindly solve a client’s perceived needs

Let’s say a client requests an internal cloud infrastructure to handle an application his organization is launching. You can set the client up with a private cloud to run the application on if that’s what he wants. If you do, you can forget about scalability and the savings the client might experience if he were to start off with a public cloud using, say, Amazon’s EC2 cloud offering to launch a product and then help him take it private later once demands levels off to a manageable level.

The better course of action is to solve the actual problem and not just the client’s perception about the immediate need. Therefore, you should never blindly accept a client’s word about the root of the problem and his pre-determined right solution; you need to dig deeper and talk to end users to ensure you uncover the real problem that needs solving. These are the four steps (to varying degrees depending the engagement) that I usually take to determine the client’s actual problem.

1: Document the client’s perceived need

During your initial client meeting and probably during at least one subsequent meeting, you’ll discuss the client’s perceived problem or need. You should take thorough notes, and then turn those notes into a formal document that you can have the client review and sign off on it, if possible. Now you have a document that says to your client, “This is what I heard you tell me about your need, and this is what you agreed to as your need.” Granted, this is still at the high-level requirements stage (it’s more of a draft statement of work), but it will serve to draw a line in the sand on the project.


2: Identify the related core business processes

Now you must do some investigative work about how the perceived need relates to the business processes around it. If the need is for a new accounting system, then you need to understand the business processes in the client’s accounting department and how the accounting department interacts and serves other areas of the organization. The client may think he needs an entirely new accounting system (which would be great for your bottom line), but the real need may just be additional reporting. The solution to the real problem would probably lead to repeat business because you saved the client unnecessary expenses.


3: Investigate how the end users are affected

Once you understand the related core business processes, you must then meet with the end users within the organization (and external to the organization, if applicable and possible). The key here is to get the end users’ perspective on how the current system or process is being used and what needs aren’t being met. This is a great time to get users’ wish list for the system or process because you might be able to address some of their requests now more cheaply than creating a separate project several months or a year down the road.


4: Document the real need and take it to the client

After completing the previous steps, you should have a much better handle on what the client really needs. If the real problem matches what the client originally told you, it’s great; if it doesn’t, then you have some details to work out with the client, especially if the true problem or need will be considerably more expensive to address than the perceived problem or need.

You should set up a meeting and have at least a draft estimate in hand for what you think it’s going to take to solve the need. Be sure to take all of your documentation from steps one, two, and three so that you can show the client the detailed processes you followed to get to this point. You need to be prepared to defend your findings and, ultimately, be ready to walk away from the project if the client is too stubborn to listen to your recommendations. You don’t want to implement a solution the client doesn’t need and then be blamed for it in the end.



Clients sometimes mistakenly focus on the short-term problem, and you must help them see the real issue in order to implement the right solution. By following the steps outlined in this post, you might be able to show clients that their perceived needs were actually symptoms of a larger or perhaps slightly different problem. I like to be optimistic and think clients want a consultant who is an expert and not just “a yes man.”

Effective Strategies for Winning Negotiations

Negotiation is a phenomenon that hasn’t been given due attention as a specialization. You might have heard of some very successful freelance negotiators who have mastered the art of coming out on top of any negotiation process. Corporations are happily paying huge sums of money for the services of expert negotiators.

Successful negotiators are not limited by trade; in fact, they have carved out a niche for themselves. Negotiation is a business with unlimited scope. Regardless of the nature of the industry—a legal company, a multinational corporation (MNC), a warehouse—the negotiator fits in perfectly because their job is basically to do the best they can in their client’s interest.



No judiciary or auditor will question the negotiator’s capabilities because, whatever the outcome of the negotiation process, it is considered by the clients to be the best possible for that scenario. Why? Because the negotiator is an expert in the business they have carved for themselves, and you’d better not question their capabilities.

I am a freelancer, and you probably are, too, and this whole negotiation phenomenon was too compelling to leave unexplored. I’m sure you’ll be on the same page as me as I take you on this journey.

Why Should Freelancers Be Good Negotiators?

instantShift - Effective Strategies for Winning Negotiations


Freelancers should be aware of and prepared for the negotiation process. You likely don’t realize how many times you’ve had to negotiate already: with new and old clients, at various stages of various projects. You might be required to negotiate at stages like these:

  • Winning a new client or project,
  • Defining the scope of a project,
  • Convincing a client of the quality of a finished project,
  • Getting a deadline extended,
  • Seeking a referral or signing a promotional deal with a client in exchange for a token discount,
  • Deciding on contract terms and fees for a project,
  • Receiving payment quickly and according to the agreement.

That’s probably not all. Many freelancers are over-burdened and seek to outsource work to others; that again requires some negotiating if both parties are to settle on win-win terms. So, if you want to make sure that your business heads in the right direction (i.e. in line with your objectives), become a good negotiator.

I for one am not willing to hire a professional negotiator, because I don’t want to pay them out of my own pocket. I strongly believe that if you are well prepared, then you are the best person to negotiate favorable terms and conditions.


Negotiate to Win-Win

instantShift - Effective Strategies for Winning Negotiations


Most freelancers would agree: we have to be involved in negotiations more frequently than any other type of professional. It feels like a steep demand sometimes, dealing with many types of clients from all over the globe.

Negotiation is a two-way street; both parties intend to agree on terms that are mutually beneficial, and the outcome should ensure a productive business relationship. A negotiation in which the outcome favors one party is bound to cause distress and resentment in future and can damage the business relationship.

Consider this. What happens to a deal in which a client successfully gets a contract signed according to their wishes by coercing a freelance designer or persuading them to accept a deal that offers no real profit? The freelancer will feel cheated and will deliver poor-quality work. Who is the winner in this situation? No one.


How to Approach a Negotiation

  • 1. Be aware of the ideal scenario. Write down the most desirable outcome: a deal that you perceive to be in your favor upon considering various aspects, including timeline, pricing, scope of work and so on.
  • 2. Be aware of the worst-case scenario. List the worst numbers you can think of in terms of timeline, payment, project scope, etc. Graciously decline the project if the terms prove to be less than you can live with.
  • 3. The most important part of preparing yourself mentally for a negotiation is to write down all of your alternative options for work, in case the opportunity at hand doesn’t work out. Keep your emotions at bay, especially if you feel you’re losing out, and look ahead to see what awaits you.


The Art of Negotiation

instantShift - Effective Strategies for Winning Negotiations


Apparently, freelancers tend not to prepare for negotiations. And when a proposal is not in their favor, they are prone to getting emotional. Avoid this: remember, it is business, not personal. Get into the right frame of mind, and stay aware of the possible outcomes, and you’ll be in a position to graciously and professionally approach a negotiation.

Identify the goals

Before you negotiate, identify your goals and the expected outcomes. When you know exactly what you want, you are less likely to go off track in the heat of the moment.

Be gracious

Get your poker face on. You don’t want to look confused at any point during a negotiation. Maintain a graceful posture, and be respectful of the other party. After all, you’re aiming for a long-term relationship.

Do your homework

Go to the negotiation table well prepared. Do your homework; learn relevant facts and figures. It will help you influence the client and convey that you are thoroughly professional and pay due attention to every detail.

Be persistent

Do not let the thought of losing out on a deal make you timid. Be flexible and willing to compromise. There might even be a situation in which you don’t fit the bill. But don’t get shattered. Stay calm and try to make counter offers. For instance, let the client know that you are willing to lower your fee for an longer deadline; you might just win them over.

Be attentive

Be as attentive and alert as possible during your meetings and conversations with clients. Note everything you observe about the client, personal or professional. This will help you identify their style of work, project requirements and time and budgetary constraints.

Draft two-way commitments

Getting commitments set in black and white is vital. If you don’t do this, disagreements could arise later that could embarrass you or the client. Nothing is worse than thinking you’ve got a deal, and then realizing you’ve misinterpreted the client’s understanding. A written agreement gets you on the same page and goes a long way to helping you win negotiations at any stage of a business relationship.

Never undersell yourself

I feel for those who are just starting out. And I know that freelancers get lured into all kinds of projects because they don’t want to lose out on any opportunity; opportunities carry great weight early in a career. Having been there and done that, take my advice: promise yourself not to let yourself be undersold, no matter what. Come prepared to negotiations, especially when dealing with prospective clients whose reputations for under-offering precede them.

Be authoritative, but know your boundaries

So many movies come to mind in which the hero walks into a conference, dominates the entire proceeding with one crisp speech, and then takes all the business from the seasoned veterans. Well, it’s a fantasy; stay away from wishful thinking. Be sure of yourself and your capabilities. There is a thin line between confidence and arrogance.


Details to Negotiate

instantShift - Effective Strategies for Winning Negotiations


So far, we’ve covered the importance of negotiation, the necessary traits and preparation. Now, we come to the business end of the phenomenon. There are things you must do when negotiating a deal.

Work out your numbers, and keep these things in mind:

  • Regular expenses (household expenses, monthly bills, business investments, etc.);
  • Professional worth (your skills measured against the industry standard);
  • How much are clients willing to pay for your services?

Put your ego aside. It can keep you from negotiating reasonably.

  • 1. Don’t lead the negotiation. This is one situation where not initiating is better. Play dumb, and you’ll be given options that put you in a position of power.
  • 2. I assume you’ve done your homework. Be alert, and try to sniff out what they want, why they are negotiating and what their priorities are. Price might not be their primary concern. You never know!
  • 3. Look at the broader picture, not just the dollar amount. Is the client worthy of a long-term business relationship? Perhaps you could offer a discount to begin. A token discount of, say, 5% could really get you rolling.
  • 4. Being unaware of your own worth is bad, but hiding your worth from a client is even worse. Tell them in abstract terms how good you are in your trade. Show them prior work that has attracted strong testimonials.
  • 5. Having evaluated all of this, decide on a rate to charge. Don’t just quote any number. Quoting is an art in itself. Break down the charges, and let them know exactly what they will be paying for at various stages of the project.
  • 6. You might be able to win the deal without compromising on your rate. But if the client wants to pay less despite all your effort, so be it; propose a longer timeline for the project. A longer timeline is the equivalent of more money.
  • 7. The client is the boss. Don’t at any stage hurt their feelings. Don’t think of negotiation as a competition; keep a smile on your face all the time. Be pleasant and graceful throughout the process, and your integrity and demeanor could make a difference.



I feel that, for sheer practicality, this is one of the most important articles I have ever written. Freelancers have to negotiate more often than they might think, so why not learn to do it right? Please leave your responses and comments below.

Building Credibility with Responsive Website Design

Website traffic is the key component to building any strong community. As web designers we often forget about the user experience and focus on pretty graphics and pixel icons. However without users our websites would turn into bits of redundant data held on servers across the world.

When building a credible website you must garner each user’s trust and reliability. When undergoing the design process spend some time considering which slices in your layout will be accessed the most. How will users jump from page to page, and how difficult is processing information? If you can indulge a satisfactory answer for these questions you’re on a great path for building responsive websites.

I’ve added a few ideologies below which should get you thinking about website credibility. User Interface design is an entire topic of itself and has grown to enormous proportions in the recent years. Although trends have been changing the end result is always quick access with no-nonsense web browsing.

Gain Your Visitors’ Trust

This should be a no-brainer for any conscious web designer. When you visit a website and are presented with 2 popups and ad space everywhere, you probably aren’t going to input your credit card number anywhere. There are small ticks which give off the impression of a distrustful website, and blatant advertisements is a big one.

This isn’t to imply that advertising holds no importance. In fact it’s the main cash cow for all Internet enthusiasts and webmasters alike. But there is a balance between usability and revenue sharing. On a similar token your visitors will not feel very trusting if you block their path throughout pages.

Examples include websites with jQuery lightboxes and hover effects over drop-down menus which hide page context. Most visitors will not care to signup for your newsletter every time they see your popup displayed. A small registration box in the sidebar is more than enough to capitalize with your target audience while at the same time demonstrating trust.

Browser Incompatibilities

It’s not so uncommon for websites to behave differently in the many browsers available. Back 10 years ago it was almost impossible for a standards-compliant website to fit the same build on every browser, and this goes double for Internet Explorer.

In today’s modern web we have seen a tremendous amount of growth and maturity with browsers. It seems Google Chrome and Firefox have been leading the way with Microsoft’s Internet Explorer 9 finally succumbing to the bandwagon effect. There are still many bugs to be re-written in browsing software so it’s important to gauge your analytics data and apply bug fixes accordingly. You may be pleasantly surprised with how much traffic actually uses more modern-day browsers such as Firefox or Opera.

As browsers become more unpredictable it is difficult to not only render HTML pages, but additional JavaScript effects can produce heavy webpage distortion. With jQuery’s deep library and community advancement we are seeing growth in this arena like never before. If you know professional web developers in the field consult their opinion before constructing your design’s frontend system.

Fragmentation of Page Content

Most of the web traffic moving around today is brought through Google searches. We live in a time period where Google is our wisdom keeper and controls all the information we could ever imagine. For this reason it’s very important to keep related information on the same page throughout your websites.

Visitors will be expecting to jump around and search page content for what they’re looking for. The current generation of Internet users are much less patient waiting for results. Possibly the most important aspect of a responsive website is to provide anthropological reasoning into your content hierarchy. Look at your website as a human-constructed tool instead of a technological invention.

Consider your links and paragraphs as the main information streams. Visitors won’t always read everything in-page and tend to skip around for key words. This is important to recognize as once you can grasp content layout it’s easy as pie to build future websites, both client and personal works.

Link hover states also affect your visitor’s psyche. This plays a big role in page fragmentation as visitors are looking for quick responses to hover states. Make sure your hyperlinks stand out from the rest of your page content. This makes scanning content a breeze and saves loads of time on the backs of your visitors.

Relative Flexibility with Media

In-page text isn’t the only way to transmit information. With the constant growth in our web 2.0 era videos and imagery are seen as quicker medium to understanding concepts. YouTube has exploded since originally launching in early 2005. This is not by accident and goes to show just how powerful video content can be.

However a responsive website should be able to handle any form of traffic. This even includes mobile visitors from iOS and Android powered devices, let alone the many tablets on the market today. CSS3 media queries are powerful tools for manipulating your site layout based upon the browsing engine.

If you’d like to remove images for all mobile browsers this can be done with just a few bits of code. You even have the option of switching between CSS3 or jQuery techniques. We’ve outlined possible code examples and many more ideas in previous articles.


It’s tempting to build up a unique and brilliant layout full of vector art. As designers and illustrators we strive for the highest level of completion with our artistic talents. However it’s not always plausible to inflict these types of design on every project.

The purpose of responsive website design is to quickly offer solutions to whatever a user may need. The response time should be faster than lightspeed, meanwhile gently guiding your visitors throughout pages and sub-pages. The ultimate goal is perfect user experience within a broad range of website browsers.

The many challenges facing UX experts today comes with perfecting interfaces inside websites. If you’re looking for tips on user-sensitive layouts we’ve written on many techniques. Complexity is increasing within each launch and it’s important to keep yourself objective in all project works. If you have similar ideas for responsive designs please offer them in the discussions below.

Resume tips for experienced IT pros

You’re an experienced IT professional. You’ve been around the block and done it all. You think your resume is packed full with great stuff because years ago, you read all the articles on how to build the perfect resume and you’ve been following most of that advice ever since. Any employer should take one look at your resume and hire you on the spot, right?

That’s what I used to think too. I’m not a resume expert, but I thought I had a killer resume. Then, three potential clients in three month’s time nixed me because they thought I was “light” in areas where I was actually a specialist.

If that isn’t a wake-up call, I don’t know what is. So I called a close friend of mine, who is an IT manager at a large company. He knows my abilities, he’s an IT geek at heart, and he’s seen a ton of resumes. He looked at my resume and said, “Yep, I’d have thrown it right in the trash.” I called a couple more friends in similar positions. “It could use some improvement,” one of them told me. Ouch. At least they were honest. Basically, I had a resume that would sell me as an administrator or engineer, but not as an architect or consultant, which was the type of work I was looking for.

I began gathering comments and suggestions from these guys and completely rebuilt my resume from scratch. What I learned in this process is that building a resume for experienced IT professionals who want to land higher-level IT jobs is quite different from building the average resume to land entry-level administrator jobs.

I am going to share eight resume tips that sum up what I have learned.

Resume pointers

Most of the standard rules for building a resume still apply: Make sure you have a readable format, proofread for spelling and grammar errors, keep it simple, etc. However, experienced IT pros need to follow some more specialized guidelines. A few of these tips may actually contradict your previous notions of what to include (and exclude) on your resume. They certainly contradicted mine.

  • Keep your list of “core skills” short and sweet. When you’ve worked with a lot of different technologies, you want to show the world all you’ve done. However, having a long list of core skills actually gives the impression that you know only a little bit about most of those things and that you’re a generalist, not the specialist that the potential client/employer needs. Keep this list to a handful of key skills or possibly eliminate the list altogether.
  • Don’t list certification exams. At the very least, minimize the impact of this list. The average IT pro might want to list exams passed to build up a resume, but for the IT veteran, this actually marginalizes real-world experience and accomplishments.
  • Quantify projects and results. For example, if you do an Active Directory implementation, specify how many sites, domains, and servers were involved. If you design an e-commerce system, specify the increased percentage of sales that resulted from the project. Tell the potential client/employer exactly how you helped a previous company that you worked for.
  • Bullets, bullets, bullets. Don’t use paragraph style writing to describe your projects, tasks, and duties. Bullet-point every major accomplishment or project and leave out the minor things. (Your resume is already going to be too big anyway.)
  • Include examples of work, if possible. For instance, maybe you’ve written articles for an online magazine, or perhaps you built an e-commerce site. Include links to pertinent examples so potential clients/employers can see firsthand what you do.
  • Highlight major accomplishments. If you’re a high-tech consultant, you may have a lot of smaller projects and clients. Maybe you were hired as a “grunt” for a couple of short-term assignments but had a major project last year. You can’t exclude the small stuff, or potential clients/employers will question what you’ve been doing. But you can minimize the impact by focusing attention on the bigger things. Some ways of doing this include using a slightly larger font, boldface, or italics, or even drawing a thin border around the major accomplishments. But don’t go overboard-subtlety is still key.
  • Seek advice from actual managers. Recruiters, agents, brokers, and human resource personnel are all different from managers. Managers want to see results, and they usually know how to spot a weak candidate. If managers think your resume reflects someone who can’t do the job, you’ll never get anywhere. Run your resume by some managers you know and have them critique it for you.
  • Know when to stop. If you list all your experience from all the jobs, contracts, or projects you’ve handled, your resume will be more like a book. Find a place to stop listing your experience. If you feel you must at least acknowledge previous experience, try making a separate section and just bullet-point where you worked and what your title/function was. Of course, you’ll usually want to do this only for the less-accomplished jobs that you don’t want to highlight on your resume.

10+ e-mail best practices to share with your users

These days, e-mail is used by just about everyone. Unfortunately,a lot of users out there don’t use it right,flirting with security risks, consuming excessive bandwidth, and practicing lousyetiquette. Here are some basic e-mail usage guidelines to help your usershandle their e-mail responsibly and to safeguard your orgizanization.

#1: Prevent virus outbreaks and spam

Viruses are often spread through e-mail. You can greatly reduce thespread of e-mail viruses by using antivirus software, using only e-mailservices that offer automatic antivirus protection (such as AOL, Google,Hotmail, and Yahoo), opening e-mail only from trusted sources, opening onlyattachments you’re expecting, and scanning attached files with antivirussoftware before opening them.

Spam is looselydefined as unsolicited bulk e-mail and loosely correlates to the junk mail thatturns up in your home mailbox. But spam represents more than unwanted clutter.It clogs e-mail accounts–and networks and servers–while trying to sellproducts, spread jokes, or propagate Internet hoaxes.

Reduce the amount of spam you receive by being cautiouswhere you post your e-mail address. Avoid publishing your e-mail address on Websites or submitting it to every site or organization that requests it.

Never forward chain messages, which often reveal coworkers’and colleagues’ e-mail addresses to other parties. Use caution when acceptinge-mail offers or agreeing to accept mailings from vendors; subscribe only toWeb sites and newsletters you really need and consider creating a genericHotmail or Yahoo e-mail account for these subscriptions.

Don’t open unsolicited e-mail. If you accidentally openspam, don’t click links offering to unsubscribe or remove you from the mailinglist unless the sender is a trusted vendor.

#2: Avoid phishing attacks

Phishing scams are designed tosteal consumers’ personal information. They often use doctored and fraudulente-mail messages to trick recipients into divulging private information, such ascredit card numbers, account usernames, passwords, and even social securitynumbers.

Online banking and e-commerce are generally safe, but youshould always be careful about divulging personal and corporate informationover the Internet. Phishing messages often boast real logos and appear to havecome from the actual organization, but those messages are frequently nothingmore than copyright infringements and faked addresses. If you suspect a messagepossesses any credibility, you are much safer calling the company directly–preferablyat a telephone number printed on a paper statement or invoice–and talking to anauthorized representative.

#3: Manage your Inbox

Sort messages by priority, subject,date, sender, and other options to help find important e-mail that requiresyour attention. Proper e-mail etiquette dictates that you respond to all e-mailin a timely fashion. Generally speaking, you should respond to all professionale-mail within a business day, even if it’s just to say you’ve received themessage and will look into the matter. Occasionally, you may receive an e-mailthread that contains responses from several people; always read the entirethread before responding.

#4: Compose professional messages

It’s easy to convey the impressionthat you’re unprofessional or careless if you don’t follow some basicprinciples of good business writing. Make sure you follow proper grammar andsentence structure when composing and responding to messages and use a spellchecker. Don’t type in all capital letters–it creates the effect of shouting. Breakyour message into paragraphs for logic and readability.

Before clicking the Send button, giveit a final once-over. Reread the entire e-mail, checking it for grammaticalerrors, punctuation mistakes, and typos. You’ll be amazed at what you catch. Alsomake sure your tone is appropriate for the message.

#5: Write effective subject lines

Writing subject lines can betricky, but you should always include one. The goal is to summarize the messagewithout being too wordy or too vague. Long subjects tend to be skimmed orignored, and they don’t always fully display in e-mail viewers. For bestreadability, use sentence case for subject lines rather than all caps:

Agenda for meeting on3/29/07



#6: Properly use CC and BCC

The carbon copy (CC) and blindcarbon copy (BCC) features found in most e-mail clients allow you to sendcopies of an e-mail to others you need to keep informed but who aren’tnecessarily the primary recipients.

When copying others, be certain the e-mail message pertainsto them. If you use e-mail address lists, verify that all of the members of thelist should receive the e-mail, too, and remove those who don’t need to beincluded. And use the BCC feature sparingly. If sensitive topics require BCCingothers, it may be best to take the matter offline and discuss it in person.

#7: Obey etiquette rules when forwarding messages

Before you forward an e-mail, makesure that all recipients need to receive the message. In addition, be carefulwhen forwarding sensitive or confidential information. Never forwardproprietary information to external audiences or to unauthorized recipients.Before clicking the Send button, review whether a message’s contents areappropriate for each listed recipient.

#8: Don’t be a party to a flame war

Flame wars are heated e-mailexchanges that are more emotional than reasoned, and they have no place inprofessional communications. If you receive a flame or suddenly find yourselfin a flame war, take a little time before responding, if you respondat all. Think about the situation and reply rationally not emotionally.

You may also decide not to reply but to deal with the issuein person. Often, flame wars are started because of a simple misunderstanding.An ill-phrased comment (or even a well phrased one) can be misconstrued by arecipient, who then fires off a salvo in response. Instead of replying, go talkto the person and discuss the message. If talking with the person doesn’t endthe problem, involve a manager for assistance in resolving the issue offline.

#9: Protect e-mail addresses

Don’t divulge your coworkers’e-mail addresses to vendors, friends, or others outside the organization.Verify that recipients listed in the To and CC fields should be receivingmessages and that you won’t be revealing others’ e-mail addresses in theprocess. Don’t post your or coworkers’ e-mail addresses on Internet forums orbulletin boards, on Usenet groups, in chat rooms, or in other public areas.

Here are a couple of simple ways to help keep others’ e-mailaddresses private. First, use the BCC feature when you need to hide theire-mail addresses from external audiences. Second, delete their addresses frommessages you forward. It takes only a few moments and will reduce the chancesof coworkers’ e-mail addresses proliferating in the wild.

#10: Be smart about handling attachments

E-mail attachments consumeinordinate amounts of e-mail server space and network bandwidth and are oftenthe culprits behind virus outbreaks–but they’re often the easiest way totransfer files. Just be sure to follow these guidelines when e-mailing attachments:

  • Don’t attach large files to an e-mail; anythingover one or two megabytes shouldn’t be sent via e-mail.
  • Limit the number of files you attach to amessage to five or fewer.
  • Save attachments to your hard drive and thendelete the e-mail message containing the attachment.
  • Don’t open unexpected attachments or those sentby unknown parties.
  • Always scan files with an antivirus programbefore opening an attachment. Never click an attachment without firstconfirming that it’s virus-free.
  • Don’t annoy recipients by forwarding attachmentsthey can’t access. If an attachment requires a new or less-common application,say so in your message.

#11: Don’t include sensitive or potentially embarrassing information

Don’t make the mistake of thinkingyour e-mails are private. They’re not. Think of them as postcards. You shouldnever include any information in an e-mail that you wouldn’t want published onthe front page of your local newspaper. In other words, never sendconfidential, proprietary, sensitive, personal, or classified informationthrough e-mail. You should also refrain from making inflammatory, emotionallycharged comments in e-mail.

#12: Know when to use e-mail (and when not to)

Businesses provide e-mail forprofessional, business-related use, not for jokes, gossip, or chain e-mails.Also remember that you shouldn’t send an e-mail to do a conversation’s work.Complicated subjects are often difficult to explain face to face, much less inan e-mail. Instead of firing off a complicated explanation via e-mail, set up ashort meeting to address the issue in person.

E-mail is also a poor stand-in for conversation whenconducting critical, difficult, and/or unpleasant discussions, such as issuesrelated to human resources matters. Touchy communications are best handled inperson.

10 things you should know about open source before you use it

1: It’s not just for Linux

This is probably where most users get tripped up. When open source is brought up in a conversation, talk inevitably (and almost always initially) turns to Linux. This causes the public to assume open source is only for Linux. Not so. There are plenty of open source projects that are either cross-platform or Windows-only. This site lists a variety of Windows open source software. But that site doesn’t include the listing of big-time players, like Apache, MySQL, and Drupal.

2: It’s not always free

To be considered open source, the source code needs be freely available. This does not mean the application itself must be free. There are actually a lot of companies making money from their open source projects. In many cases, the price tends to be attached for things like support or added features, but companies tend to make a “community” version of their product, which is free. When a company sells a community version, it’s usually a stripped-down, bare-bones version of the commercial (but still open source) product. A great example of this is Zimbra, a powerful email and collaboration tool that offers a free, open source edition and editions that have price tags (as well as more features and less access to source.)

3: It may or may not have support

Some open source software offers support options (sometimes with an associated cost) and some don’t. This is often a deal-breaker for larger companies. But even though a piece of open source software doesn’t have a corporate-friendly 24/7 support hotline to call, that doesn’t mean there is no support. Sometimes, there are forums and /or mailing lists for support. In other cases, the developers who created (or work with) the software can be contacted. Support options are certainly available — even if that support might not be compatible with the corporate train of thought.

4: You have full access to the source code

Although this generally doesn’t apply to the average user, I do like to bring it up to make sure possible users are aware of both ends of the spectrum. Open source does, in fact, mean you have full access to the source code of a program. That does not mean you need access to the source. This is a myth that has been around for a long, long time. Just because the source is out there and available doesn’t mean it’s necessary. In fact, users can go their entire life using open source software and never have to touch the source. But should you (or your company) want to make some modifications to an application, the code is there when you need it.

5: Open source is not just for programmers

A lot of the public seem to think that because of the nature of open source, only programmers use it. Is that because the source code is available? Does the availability of code mean that only those who know how to read, edit, and rebuild that code can and should use it? Not at all. Anyone can use open source software (from both a usage and legal standpoint) with or without the skills to modify and rebuild the software. It’s a safe bet that the majority of open source users do not have a single programming language in their skill set.

6: You aren’t breaking any laws by adopting open source

Thanks to SCO, people used to think open source adoption might be illegal. But fortunately, all that changed when the SCO case was tossed out. The use of open source software does not break any intellectual property laws. Nary a single case has proved that open source has infringed on other, proprietary work. So it’s safe to say that if you are using open source, you are not considered a rebel who is breakin’ the law.

7: You don’t have to be an expert to use it

This relates to the previous entries. Repeat after me: I do not have to be an expert computer user to use open source software. I still hear that old question, “Do you have to write your own drivers to use that?” The answer has been, for a long time, no. Many people still believe that open source software is for uber-geeks who can compile software in their sleep. Not so. In fact, with most open source projects, there’s no need to install from source now. Most platforms have binary installers that make adding open source software to your PC as easy as installing proprietary software. In some cases, it’s even easier. And using most open source software is the same. Open source, like all things computer, has evolved in direct opposition to that of the average computer user. As the intelligence of the average computer user drops, the ease of use of open source software increases.

8: Most open source software is as reliable as its proprietary counterpart

Open source software is everywhere. It’s available on, in the Android Market, in every Linux distribution’s Add/Remove Software utility, from Web sites across the globe… you name it. If you can do a Google search, you can find it. There are dedicated sites for open source software on specific platforms, and even Microsoft has a dedicated open source site. Open source has come a long way from its earlier roots, where locating the counterpart to a proprietary piece of software was like finding the proverbial needle in a haystack. Now that haystack has grown small and the needle very large.

9: Freeware and shareware are not the same as open source

Most users are familiar with freeware and shareware. Those two types of software are not the same as open source. If the source code to the software is not made available, that piece of software is definitely not open source.

10: You’re probably already using it

Are you using the Firefox browser? If so, you are already using open source software. In fact, a lot of people use open source without knowing it. OpenOffice, Thunderbird, Pidgin, Drupal, WordPress, GnuCash, Notepad++, and many more products enjoy widespread usage. And that doesn’t even account for the snippets of open source code that find their way into proprietary software.

A growing trend

Open source software no longer has the stigma attached to it that it once had. Many open source apps are now seen as either equal to or superior to their proprietary counterparts. I would expect this trend to continue, especially as more and more users move away from the traditional desktop and to cloud-based or virtualized solutions.

If you’re considering the migration from closed to open source software, there are things you should know, but very little you have to know. Armed with the right information, your migration to open source software can be painless and worry free.