Top 7 Questions to Ask Your Next Development Firm (and the answers to listen for)

By Mansoor Anjarwala

So you have a development project you need to farm out.  Maybe it’s a mobile app for your customers or an enterprise business application for your business operations.  Whatever it is, you need a development team and chances are that means hiring a development firm. For those organizations who haven’t been through this type of hiring procedure, it can be a little scary, especially if you know little about the coding process.  Although you may not fully understand the technology behind the development process, you are still looking for the same qualities you would seek in any project management team. Below is a list of some of the key questions you should ask.

How do you go about understanding and developing a software project?

While you want to hire the most competent developers possible, you don’t want a team of programmers aimlessly writing code.  It is imperative that the team understands your business and is able to capture the vision of the project. A successful development team will have some type of methodology they use to transfer the information about your business to the team so it can comprehend the business problems the software is addressing and the goals and objectives it must meet in order to be labeled a success.

Who will be the ambassador on the team to communicate with?

You need a single point of contact that will serve as the liaison between you and the developers.  This is not the same as a sales person or an account executive. This person is usually someone in senior management that knows the coding process, understands business and has great communication skills.  It is this team leader that will be taking the time to learn about your business, discern project needs and convey them to the team. Having a single point of contact also establishes accountability and ownership of the project.  Make sure you ask how much of their time will be allocated to you throughout the project and how they prefer to communicate. It’s important that you and the project spokesperson have a sense of rapport since you’ll be working together as a team.

Have you worked on a similar project?

At the very least you need developers who are experienced in the required technologies.  An example would be experience developing for a certain platform such as iOS or Windows. But technology fluency is the bare minimum you should be looking for.  Ideally you want a development firm that has worked on projects within the same industry as this denotes a basic understanding of your business from the get go. It is best if prior projects they have worked on had similar application features such as those involving payment integrations or GIS mapping.  Consider someone who has worked with clients with a similar culture as your organization. Working with a startup company is much different than working for an established multinational corporation. Ask the development firm to see samples of some of their prior work. It’s easy to find works samples for mobile apps as they are readily available in online app stores.

How many developers do you have?

When it comes to software development, two minds are better than one. The smaller the firm, the tighter the resource constraints and the less potential bandwidth they may have.  On the other hand, a large firm may be more rigid to work with. Although your project may be assigned to a single developer, you want a firm that has multiple programmers on staff that can be made available for your project as there will be challenges throughout that may require a different lens or level of experience.  Time constraints at some point may necessitate other people coming into the project as well.

What is your scoping process?

Software development is an involved process.  You aren’t just going to be handed the final software package and that’s it.  The project has to be defined in order to accurately estimate the time, effort and costs of the project from start to finish.  Project scoping involves determining and documenting a list of project goals, deliverables, deadlines and cost estimates. It also includes technical items as well such as required features and tasks. When interviewing a potential development firm, find out what their scoping process entails. You will obviously want to see demonstrated progress at regular intervals to assess how things are proceeding. These deliverables should include completed shippable features that are ready to release.

Do you use automated testing for your code?

Another key question to ask your next development firm is about their QA process. If your development project is like any other, it needs to be completed as soon as possible.  Testing for bugs is an inherent part of app and software development. Used to be, developers had to conduct manual testing which added unnecessary time to the project as scripts had to be written, which also required a certain level of expertise that resulted in additional cost. Today there are automated testing tools. Developer teams use these tools to perform repetitive on-demand testing as the code is created. Aside from saving time and money, recurring testing processes increases the efficiency of the coding process and improves accuracy within the code itself.  

What project management methodology does your company use?

Most reputable development firms have a project management methodology; it’s important to ask a prospective development firm about the methodologies they use. There are two common project management methodologies used today in software creation: Waterfall and Agile.  The first, called Waterfall, is the more traditional management style, having been utilized for many years.  It is a linear approach that consists of multiple stages such as planning, design, coding, testing and product release.  Each successive stage cannot begin until its predecessor is complete. Usually this means that each stage must be confirmed by the customer.  Some refer to it as a slow and steady approach. It is ideal when the customer has a defined vision of the desired outcome. As a result, fewer changes or surprises will be incurred.  

A newer more modern approach is called Agile.  As its name implies, it is more flexible than Waterfall as it is more adaptable to perpetual changes.  It is designed to obtain continuous improvement throughout the project. Rather than a linear approach, it is more incremental and iterative.  It incorporates experimentation and some degree of trial and error. Rather than stages, the project is segmented into repetitive modules called sprints that are completed in a short amount of time.  Agile depends on a high level of customer interaction and solid teamwork. Designing and testing occur during every module, making it ideal for finding bugs and incorporating sudden code redesigns. Agile is ideal for projects in which there is no clear established vision or when the customer needs something quickly.

Although we have barely scraped the surface of the potential interview process, these questions are a good start to help provide a foundation to build from.  Software development is a costly endeavor when done right. Be ready to ask tough questions that will allow you to best discern the abilities of any outsourcing partner.  Best of luck on your project.

What is QA (Quality Assurance) Automation and what are the benefits?

