13 questions you must ask software developer - … 13 critical questions you must ask before hirin g...

17

Click here to load reader

Upload: tranhuong

Post on 28-Mar-2018

213 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 13 Questions You Must Ask Software Developer - … 13 Critical Questions You Must Ask Before Hirin g Any Software Development Company | 11/15/2013 13 Critical Questions You Must Ask

TECHRIVER, LLC

November 15, 2013 Authored by: Jon Singer

13 Critical Questions You Must Ask Before Hiring Any Software

Development Company

Page 2: 13 Questions You Must Ask Software Developer - … 13 Critical Questions You Must Ask Before Hirin g Any Software Development Company | 11/15/2013 13 Critical Questions You Must Ask

1

13

Crit

ical

Que

stio

ns Y

ou M

ust A

sk B

efor

e H

iring

Any

Sof

twar

e D

evel

opm

ent C

ompa

ny |

11

/15

/201

3

13 Critical Questions You Must Ask Before Hiring Any Software Development Company

If You Rely On Software To Run Your Business, This Is One Report You DON’T Want To Overlook!

This free report plainly explains in non-technical terms what you need to look for when searching for Software Development companies, as well as cost-saving strategies, insider tips and 13 revealing questions you MUST ask any software development firm before giving them your business. If you are currently using a software development company and they can’t answer these questions the way you want, it might be time to look for someone else.

You’ll discover:

The single most expensive mistake most business owners make when hiring a software development company.

The surprising reason most businesses fall victim to sub-standard software development.

What some software developers are doing to take advantage of business owners, and how to make sure you’re not one of them.

How to avoid expensive software re-design costs and get solid software development at a reasonable cost.

Page 3: 13 Questions You Must Ask Software Developer - … 13 Critical Questions You Must Ask Before Hirin g Any Software Development Company | 11/15/2013 13 Critical Questions You Must Ask

2

13

Crit

ical

Que

stio

ns Y

ou M

ust A

sk B

efor

e H

iring

Any

Sof

twar

e D

evel

opm

ent C

ompa

ny |

11

/15

/201

3

A Free Report Provided By: TechRiver, LLC www.techriver.net Phone: 800-284-5655

Page 4: 13 Questions You Must Ask Software Developer - … 13 Critical Questions You Must Ask Before Hirin g Any Software Development Company | 11/15/2013 13 Critical Questions You Must Ask

3

13

Crit

ical

Que

stio

ns Y

ou M

ust A

sk B

efor

e H

iring

Any

Sof

twar

e D

evel

opm

ent C

ompa

ny |

11

/15

/201

3

From the Desk of: Jon Singer President TechRiver, LLC Dear Manager/Director, Hi, my name is Jon Singer, President of TechRiver, LLC. I know how insanely busy you are so I’ll get right to the point of this report. Although we’ve never met, I’d be willing to wager a bet that if you’ve hired a company to do software development for you, it didn’t go as well as you had hoped. How do I know? Because over and over again I’m absolutely HORRIFIED by the incompetence and irresponsibility I discover when we come in to take over software projects. In more than 65% of the software we look at, we find poor development techniques being employed, which can lead to security loopholes or crashes. We also find software that is difficult to maintain because of inadequate documentation and poor or complete missing logging. Worse, we find companies that are left high and dry by the developers who have just gone AWOL or are simply unable to either finish the project or adequately support it. There’s barely a month that goes by that we don’t get a crisis call about some custom software that is now broken and needs to be fixed immediately but the developer is not available. All of this can be avoided by performing the due diligence up-front and asking simple questions. But most people don’t know the simple questions to ask. That’s why I’ve decided to write this report for business people that need to hire software developers. I’m actually shocked at some of the shoddy “workmanship” that goes on and I’m interested in seeing the standards raised. Below you’ll find a mini acid test you can use to determine whether or not the software development firm that you are talking to has the chops to both create AND support a software development project.

Page 5: 13 Questions You Must Ask Software Developer - … 13 Critical Questions You Must Ask Before Hirin g Any Software Development Company | 11/15/2013 13 Critical Questions You Must Ask

