2011, May

How to Draft a Software Development Agreement - A 12-Point Checklist
(0) How to Draft a Software Development Agreement - A 12-Point Checklist

Are you a software developer? More to the point, are you a software developer who wants to draft up a standard form of contract yourself, instead of having a lawyer do it? This checklist can help you cover the bases, but remember that it's always advisable to have a lawyer review your final form of agreement before anyone signs it, to make sure everyone's interests are addressed (it saves on litigation costs later).

Let's look at each of the sections that should be included in a standard-form Software Development Agreement, and the issues that should be addressed to protect your interests and those of your clients.

1.  Parties

Every contract should begin with the names, addresses and contact information of the parties. If any party is a corporate entity, the jurisdiction in which it was incorporated should be included as well.

2.  Full Description of the Software and the Development Process

All of these items should be addressed. They can be briefly described in the main body of the Development Agreement, with the detailed specifics attached as a schedule or appendix.

  • Specifications of the software being developed.
  • Definition of milestones and criteria for the start and end of each phase of development.
  • Timetable for deliverables.
  • Progress reports, including: milestones achieved, problems encountered, potential future problems, any changes to functionality, time schedule or milestones.
  • Testing specifications and criteria for passing each test.
  • Standards and procedures to be applied.
  • Customer's right to conduct quality audits and to witness the developer's testing of the software.
  • Installation, support and training that will be provided by developer.
  • Developer's obligation to deliver the software and documentation in accordance with the specifications.
  • Customer's obligation to supply hardware, software, support, personnel.
  • Provisions describing the process for customer's acceptance of the software and documentation.

3.  Background Technology

Any background technology (e.g. existing code and applications that will be utilized in the development of the software) must be described in sufficient detail, and the ownership of that background technology established - whether it is owned by the customer or the developer.

4.  Definition of 'Proprietary Information'

Each party will be providing such things as business data, source code, and other types of confidential information. The term 'proprietary information' should be defined, as it applies to both the developer and customer.

5.  Ownership of Software and Documentation

  • Who owns the software and documentation (taking into consideration ownership of the background technology)?
  • What are the rights of each party are with respect to licensing and sublicensing the software?
  • The developer should assign its intellectual property rights in the software to the customer.
  • It is also important to set out any restrictions on the use of the software (if applicable).

6.  Payments

The section of the Agreement that deals with payment of the development fee should deal with more than just how much and when payments are to be made. All of the following should be addressed:

  • Payment schedule should be based on accomplishment of development milestones.
  • Amount of development fees, and allowable expenses, including any maximum amount.
  • Do expenses over a certain amount require customer's prior written approval?
  • Do the development fees include applicable taxes?
  • Developer's invoicing schedule and due dates for payment of invoices.
  • Process for customer's acceptance of development milestones.
  • Customer's right to buy out of the contract in the event of early termination.

7.  Termination

  • Provisions for termination by either party, and for what reasons.
  • Notice period and form of notice, which should include the reasons for termination and the effective date of termination.
  • Survival of terms (such as confidentiality), licenses, and sub-licenses after termination. Which provisions will survive (continue to be binding after termination), and for how long?

8. Training

  • What types of training services will be provided by developer?
  • Where will the training take place?
  • How long will training sessions take place, and how many participants will be accommodated?
  • What sort of training materials will be provided? Who provides them?
  • Is there a separate fee for training, or is it included in the development fees?

9.  Modifications to Software

  • Spell out the customer's rights to modify the software, and to acquire any modifications by the developer.
  • Who owns the modifications?
  • Are there additional fees?

10.  Errors and Defects

  • The customer should have sufficient time to use the software to detect any errors or defects in the software. This section should set a reasonable notice period, such as 90 days, during which the customer should notify the developer in writing of any errors or defects.
  • The developer has an obligation to correct the problems, provided that the errors or defects did not come about by misuse on the part of the user.
  • The parties must also agree on a fair and reasonable arrangement as to any additional fees for work required to fix errors and defects.

11.  Warranties

The developer's warranties to the customer should include:

  • Performance of the software.
  • Customer's right to use software and documentation.
  • Ownership of the software, and developer's ownership of any background technology used in the development.
  • Indemnification of the customer against third party infringement claims and damages.
  • Survival of warranties after termination or expiration of the contract.

The customer should also provide a warranty of ownership if any of the customer's background technology was used in the development, and should indemnify the developer against claims and damages in that regard.

12.  Standard Clauses

There are certain boilerplate clauses that are included (in whole or in part) in all legal agreements:

  • Procedure for giving notice by one party to the other party. It should always be in writing, and can be delivered personally, by mail (whether regular or registered/certified), by fax, or any of these.
  • Governing law clause.
  • Headings not to be construed as part of the agreement.
  • Force majeure provisions.
  • Severability of clauses, in the event that certain provisions are deemed invalid.
  • No amendments unless agreed to by all parties.
  • Schedules and attachments to form part of the agreement.
  • Entire agreement, i.e. no other agreement exists between the parties with respect to the software development.
  • Non-merger (survival) clause setting out which provisions will survive termination.