Remember all of the papers you had to write in school and how your teacher always told you to proof your work?  Chances are you considered it a chore taking the time to review your homework with scrutinous attention. Or maybe you were one of those that never bothered to proof it. Proofing isn’t fun for most people. Most of us enjoy creating something far more than anatomizing it for mistakes and oversights.

The same is true for writing software.  Creating code is much more satisfying than testing it in most cases.  Unfortunately, just as the failure to proof a scholarly paper rarely resulted in a top grade, creating software without ample testing throughout the coding process usually results in software that is prone to errors and bugs.  That is why quality testing is so important. The problem is that manual testing is cumbersome and time consuming. As a result, it often isn’t implemented as often as it is required. Fortunately, there is a better, easier and efficient solution available today to take the arduous task of testing off your hands.

 

QA Automation – What is it?

Many developer teams are turning to automated testing tools to perform repetitive, on-demand testing of the code they create.  Rather than depend on manual testing that is executed by scripts that are also manually created, QA Automation executes the full gamut of tests you need, when you need them. And it’s done using AI (artificial intelligence) technology.  It also reports the outcomes and comparative results versus previous assessments. QA automation allows for demand-driven testing that is consistent and reliable in an efficient cost savings manner. All browsers and user environments can be simulated with QA Automation, allowing you to test each action step throughout the program in your web-based or desktop application.  Finally, QA Automation offers a high degree of flexibility. It can be utilized as your primary testing mechanism or utilized to supplement manual testing procedures.

 

The Benefits of QA Automation

 

QA Automation Increases Efficiency

There are some things that machines do far better than humans, especially when it comes to mundane, routine, repetitive tasks.  Imagine your top programmer testing and retesting the latest code created by the team throughout the day. Is the same attention to detail made at the end of the day as at the beginning?  Machines are ideal for testing code. They can do so a million times without any deviation to routine or neglect of detail. They are the ideal mechanism to test code.

Not only does QA Automation improve the efficiency of your testing processes, it does the same for your code development progression as well.  The perpetual ritual of testing and retesting serves as a constant interruption to the task that your developers do best – write code. Why distract them from what they do best when a machine can perform the testing process more reliably.  Any disruption to the creation process creates a bottleneck. QA automation eliminates those bottlenecks, freeing up your staff to focus on creating rather than proofing.

 

Improved Accuracy and Reliability

The pace of application development today is relentless, and is only increasing with time.  This unremitting pace also increases the necessity for testing. If a machine doesn’t care how many tests it runs, then your developers can increase the test schedule as well, integrating it into their routines so that it becomes a natural component of the build process.  Outcomes and outputs are no longer predicted, but confirmed. Because the recurring testing processes are consistent, greater accuracy is achieved, leading to greater reliability. All of this translates into more success whenever code is released to production. The business is happier when the cycle time to make code live is shorter.

 

QA Automation saves and money

The old cliché, “time is money” rings particularly true, especially when it comes to labor intensive practices such as code development.  QA Automation allows your developers to stay focused on creating code that adds direct value to the business rather than spending valuable time creating manual test scripts.  While you can utilize dedicated software testers, they cannot replicate the inexorable pace of automated testing. Money invested in automated testing is recovered quickly due to the drastic reduction or even possible elimination of manual testing hours.

Technology professionals know all too well that not every test is going to be a success, and with fewer tests runs, the more time it usually takes to remediate the bugs discovered in each manual assessment.  By increasing your test frequency using automation, you shorten the period in between those tests, making remediation necessities more manageable. With QA Automation, test frequency doesn’t directly relate to added costs.

Automating the QA process is a win-win for everyone involved in the software development process.  Your developers can stay focused on the task of creating and updating applications that generate value for your company.  The software they create is more reliable, and consistency means end users enjoy a better experience. All of this translates into lower costs, which makes executives and business leaders happy as well.

 


 

Ready to Talk? Contact Us.

 

 

 

Introduction

As a small business, you have enough challenges keeping your head above water and focusing on how to grow. Navigating the digital world can be complex if you don’t understand the various channels and what you should focus on to get the most bang for your buck.  Even if you do understand the technologies, how do you find enough time in the day to do it all?  In this paper we will give you a concise list of things you can easily do to boost your business by leveraging the power of digital with web, social, and mobile.

According to the Boston Consulting Group, businesses that make use of the web expect to grow 40% faster than those that don’t.  And according to Google, 97% of consumers go online to look for local products, yet only 37% of US small businesses have an online presence.  Increasingly, the web is important, but so is making use of social media and mobile technology to engage  with your potential customers.

If digital technologies like web, social media and mobile are so important, then why don’t all small businesses make use of them?  There are several reasons that include perceived cost associated with doing it, not having enough time, or believing that it’s just too complicated.  Lucky for you, there is plenty of help to address the complexities of digital while also managing your time challenges.  There are marketing services companies that cater to small business needs.  It’s also less expensive than you think, especially if you can pay for it with the increased sales that you can enjoy.

So let’s get to it – here are our top tips for digital success.  

Responsive Design

 

