How to Define Your Software Product (or Project)
In the last article How to Outsource Software Development, we’ve walked you through the Software Development Outsourcing checklist for your software outsourcing journey. At this point, you know that custom software development is important for a smooth digital transformation of your business but can get time-consuming when putting into account every possible aspect a project/product involves before the development of your software can kickstart.
To help you make better decision, in this article, we will go deep into the nitty-gritty of Define Your Software, as the first crucial step of the checklist.
DECEMBER 19, 2019 | SOFTWARE DEVELOPMENT, PRODUCT VISION | Reading time: 6 mins
1. Define the vision, scope, and expected outcomes for your software
When in search for an offshore partner, you may already have a vision, a scope, and some expected outcomes. However, it’s often easier said than done because all that you have in mind at this point are basically assumptions.
After that, it is the transfer of your vision, scope, and expected outcomes to your development team that counts. If you think it’s easy, think again.
The following illustration shows how easy it can be to inadequately and unclearly convey your message to another party.
Reproduced from Jeff Patton (2014)
How to define vision?
To create a sound vision while successfully communicating it to your software developers, Axon Active suggests that you use the Geoffrey Moore’s Elevator Test.
At Axon Active, the success of our clients is the very success of our own. That’s why we’re interested in getting to know about your vision – scope – expected outcomes, working with you side by side, and helping you succeed in turning your vision into reality.
Even when you do not have much on hand, a rough vision and scope of how your software will look like still do just fine at this point. After taking your list of ideas into account, Axon Active experts will give you further suggestions, allowing the project/product to take better shape as the partnership progresses and deepens.
2. Identify the software features and functionalities
How can you do this?
- “Why do we need this feature (or function) for the software?”
- “In what way will it contribute to the software’s successful adoption among the target users?”
Brant Cooper and Patrick Vlaskovits, authors of The Lean Entrepreneur (2016), said trying to produce something that is everything to every customer is not the right way to do this. Instead, the authors suggest to define the software features and functionalities based on your customers’ real-life problem and their burning need to get it solved. Your answers to this question of why will help you produce a clear vision and pick out only the features/functionalities that truly make a big difference to your software.
“The question is not who buy, but why they buy” (Brant Cooper and Patrick Vlaskovits, 2016).
For over a decade working with companies from various industries on a wide range of software (fintech, big data, AI, or business intelligence), Axon Active can give you timely, fuss-free consultation before and during the development of your desired or existing product.
3. Deliberate a budget for the software
Finance capability is one important locomotive which gets your train of software development outsourcing moving forward.
Reproduced from: Deloitte’s 2016 Global Outsourcing Survey
For the most part, many corporations would define the vision and scope before setting out budget and time for a software (let’s call it the first approach). Meanwhile, others choose to do completely different: they craft budget and time first (the second approach).
Which approach is suitable for you?
Although there is no right formula for this, it’s worthwhile to note that having pre-determined vision & scope, budget, time, among other aspects of your software from the beginning will hurt both you and your offshore team in the long run.
Reproduced from Mountain Goat Software n.d.
As the world had become increasingly volatile, uncertain, complex, and ambiguous (VUCA), ideas about the software from the beginning (which are mostly based on assumptions) can be easily proved unrealistic, un-useful, or wasteful during the development and testing of the software.
Notable advantages of setting out budget and time before vision and scope of software product.
Having said so, going offshore for your software development doesn’t require you to be a second-approacher. You have many options out there to choose from. Listen to your need and pick a way that allows you to stick through the whole outsourcing process smoothly with your offshore team.
4. Determine the lead time (or time-to-market)
Besides budget, time is another locomotive that brings forth your software outsourcing train.
5. Consider your software’s technical features
Following are the list of items in the form of questions to help you with your software, especially for an on-going project which need an extended team offshore.
Two additional important aspects to consider
a. Compatible testing environment for your project/product
As an outsourcing client, your consideration of a right testing environment should come right at the beginning of a project/product because testing is part of making sure your software is of high quality and bringing real value to your business and your users. This reflects even more precisely for mobile application development. It is because the increasingly-complex and fast-growing mobile apps demand many more testing rounds than other apps before “getting onto the shelves”.
Oftentimes, UnitTesting, automation testing, and security testing work as the right testing devices for the vast majority of apps. However, in some special cases when software like the following is in use:
- TestFlight, Hockey App (as in mobile app’s case)
- Selenium, JMeter, PureLoad, or Burp Suite (as in web app’s case)
Your offshore team should be informed early on at this stage so that they can afford enough time to get the licenses of these items ready before developing your software. Keep in mind that additional surcharges may apply due to your specified technical requirements.
b. Additional hardware and software for the development and testing of your software
Consideration of such a matter beforehand will give your offshore partner a heads-up in what they need to prepare on their end and get the project/product off to a good start. Giving your offshore partner as much details as possible. The better they understand your vision, the easier it is for them to support and consult you to make the best decisions from the beginning.
6. Choose the right environment for your offshore software development based on Quality and Security
At Axon Active, developing a half-price, gimcrack software in the shortest time possible will predict big failures and much more wastes in the long run. With years of experience in developing software and applications for web and mobile platforms, Axon Active knows that quality and security of a software project are increasingly-important and nonnegotiable criteria for customers.
In addition, it’s also important that the development system remains stable and secured, which helps avoid added hidden costs – the biggest problem most outsourcees bump into when offshoring their software. This is particularly true in highly-changeable VUCA settings. But how do you know if your offshore partner meets all your requirements about quality and security?
How to tell if your offshore partner meets your requirements for quality and security
One of the easiest ways to figure out whether your offshore partner meets all your requirements about quality and security is to visit the facilities of your potential offshore partners yourself and have a look into their premises and the way they work!
Ask yourself and see:
- Professional facilities: Is there a professional infrastructure system you’d like to have in your company facilities?
- Working culture: How do they work together as teams and collaborate with you as their clients to ensure quality service and software deliveries?
- Legal uses of software: Are they using legal software and licenses?
These are only a few questions you can ask to test your potential partners in terms of security, professionalism in the job, and respect and trust for their clients.
To sum up, let’s take a look at the infographic below and a deep-dive on creating an amazing piece of software in the DevDay 2016 slides presented by our CIO, Sebastian Sussmann.
- Brant Cooper, and Patrick Vlaskovits. The Lean Entrepreneur: How Visionaries Create Products, Innovate with New Ventures, and Disrupt Markets. 2nd edition. United States of America: John Wiley & Sons, Inc., 2016.
- Deloitte Development LLC. Deloitte’s 2016 Global Outsourcing Survey. May 2016. https://www2.deloitte.com/content/dam/Deloitte/nl/Documents/operations/deloitte-nl-s&o-global-outsourcing-survey.pdf (accessed July 20, 2019).
- Margaret Rouse, Fred Churchville, and Mike Dang. User Interface (UI). 2016. https://searchmicroservices.techtarget.com/definition/user-interface-UI.
- MIT Computer Science & Artificial Intelligence Lab. Passing the elevator test. 2000. http://groups.csail.mit.edu/mac/users/hal/misc/elevator.html (accessed 2019).
- Mountain Goat Software. 101 Inspiring Quotes About Agile. n.d.
- Sebastian Sussmann. [DevDay 2016] The toolkit for an amazing product – Speaker: Sebastian Sussman – CIO at Axon Active Vietnam. 2016. https://www.slideshare.net/DevDayDaNang/devday-2016-the-toolkit-for-an-amazing-product-speaker-sebastian-sussman-cio-at-axon-active-vietnam (accessed 2019).
- Wikipedia. Software Quality. n.d. https://en.wikipedia.org/wiki/Software_quality (accessed 2019).
- Wikipedia. User experience design. n.d. https://en.wikipedia.org/wiki/User_experience_design.