To get you started, you can find template software licensing and development contracts at MegaDox.com. These are fully editable templates which are easily customized to include all the details of your client transactions.

Image by StockSnap from Pixabay

Is Customer Service Dead?
(0) Is Customer Service Dead?

To answer my own question, not dead yet (nod to Monty Python). But it's definitely ailing. It seems like most of the service sectors could use a refresher course in courtesy. Remember back in the day when you would pull into a service station (keyword "service"), and a smiling attendant would come out, pump your gas, check your oil and even wash your windows? And when you paid for the gas, you might even get a free air freshener for your car! (If you're under 30, all of this will sound like some Pleasantville fantasy.) Today you drive up to the self-serve gas bar, pump your own gas, clean your own windows (if you can find a squeegee), check your oil (or decide to skip it because you'll get your hands dirty and you're on your way to work), and pay by credit or debit card at the pump because they don't take cash (too risky - might get robbed). Faster? Decidedly. More enjoyable? Get real. Smiling? Not.

We all realize that we save money by doing it ourselves - whether it's pumping gas or bagging our groceries. Nobody is against saving money if it means skipping a few little amenities. But the whole concept of "Service" seems to have gone out the window along with those little amenities. And as a side effect of convenience, we're robbing millions of high school kids of potential after-school jobs at the gas station or the grocery store. So whatever cash we save on gas and groceries, we end up having to pay out for our kids' gas and cell phone bills.

Seriously, though, the term "customer service" is made up of two words that naturally go together. Customer Service is defined as "an organization's ability to supply their customers' wants and needs." The definition of a customer is someone who purchases goods or services (that word again). Whether we do business in a brick and mortar building, online, or a combination of both, when we serve a customer we are promoting our brand. The way in which we serve that customer will shape how they perceive our business and will determine not just whether or not the customer will return, but also what they will have to say about us to family, friends and colleagues.

Every businessperson knows that a business survives solely on the goodwill of its customers. No matter how deep the pockets of your investors are, no matter how flashy and cool and sexy your products are - if your customers leave your store feeling unsatisfied or unhappy, your business is doomed. Bad  word-of-mouth gets around pretty quickly these days via Twitter, Youtube, Facebook and customer complaint and review websites. This morning's bad customer experience can become this afternoon's trending topic on Twitter. Your marketing fail could soon be plastered all over the Internet for all to see, and your brand can be dragged through the virtual mud. For a business that relies on local visitors - such as a restaurant -  this is the kiss of doom. You now will have to look at spending a lot of time, effort and cash cleaning up the PR mess and hoping people will forgive and forget. Or you could just take steps to avoid it in the first place

Let's go back to that definition of customer service and the part about "supplying a customer's wants and needs." How can we know what they want and need? Well, you can get a clue as to what they NEED by the fact that they've come to your shop or your website. If you sell cars, chances are they're not shopping for window blinds. So you have your first clue - now you narrow the field by asking them what they're looking for, then leading them to the items that fit that description. Narrow the field more by determining the price range, color, size, and other factors that will ultimately affect their decision to purchase.

We've dealt with what the NEED. But what do they WANT (other than a new car)? That's pretty easy. They want what YOU want - to be dealt with respectfully and fairly, and to be treated as a person. An important person. Someone whose opinion matters. Someone whose time is as valuable as yours.

I'm going to share an incident that happened to me not long ago. I went to the Customer Service counter in Real Canadian Superstore to ask a question. There were three people behind the counter who were obviously enjoying themselves, joking and giggling together. Unfortunately there were also three of us customers standing on the OTHER side of the counter waiting, and waiting, and waiting, while they had their little laugh fest, and we were not amused. After a couple of minutes of wasting my valuable time, I gave up and left. Now to be fair, I've had positive experiences with Superstore's customer service people on other occasions. But THAT one stands out in my mind. Do I still shop there? Yes, but only because they have a big gluten-free section and their prices are better than the competitors. (Celiac disease sometimes means compromise.) But just because I want to save money doesn't mean I want to cease being treated like a human being. Every business, no matter the size and no matter the clientele, must train their staff to be prompt, courteous and respectful. Don't waste our time.

Now let's take an example from the other side of the aisle. I stopped at Tim Horton's one morning to fill up my travel mug with Tim's Dark Roast. The lady behind the counter got my coffee for me and then asked me if I was right- or left-handed. Why? Well, so she could put the lid back on my travel mug with the drinking spout on the appropriate side. Now THAT is customer service.