4

13

Crit

ical

Que

stio

ns Y

ou M

ust A

sk B

efor

e H

iring

Any

Sof

twar

e D

evel

opm

ent C

ompa

ny |

11

/15

/201

3

1. What development process do you use?

There’s a huge range of development techniques that are available to software developers. Experienced developers will be able to articulate clearly the methodology that they employ. However you might hear something like this:

• “We just do what you tell us” or

• “Waterfall” or

• “We have a thorough design process where we gather all the requirements and go through the business cases; then we develop a design document; get approval for that and then we go through the development and test phase.”

If you do, while it doesn’t necessarily mean bad news, it is indicative of a firm that does not have their processes thoroughly worked out. That means you will be paying for some built-in inefficiencies. They may still get the job done, but you may not experience the smoothest sailing.

If, on the other hand, they talk about “Extreme Programming” or “Scrum” or “Agile”, then you are more likely dealing with a development firm that has adopted the latest methodologies. Certainly there are a slew of others out there: “Unified process”, “Dynamic Systems”, “PMBOK”, for example. It would be arrogant to say that there is a “best” so don’t look for that. Instead, ask them what their development process is and make sure they are able to clearly articulate it. Also, ask what you should expect your experience to be during the development process.

2. Do you use off-shore developers?

To compete with price pressure, software development companies sometimes have to resort to off-shore development. If all of the development is done off-shore, then there could be quality concerns. While there are certainly good

Page 6: 13 Questions You Must Ask Software Developer - … 13 Critical Questions You Must Ask Before Hirin g Any Software Development Company | 11/15/2013 13 Critical Questions You Must Ask

5

13

Crit

ical

Que

stio

ns Y

ou M

ust A

sk B

efor

e H

iring

Any

Sof

twar

e D

evel

opm

ent C

ompa

ny |

11

/15

/201

3

developers in other countries, finding them can be challenging. The allure of working for big money from home attracts a lot of people who call themselves developers but who are not well-trained.

If you have U.S.-based staff who are responsible for both directing the development and overseeing the code quality, then using off-shore resources to bolster the development team can work well indeed. But it is absolutely critical to have a U.S.-based team member who not only understands the business requirements but understands the code. This is the key to quality and maintainability.

So, in summary, if they answer “yes” to the question about off-shore developers, make sure that not only the project manager but the lead developer is in the U.S. so that you can easily communicate with them on a regular basis. (well, as easy as you can communicate with a developer).

3. How do you limit risk?

Software Development is risky business. You are paying for something new to be created. Here are some of the more obvious risks:

• What is developed will not meet your requirements

• What is developed will meet your requirements but be difficult to use

• The schedule will not be met

• The project will go over budget

• The developer will go out of business or otherwise disappear

The processes that the developer uses can help mitigate the risk for both you and the developer. Specifically, the agile development methodology mentioned above minimizes the first two risks discussed. You will be seeing the development on an ongoing basis so you can tell immediately if it is doing what it is supposed to be doing and whether or not it will be difficult to use.

Page 7: 13 Questions You Must Ask Software Developer - … 13 Critical Questions You Must Ask Before Hirin g Any Software Development Company | 11/15/2013 13 Critical Questions You Must Ask

6

13

Crit

ical

Que

stio

ns Y

ou M

ust A

sk B

efor

e H

iring

Any

Sof

twar

e D

evel

opm

ent C

ompa

ny |

11

/15

/201

3

Estimating software is arguably one of the more difficult tasks that software development firms must do. Again, the implementation methodology will make the difference here. If you are shown the development schedule and you are shown the progress on a weekly basis, it will be easier for you to know if the schedule is on track and to do something about it if it is not. Otherwise, you have no choice but to take the developer’s word as to whether they are on schedule or not. Indeed, even if you do see the weekly progress, you’ll still have to take their word for some of the under-the-hood implementation. But this is a far cry from not seeing anything other than email correspondence and mockups for months.