1.  Have an online presence with a responsive design

Since consumers are going online to search for businesses, unless you have a website you will not be found!  Consumers will go to your competitors if they are easier to find.  A couple of other things to consider are optimizing your site for relevant keywords that consumers may be searching on and making sure you have a responsive design. By having the right information and content on your website, you will help your company be found when consumers are searching.  

A responsive design simply means that your site is optimized for viewing and interaction across different types of devices (computer, tablet, mobile).  The site will be easy to navigate, read, and interact with, taking into account the different screen sizes that your web site can be accessed from.  Also consider the user experience.  They want to be able to access the information in as few clicks as possible.  So, put yourself in the user’s shoes when designing your website – easy to navigate equals better engagement for you.  Clunky or disorganized websites will result in potentially lost sales opportunities or your user exiting the site.

 

Google Ad

  1. Get your business on Google

Getting your business listed on Google is another important step to getting found online.  Google My Business helps you get listed on Google and also provides key information such as business overview, hours of operation, phone number, and address.  For users using their mobile, they can use Maps to get directions and click to call.  Consumers can also leave ratings and reviews of your business.

 

  1. Advertise online to drive traffic

These days, advertising online has also become important to drive new customers to your business.  It’s fairly easy to set up an advertising CPC campaign on Google.  With Google Adwords, you can specify whether you want your ad to be local and what specifically you want to advertise.  Google provides tools to help you decide which keywords to advertise, setting up budgets, and managing the whole campaign.  And the good part is that you only pay if someone clicks on your ad.  There can be potentially many more people that see your ad and read it, but you don’t pay unless they click.  It’s important to track how much business is resulting from your advertising budget and make regular adjustments as needed to get the most out of it.  

  1. Use social media to connect with your customers

The top social media platforms you should consider are Facebook, Twitter, Google+, Youtube, and Pinterest.  You don’t have to be on all of the social media channels, but the ones that make the most sense for your audience.  It gives you an opportunity to build loyalty with your customers and connect with them outside of your normal business interaction.  It also provides an avenue for you to then share what’s new with your business, advertise specials, and foster a loyal customer base that will keep coming back.

 

use mobile

  1. Use Mobile

We already talked about a responsive design that helps you interact with customers that are on different devices such as tablets.  That will also help you for customers using mobile.  Increasingly, consumers are using their phones to make purchases, search for local businesses, and using click to contact the businesses directly.

People are also spending more and more time on their mobile compared to other devices.  Their mobile is always within reach.  If it makes sense for your business, you should also consider mobile advertising, such as SMS, MMS, or banner.

  1. Use analytics to understand and improve

Now that you are online, advertising, and getting found by your customers, you need to understand if the money you are spending is giving you a return on your investment. Analytics will help you track and review data that is relevant to your business.  Best of all, Google Analytics is free!  You can track every click, measure every dollar, and get insights on the type of device that your customers are connecting with (mobile vs. desktop).  And by looking at how many conversions you have, the dollars of business that translated into, and how much you spent on advertising, you can tie it all together to ensure it is paying back.  You can also tell if your activities on social media are driving traffic to your website.  

Summary

Now you have the 6 top tips for succeeding in the digital world.  Perhaps you were already doing some but not all, now is a chance to dive into the rest of the digital initiatives.  Some of these tips are free to implement (Google My Business for example), so it won’t cost you a cent.  It will take an investment in time, but increasingly digital is the way to reach your target customers.  And if you can’t do it all yourself, there is plenty of help out there without breaking the bank.

 

Ready to Talk? Contact Us.

As technology and business leaders, many of us have been part of a decision around building new technology solutions to create new services or products. In this mobile-first era, one of the first questions you are challenged with is – do we need an App for that? Or can this service or product can utilize just the mobile web version?

We all wish this was an easy yes or no answer. But the answer may be much simpler than you think. There are 3 main criteria you need to consider that will help you make the decision.

#1 – Application feature set

If your product needs built-in phone features like GPS, Accelerometer, Contacts, Push Notification, etc., then you will need to build an app. From the technological advancement with HTML5, some of the phone features can be accessed so you may be able to get away with only a mobile web version. You will need to research the specific feature set requirements with what is possible to do within HTML5.

If the answer is – yes, I have to use phone features that are not available through HTML5, then your decision is made, no need to read further!

#2 – Audience

Just because a customer downloaded your app does not mean that they will be using the app for life, or even at all. The data shows that people actively use only 5-7 apps in a given month. Unless there is a compelling need for the users to download the app, they will not.

Again, your answer here will determine what direction you take.

#3 – Resources

Since you have read it this far, the assumption is that the decision is still pending. Developing a mobile app is a skillset that not all developers hold. You should carefully evaluate the resources at your disposal in making the decision. Not only do you have to build an app (possibly on multiple platforms – iOS, Android, Windows), but you also must manage and maintain it. You should consider the total cost of ownership as you make this decision.

In conclusion, whether you build an app or not, you will need to develop a solution that is mobile responsive at the least.

Sincerely, The Xcelacore Team


Ready to Talk? Contact Us.