This article was written by the Managing Director, of Kallos Solutions, Mr. George Vettath, which depicts the capability profile of good digital transformation partners, and why Kallos Solutions can be the right partner for your development initiatives.
Your software development partner is no longer a back-office function that you source work form occasionally. It is integral to your business strategy. It does not matter if it is done in-house or outsourced. What matters is that it is geared up to continuously respond to business initiatives, that are often entwined with a digital transformation objective. If your software development arm fails to deliver, your business loses vital opportunities.
So, what is the ‘new normal’. All functions now want to transform, users are demanding applications that are easy to use and real time, technologies are changing rapidly, delivery teams are stretched like never before, time frames are short, skill requirements are highly specific, and the stakes are high. If you are working with a software development arm that is geared for this, then life may not be as stressful. Here is a checklist of capabilities you should be looking for in your software development arm.
One can no longer expect applications to be built ground up. One should be leveraging RAD/ PaaS/ Low Code platforms, using proven open source components, combining available SaaS products and assembling pieces that are already built to deliver what’s required. This requires an organization that has already invested in platforms and already identified proven reusable components and point cloud SaaS products, so that when the time comes to deliver one is only assembling or configuring things and keeping development to the minimum. If the organization is searching and putting together pieces after the project start, and coding a good part of the application, then one is probably outdated, making the project risky/ costly and inviting all the red flags that lead to project failure.
Most software projects fail because of the gap between true requirements and what is done by developers. Specifications are not accurately conveyed, or it changes, or is misunderstood. If the organization does not have enough specifications and iterative prototyping mechanisms to obtain the specifications accurately, and have feedback mechanism to correct inaccuracies, then one is heading for trouble. You can ask your provider for specification tools, prototyping tools, test case creation tools or other forms of methods and approaches that ensure leakage proof accuracy to what the business needs. This will separate the wheat from the chaff.
Choose the right geographic locations for your team composition. In today’s world, with the availability of a variety of sharing and conferencing tools you can afford to choose the right combination of people based on skill, competency, cost and overall capability. One could therefore source UI specialists, business analysts, development and testing teams, SaaS platform and open source components from anywhere, to deliver the need. It does not matter if all of them are a part of the same organization, but what matters is that they work together to deliver the project as per specifications, on time. Cost of people is an important as capability and you need the right mix of both.
UI interaction should be spot on, since customers and users expect it. This is best done by having specialists who are well versed not only with good design but know how to leverage the latest in responsive design tools and components available in the market. The ability to choose the right layout for the right interaction situation is clearly a specialist function. To get it right, one needs to iterate early in the development cycle. It is also equally important to ensure that the design when developed should not lose the design objectives because of technical limitations. The UI team should continue to be involved in the project till the delivery is complete.
Architectures have a lot of nuances that can make or break a project. Just choosing the right technology stack and low code platforms are not enough. The architecture of interaction between the devices, the services at the server end (nowadays almost always cloud) and the database interaction can affect performance and integrity if not done right. One needs to plan for an architecture that can scale while leveraging the power of cloud server banks, and deliver these consistently across the applications. Earlier generation software that are not designed for the cloud can negatively affect performance.
The use of frameworks, tools, open source components and other forms of acceleration does not absolve you from following the basics honed over 50 years of software engineering practices. The primary ones are
Disclaimer:The author is the founder and CEO of a Kallos Solutions (www.KallosSolutions.com), and the intent of this article is not only to share knowledge, but also to solicit. At Kallos, we practice what we preach in all the above areas, and that’s why we have been delivering hundreds of solutions to customers successfully in over 10 countries for the past 13 years. In case you have a digital transformation need, we are at your service. Nearly three decades of experience in Enterprise Applications does give the author some expertise in summarizing what’s important, and would love for some inputs from readers.