Project-going-over-budget risk can be limited using fixed-price contracts. At first blush, that appears to solve the problem. You and the developer agree on a price. You know what that price is and you now know what to expect…sort of. In reality, the developer may underbid – intentionally or not. If the developer underbid, they have two choices – eat the loss or run away. If they run away, you’ll need to find another developer or shelve the project. If they eat the loss, it’s likely that they will try to minimize their loss and get it done as quickly as possible by cutting corners. Neither is ideal for you. However, if you mix fixed-price with agile development, you’ll have a much firmer grasp of where the budget is with respect to development. You can also ensure that the highest priority items are developed first.

To mitigate the risk of a developer going out of business, make sure that you only hire developers who have:

• Been operating for at least 3 years

• Have reputable references that you can call

Page 8: 13 Questions You Must Ask Software Developer - … 13 Critical Questions You Must Ask Before Hirin g Any Software Development Company | 11/15/2013 13 Critical Questions You Must Ask

7

13

Crit

ical

Que

stio

ns Y

ou M

ust A

sk B

efor

e H

iring

Any

Sof

twar

e D

evel

opm

ent C

ompa

ny |

11

/15

/201

3

• Have at least one senior developer with a minimum of 10 years of experience

Also consider interim source code deliverables. Depending on the scope and critical nature of the project, you may need to take that source code and make sure that it can be used to re-create the project in a pristine environment. In other words, make sure that you have everything that you need in case the developer disappears for any reason.

4. How long have you been in business?

Software Development firms need to start out young, obviously. But when they are young, do you want them working on your project? The answer to that is “it depends”. Younger firms will usually be cheaper than more seasoned firms. So if price is the critical factor and the project being built is not business-critical, then it may be worth the risk to try out a young firm. But if you’re dealing with a business-critical application, you better get the big guns. Software development is a learning experience. Every project provides some more insight no matter how seasoned the firm. However, you don’t want someone cutting teeth on your mission-critical application.

In general, rule out folks who have been in business for less than 3 years. Ideally, look for businesses that have been around for over 5 years. That shows that they have the staying power to ride out the problems that they would have encountered along the way.

5. Does the software that you write include logging?

No one writes perfect code…because there is no such thing. Well-written code may have very few errors and you may never run into the bugs. However, it’s

Page 9: 13 Questions You Must Ask Software Developer - … 13 Critical Questions You Must Ask Before Hirin g Any Software Development Company | 11/15/2013 13 Critical Questions You Must Ask

8

13

Crit

ical

Que

stio

ns Y

ou M

ust A

sk B

efor

e H

iring

Any

Sof

twar

e D

evel

opm

ent C

ompa

ny |

11

/15

/201

3

far more likely that you will run into problems at some point. The purpose of logging is to be able to capture the activity that is occurring in a program for future analysis. If that logging is well designed, it can mean the difference between minutes and days in both finding and fixing bugs. If you’re paying for that time, it matters to you.

The answer to this question should be yes although you will likely catch them off guard with this. For Windows-based systems, logging can be done to a simple text file or to a database or to the event log. Logging should indicate where the user is in the system and what events are transpiring. Logging should also capture any error conditions that arise.

6. How can I tell what you are doing on my project on a daily and weekly basis?

The more transparent a developer is with respect to their operations, the better grip you’ll have on your project. There are two facets to developer/customer communication that you will want to investigate before hiring a developer.

1. We already talked about agile development. If that is being employed, you should be seeing new developments after each “iteration.” How long is an iteration? That’s up to the developer but it can be anything from 2-8 weeks.

2. Find out what tools they use to communicate with you. Certainly email will be employed but do they use a project management tool that you can be privy to? There are a lot of them out there and all of them are good at certain aspects of project management and bad at others.

Page 10: 13 Questions You Must Ask Software Developer - … 13 Critical Questions You Must Ask Before Hirin g Any Software Development Company | 11/15/2013 13 Critical Questions You Must Ask

9

13

Crit

ical

Que

stio

