Entries by Lars Vedo

iOS App Deployment Options

Clients often ask ‘how can I deploy my app internally so just our staff sees it?’ Or ‘how can we sell our app to other companies without listing on the App Store?’ This article explains the different iOS app deployment options and pros/cons of each. There are basically three ways to deploy your application. Either […]

Latest Platform Marketshare for iOS and Android

We’re constantly watching the trends to see how quickly users are adopting the latest mobile operating systems and the breakdown of users across the different platforms. These numbers are very helpful in prioritizing which platforms should be supported, which devices should be tested on, and importantly – which devices or operating systems can you stop supporting. […]

Scoping out a Minimum Viable Product (MVP)

Whether you’re a startup or a member of a large organization, when exploring mobile solutions your imagination will quickly get away from you and the project size will slowly balloon to a point where it’s no longer feasible. This is where you have to focus on scoping out your minimum viable product (MVP). An MVP (sometimes […]

Software Quality Audit for a Web App

We recently did a project for a local organization that was about to launch a new web-based application. They had the application developed by another vendor and wanted to complete due diligence before deploying to production. We reviewed the application, compared it to the requirements, conducted end-to-end quality assurance testing, and conducted a full code […]

Website Performance Testing

Our client was weeks away from launching their web-based strategy game and wanted to make sure their servers (hosted on Amazon Web Services) would scale according to demand. Our job was to hammer the servers to see at which points things would slow down and identify which functions slowed down the most. Read the full […]

iOS Application Testing

We recently helped a client conduct manual testing of their soon-to-be-launched iOS application. It was an exciting project because the young startup is a exciting example of Vancouver’s budding tech scene. Their small team of founders, designers, and developers were hammering out the beta version of their app but were getting bogged down with full […]

Manual Website Testing

We recently helped a client conduct manual testing of their web-based application across a combination of operating systems and browsers. Our testing was focused on functionality, compatibility, and localization as the service is provided world wide. The goal of the project was to give the client confidence in the stability of their application by conducting […]

How to Implement Analytics and Ads into iOS Apps

We’ve found quite a few clients that have launched apps but then have no way to review their usage or monetize their users. We just did a project for a very interesting news aggregation software company called Infomous. Their iOS app was launched and had a growing user base; however, they could only review analytics […]

Performance Testing using JMeter

When working with an API, sometimes you need to do some serious load and performance testing in order to see how it’ll respond to increased demands. Read this case study on how we used JMeter to test a client’s API in order to provide some quantifiable benchmarks. Read the case study on using JMeter to […]

How to Outsource Mobile Application Development

Looking to outsource the development of your next mobile app or website? Here are a few tips from the trenches. Tip #1: Choose a Vendor with Proven Experience When choosing a vendor, be sure to select someone that has been-there, done-that. At least make sure they have successfully launched some apps on your chosen platform – then go test those apps, read their reviews, and preferably talk to their client references. Bonus points if they have worked in your particular industry or on your particular problem before. Tip #2: Ensure Open Dialogue, Frequent Checkpoints, and Live Demos Anytime you’re sending work outside of your office, there is a communication gap. If someone is sitting a few tables over, it’s easy to walk over and get a quick verbal status update; however, if someone is working remotely, be sure to set regularly scheduled huddles to make sure things are on track. I emphasize on regularly scheduled because this is key. Set a conference call/screen sharing session for at least once per week to touch base and see the latest version of the app. There are two key benefits to doing this. First of all it establishes a good rhythm where both parties know when they’ll have their next opportunity to share notes and receive feedback. This reduces the number of short emails back and forth. Issues can be consolidated into a single list for discussion. The second major benefit is that you, the client/product owner, gets to see the app while it’s being built. This will greatly increase the number of issues spotted early on which will save massive headaches down the road. By investing this time to take a quick look at the app you’ll spot all sorts of little quirks that you hadn’t previously thought about. Don’t allow shortcuts here where updates are simply verbal – if you can’t see the feature, you can’t assume it’s done. Tip #3: Use the Same Tools Project teams use a lot of tools when planning, designing, developing, testing, and supporting – be sure to use the same tools. If you’re outsourced team is going to use some handy tool for bug tracking, get access to it. Same for project management. Be sure you’re looking at the same dashboards in the same systems. This will save energy by ensuring that everyone has the latest copy of the available information and that little is lost in translation. Tip #4: Conduct Code Reviews Conducting code reviews is particularly important early on to ensure that your quality standards are being met. If you don’t have internal resources to conduct a code review, hire a third party to spend a few hours going over the code. Make sure that it’s of high quality, well designed, and properly commented. This upfront investment will both validate that you’re working with a good partner and it’ll set the bar so they understand the quality you’re looking for. Bonus points: ensure they’re using a technology stack that will work for your long-term vision. Tip #5: Plan for User Acceptance Testing User acceptance testing is where you get the app and get to test that it’s working as designed. This is your opportunity to go through all the scenarios and make sure the app is perfect. The two keys to successful UAT is that it’s done thoroughly and promptly. Be sure to schedule time in the project for this. Make sure your internal team is available to properly conduct UAT, that you have a good process for reporting issues, and that you’ve accounted for time in the project for both your UAT and the outsourcing partner to resolve the issues. Pro tip: during UAT, avoid scope creep and change requests. Focus on getting the current project complete before adding new features. Tip #6: Remove Roadblocks & External Factors When working with a third party, it’s easy to lose hours, days, and weeks because of external factors. For example, if the developers need some updated design assets, or have queries, or are relying on another party for API details. These types of delays will limit the efficiency of the team and ultimately slow down the project – plus, if you’re working with a hardline partner, they may use these as excuses to delay the project. The best advice here is to prepare everything in advance of outsourcing. Some changes will inevitably come up, but try to scope the project in a way that enables the external team to execute the project end-to-end without the opportunity to cite an external factor as a delay. Tip #7: Clarify Scope of Deliverables What exactly are you going to get at the end of the project? Some partners will deliver just the source code. Some will give source code and design assets. Some will just give the application itself and not the source code. Depending on your commercial arrangements, I would suggest requesting the following (at least!): Source Code (preferably in the form of a code repository that includes the change-log and versions along the way) User Stories Design Assets (their original copies, not just the final versions. Chances are a few months after launch you’ll want to make some minor changes). Test Cases & Results Technical Architecture As I explain in more detail in another blog post, there is value in documentation. Tip #8: Clearly Identify Acceptance Criteria Acceptance criteria is essentially an agreed upon criteria that will be met in order to consider the project complete. It could be as simple as “all user stories are complete as designed and test cases serve as validation.” Making this acceptance criteria clear makes it easier for both parties to understand how the project will finish. This will avoid cost and time overruns caused by time & materials projects running longer than expected. Focus on clearly defined acceptance criteria so the project can finish and you can move onto the next phase. Tip #9: Choose What to Outsource Outsource wisely by choosing projects or components of the project that […]

The post How to Outsource Mobile Application Development appeared first on OptimusMobility.