And remember to SMILE, people. If you don't enjoy your work, then go work somewhere else. Don't take it out on your customers. We didn't hire you. You may be asking, "How do you do all this if your business is online? How can I strike up a meaningful relationship with people I've never met?" Well, people chat with customers on social media every day. "Prompt, courteous and respectful" still apply. Using the words "Thank you" liberally in your emails, post-checkout pages, and contact pages will make your customers feel appreciated. And yes, you can SMILE with your telephone voice and with the words you use on social media. The folks at Big Fish Games do it all the time!

Let's keep Customer Service alive and well by practicing it every day in our own businesses, and by reinforcing it in others whenever we encounter it in our lives. If a support person or salesperson meets or exceeds your expectations, let them know - and let their supervisors know too. Recognition is like a pat on the back - it encourages people to strive to do their best at all times. If your employees are doing their best for your customers, word will get around and your business will be all the better for it.

Image by Tumisu from Pixabay

How to Choose the Right Domain Name for Your Online Business
(0) How to Choose the Right Domain Name for Your Online Business
The domain name you choose for your website, like your corporate name and other business marks, is an important component in marketing your business. It identifies you to online visitors and customers, who will then associate it with the products and services you provide. It is therefore very important to choose carefully when deciding on a domain name. Here are some of the main points to keep in mind when choosing your domain.
How to Escape a Fire in Your Workplace
(0) How to Escape a Fire in Your Workplace

Several hundred people die in workplace fires in North America each year. Would you know what to do if a fire broke out in your workplace? Many commercial buildings distribute emergency safety plans to each of their tenants, and hold fire drills once or twice a year to give workers a chance to practice their escape. But if your company has not developed its own fire safety plan yet, here is a set of steps to follow to help you escape a fire emergency.

Seven Steps to Take Before an Emergency Arises

1. Determine your escape route. Map out a floor plan of the office and highlight the main escape route, with all exits clearly marked, including windows if those windows can be used as an exit. Advance planning will reduce confusion and minimize panic in the face of an actual fire.

2. Know the location of all fire alarms, sprinklers, fire extinguishers and hoses in your vicinity.

3. Establish a safe muster point where all staff will meet after escaping. For instance, you could designate a parking lot down the street as the location where all personnel will report so they can be accounted for. Keep an up-to-date list of all personnel so that each person can be checked off when they report in.

4. Review the emergency plan regularly with your staff. Provide each new employee with a copy of the plan as part of their orientation.

5. If your building does not have regular fire drills, schedule your own fire drill twice a year. Practicing the routine ensures that everyone knows what to do and where to go. Every second counts in an emergency. Fire drills give you a chance to review the procedures, improve response time, refine the escape plan and ensure that everyone gets out alive.

6. Make sure your evacuation plan provides proper arrangements for persons with special needs. Ensure that building management is aware of any staff member who will need assistance in case of an evacuation.

7. Appoint a fire warden and deputy fire warden to take charge during the emergency and direct people to the exits. The wardens will also be responsible for taking attendance at the muster point after evacuation.

What to Do If a Fire Starts

  • STAY CALM - DO NOT PANIC. Easy to say, but hard to do when smoke and fire are involved. The more you concentrate on getting out alive, the less time you'll have to panic.

  • If you discover a fire: (1) pull the fire alarm; (2) call 911; (3) evacuate quickly.

  • Assist any disabled or incapacitated employees to get out of the building.

  • Breathe through your nose to filter out smoke particles. If at all possible, place a wet cloth over your mouth and nose.

  • Go to the nearest emergency exit and take the stairs. DO NOT USE THE ELEVATOR.

  • If you can't see an exit sign, try to visualize the room around you and picture where the exits are. Locate a wall and follow it. It will eventually lead to a door or window.

  • Listen for sounds from outside, as these can act as a guide to the exits.

  • If you get trapped by smoke, crouch down as low as you can. Hot air rises, so any cool clean air will be found close to the floor.

  • If there's anyone else with you, work with them to find an escape route. It will help both of you feel more confident and less likely to panic.

  • When you find an exit, assist others who are still in the building by shouting or making other loud noises at the exit to guide them to your position.

  • Check doors for heat by touching them, using the back of your hand and starting near the bottom. If the door feels hot, that means there's a fire on the other side. Close doors quickly if smoke or heat blow in. Shut all doors behind you when leaving.

  • If the smoke is too think for you to see, shuffle - don't walk. Keep your weight on your rear foot and use your forward foot to check the floor for openings (such as stairwells) and obstructions (such as furniture).

  • If you have to use stairs to escape, go down backwards. This will keep your head nearer the stairs and cleaner air. Or, alternatively, go down in a sitting position which enables you to grip the stairs to prevent falling.

  • If you're trapped and can't find an escape route, call 911 and give your exact location. If you're near a window, signal for help with a flashlight or something brightly colored.

  • Once outside, meet at your designated muster point. If someone is missing, immediately alert the emergency personnel on scene.

 

Image by ThePixelman from Pixabay