ns Y

ou M

ust A

sk B

efor

e H

iring

Any

Sof

twar

e D

evel

opm

ent C

ompa

ny |

11

/15

/201

3

Our personal favorite is “Trello” because it’s just simple, fast, and clearly communicates where we are on each task.

Make sure that you get clear what to expect as far as communications from your developer.

7. Who owns the code?

Developers love when you ask this question. Go ahead – find a developer and ask them this! There’s a problem with either answer to this question. If you own the code, then you own all the code. That means that if the developer used code that they’ve developed elsewhere during their years, that they technically cannot use that code any more, even though you paid nothing for its development.

On the other hand, if the developer owns the code, you can be subject to annual extortion fees. I’m not saying that all developers do this, it’s just a risk.

We’re not lawyers. What we recommend is that you own the code that was created specifically for you and that you are provided with non-exclusive perpetual license to use any library code that was used in the development and owned by the developer or other third party. This means that you can take the finished product and do what you will with it. (This should not be misconstrued as legal advice. I’m not a lawyer and I don’t even play one on TV. You should consult with an attorney to determine the right solution for you)

8. How do you support your software

Assume that you’ve gone ahead and picked a development firm that you are happy with. You get the software designed, developed and installed. It works

Page 11: 13 Questions You Must Ask Software Developer - … 13 Critical Questions You Must Ask Before Hirin g Any Software Development Company | 11/15/2013 13 Critical Questions You Must Ask

10

13

Crit

ical

Que

stio

ns Y

ou M

ust A

sk B

efor

e H

iring

Any

Sof

twar

e D

evel

opm

ent C

ompa

ny |

11

/15

/201

3

fine for 3 months. And then you run into a problem. Now what? You shoot an email off or pick up the phone and call the developer. Do they have time for you? Can they squeeze you in? These are the kind of questions that you may run up against if you don’t have a support contract in place.

It’s good practice to maintain a support contract with the development firm for at least a year. You should expect to pay at least 18% of the cost of the software over that time. It may be more or less and that depends on the complexity of the software and what it takes to support it.

The developer you select should be able to provide you with a sample support contract. You want to look for what is covered and what is not covered by the agreement. You’re looking to make sure that at minimum, defects (bugs) are fixed with no additional fees. Don’t expect enhancements to be part of the mix. The agreement should discuss availability and turnaround time. If you have a mission critical application and it’s down, you want to be able to get that addressed pronto.

9. Can I interview some of your clients?

Simple. They should say “Yes” and provide you with a list of at least three of them.

10. What Warranties do you provide?

Software can never be guaranteed to be bug free. It’s simply not possible. Even if the program itself was bug free, there could be environmental issues that cause it to misbehave.

What you want to hear as an answer to this question is a discussion of the vendor’s support contract. If you paid a fixed price for the software development, you should expect the vendor to stand behind what they delivered for at least 3 months post-delivery. If you find problems after that

Page 12: 13 Questions You Must Ask Software Developer - … 13 Critical Questions You Must Ask Before Hirin g Any Software Development Company | 11/15/2013 13 Critical Questions You Must Ask

11

13

Crit

ical

Que

stio

ns Y

ou M

ust A

sk B

efor

e H

iring

Any

Sof

twar

e D

evel

opm

ent C

ompa

ny |

11

/15

/201

3

that weren’t there before, you’re going to need a support contract. The support contract should indicate what is covered and not covered by the contract.

The simple fact is that software breaks over time. Why? The environment changes. Browsers change. Operating systems change. It’s a moving target. So it’s near impossible to create code that is going to work well with components that don’t yet exist and aren’t specified. A good support contract removes that risk.

11. What is your testing process?

If you don’t get an acceptable answer to this question, then you should expect buggy code. Many firms who will try to win by price will not build in sufficient budget for test. What does that mean? It means you get to do the testing. If you have time for that and enjoy it, great. Otherwise, plan on spending more and getting it done right.

A qualified software development firm will be able to articulate what their testing strategy is. If it is agile (preferred), then they should tell you about how testing is done throughout, that the tester is a member of the team and that you (or your delegate) is going to be part of the team too, reviewing the output very frequently so that it is exactly what you are expecting.

If it is waterfall (and they may not call it this), then the tester is involved in creating a test plan either at the beginning of the project or at some point after the requirements have been finalized. In this case, you are not going to see much until close to the end of the project.

Unless the software that is to be built is going to run only on a single platform, there should be a mention of platform testing. If it works in Chrome

Page 13: 13 Questions You Must Ask Software Developer - … 13 Critical Questions You Must Ask Before Hirin g Any Software Development Company | 11/15/2013 13 Critical Questions You Must Ask

12

13

Crit

ical

Que

stio

ns Y

ou M

ust A

sk B

efor

e H

iring

Any

Sof

twar

e D

evel

opm

ent C

ompa

ny |

11

/15

/201

3

but breaks in Internet Explorer, you want to know that sooner rather than later.

12. Have you done any projects like this?

If they answer positively to this one, that could be good news. The problem is that they may think what they did is like the project that you are requesting but it may be far afield. You’re going to have to look for yourself with them and ask questions about the differences to make sure that they understand the nuances of your particular project.

If they answer negatively, you know at least that they’re being honest. It doesn’t mean that they are unable to complete the project. It may mean that the learning curve is a little higher for them which may translate to a higher cost.

Custom software is custom so it may be unlikely that the vendors you are talking to have done this or something very similar previously. Don’t set your expectations too high on this one.

13. Do they understand YOUR business?

If they’ve done a lot of work in your industry, then it’s likely that they’ll have a grip on the industry. Of course, all businesses are unique so there are nuances to your business that they will not have a clue about. There may be some benefits if they do have industry knowledge:

• They are more likely to ask you the right questions since they’ve already run into issues and problems in this space.

• They are more likely to provide good suggestions on system design.

Page 14: 13 Questions You Must Ask Software Developer - … 13 Critical Questions You Must Ask Before Hirin g Any Software Development Company | 11/15/2013 13 Critical Questions You Must Ask

13

13

Crit

ical

Que

stio

ns Y

ou M

ust A

sk B

efor

e H

iring

Any

Sof

twar

e D

evel

opm

ent C

ompa

ny |

11

/15

/201

3

They are more likely to catch your bad ideas and tell you why they won’t work before you spend the money to implement them.

If you can’t find a vendor with industry experience in your field, all is not lost. A good software development firm will do their homework and learn as much as they can about the industry before starting the project. They should interview you and others in your company to find out as much as they can.

If Your Current Developer Failed This Test, I Want to Give You A FREE Software Analysis To Make Things “Right”

I know it’s difficult to evaluate software development skills. Most people find out using the hit-or-miss approach. Some get lucky. Some don’t. Most don’t find out until it’s too late.

If that sounds familiar, consider this a “friendly suggestion” to get your software process checked out by an independent 3rd party.

And to make it a complete “no-brainer,” I’m offering a Software Analysis for FREE so you have no excuse for making sure that you’re on top of the software development process and you’re not going to get left holding the bag.

For FREE, We Will …

Review a project that you have under way and inspect the requirements, development process and the code. We’ll let you know exactly what we find and exactly what we recommend that you do.

OR

Review a project that you have not yet started and give you guidance as to how to implement it and what to look out for.

Either way, we’ll provide you with a written report that shows you what your critical next steps are.

Page 15: 13 Questions You Must Ask Software Developer - … 13 Critical Questions You Must Ask Before Hirin g Any Software Development Company | 11/15/2013 13 Critical Questions You Must Ask

14

13

Crit

ical

Que

stio

ns Y

ou M

ust A

sk B

efor

e H

iring

Any

Sof

twar

e D

evel

opm

ent C

ompa

ny |

11

/15

/201

3

Why Should You Care About This?

Because software development is expensive. It’s more expensive if you have to redo it. It makes sense that you do it right the first time. Why wouldn’t you want to get an outside opinion to make sure that you’re headed in the right direction?

Your developer could be doing a great job. We do find that and we tell you when we do. But if they are not, wouldn’t you want to know sooner rather than later?

Think About This…

If you’re developing custom software, it must be important. Otherwise, you’d buy off-the-shelf software to solve the problem. Since you are creating custom software, usually it’s to do one of two things: 1) Save time 2) Make money. Either way, for it to have a good return on investment, it’s got to work and work well.

Okay…So What’s The Catch?

I bet you’re wondering why I’d be willing to give this analysis away for free, so please allow me to explain. First off, I want to be clear that this is NOT a bait and switch offer or a trick to get you to buy something. My reputation for running an honest and trustworthy business is something I hold very dear. I would never jeopardize that in any way.

We are simply offering this Free Software Analysis as a risk-free “get to know us” offer to people we haven’t had the pleasure of doing business with.

After All, Don’t You Just Want Software To Work The Way It’s Supposed To?

That’s why I’m making this offer. I know that we are hands down the best at what we do, but I don’t think it’s fair for you to risk your money to find out. I

Page 16: 13 Questions You Must Ask Software Developer - … 13 Critical Questions You Must Ask Before Hirin g Any Software Development Company | 11/15/2013 13 Critical Questions You Must Ask

15

13

Crit

ical

Que

stio

ns Y

ou M

ust A

sk B

efor

e H

iring

Any

Sof

twar

e D

evel

opm

ent C

ompa

ny |

11

/15

/201

3

don’t expect everyone to become a customer, but I know that some will end up becoming loyal, long-term clients.

Here’s How It Works…

To get your FREE, no-strings-attached, Software Analysis, simply complete and email the enclosed response form back to our office at [email protected]. Or if you prefer to speak to me directly about this, call my office at 724-538-3878. After we receive your request, we’ll schedule a convenient time for one of our consultants to call you and conduct a software analysis of a present or future project. When we’re done, we’ll give you a comprehensive, easy-to-read report that will show what to look out for, any current problems that we see and what your critical next steps should be.

If you are interested, at that point we can also provide pricing to develop the project. No hidden fees; no bait and switch. If you decide to hire us to do the project (you’re under no obligation), we’ll get to work on it immediately.

And if we find out everything is up to snuff, you’ll breathe a big sigh of relief knowing the that you made the right call. What do you have to lose? Don’t let another day go by without ensuring that your software project is in good hands. We’re making this as easy as possible to say yes – all you have to do is take 60 seconds to email back the enclosed form or call our offices and we’ll do the rest!

Sincerely,

Jon Singer President, TechRiver, LLC Phone: 724-538-3878

www.techriver.net

Page 17: 13 Questions You Must Ask Software Developer - … 13 Critical Questions You Must Ask Before Hirin g Any Software Development Company | 11/15/2013 13 Critical Questions You Must Ask

16

13

Crit

ical

Que

stio

ns Y

ou M

ust A

sk B

efor

e H

iring

Any

Sof

twar

e D

evel

opm

ent C

ompa

ny |

11

/15

/201

3

YES! Please Reserve a FREE Software Analysis in My Name to Make Sure My Project Is On Track!

I understand that I am not obligated to do or buy anything by signing up for this offer. For free, one of your consultants will schedule an appointment to conduct a thorough software analysis of a current or future project.

Reveal problems with the current development plan. Look for possible holes in the requirements. Review existing code for maintainability Discuss a project I am considering, or even give me a second opinion on a

quote I’ve received.

Upon completion, I’ll receive a report that will show your findings along with critical next steps to resolve any problems that are found. Again, I am under no obligation to hire you to do any work.

Need To Speak To Someone Right Away? Call:

724-538-3878

Copy and Paste this completed form and email to [email protected]:

Your Name: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Title: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Company: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Address: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

City, State, Zip: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Phone: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

E-mail Address: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

TechRiver, LLC 20436 Route 19 Suite 620-203 Cranberry Twp, PA 16066 www.techriver.net