There are 5 essential components of our solution that we continually focus and build upon as it is the foundation of our solution delivery. It is key to our business and operation strategy. The 5 components are:
-
Development Approach
These 5 elements will help our customers and our company build solutions that supports Invest Once, Engineer Once and be ready for the Web, Cloud and Devices Anytime!
Architecture
The key to needing for an architecture is for it to support our solution strategy, which needs to:
■ Be Vendor or Provider Agnostic
■ Support for Reusability of technical components
■ Support different user interactions or interfaces
■ Flexible and easier integration with external services and systems
We started out thinking about the business to be developing just cloud applications but finally realize that we need to expand the scope of coverage.
Why? Companies are not adopting the cloud services and moving their applications to the cloud as rapidly as expected despite the benefits of better economics, flexibility, scalability and elasticity that it will bring.
Why are they not moving aggressively to the cloud? One key reason is its about an immediate potential threat to the company’s bottom line – Capital expenditure that has already been expended but not fully depreciated. If moving all the applications to the cloud means having to write off the remaining capital expenditure, it can impact the company’s bottom line results. Obviously, there are other reasons, too.
A better scenario and solution will be this – A solution that can be engineered today for the on-premise capital invested infrastructure and when the company is ready to move to the tremendous benefits of the cloud, there is no re-engineering of the application needed and the same application will work there, too. Good news – our solution is vendor agnostic and when you decide, it will work on the cloud service provider. We believe it is a strong value proposition that will allow the company to invest once, we engineer once and it will be on-premise web, cloud and mobile devices ready today. It reduces significant risks for companies.
Keypoints
Layers are decoupled allowing flexible and platform-free implementation
Application becoming more vendor agnostic
Each node can be deployed separately supporting on-premise, cloud or hybrid deployment
Language & Tools
Next component is about our choice of language and tools we want to use. This is synonymous with someone writing a book or note deciding on what language. If you want universal appeal, you would write in English as this is the lingua franca of the world.
Similarly, in the IT software development world, there are so many languages, tools etc and as a company, we cannot be “Jack of all Trades and Master of None” and write in all languages. Its not sustainable. We need to be very focus and select the right language and tools to use.
So, what’s the language to focus on? Well, we look at survey data to decide on the language and tools to use. We wanted to select the language and tools most people use. This is important as we do not want to select something that is least popular and hence, difficult to find talent to do it. In addition, it is about Supply and Demand – When there are limited talent, it means very expensive talent to acquire and keep.
From the survey information, we selected Java and Javascript as it is by far the most popular. Same goes with the tools – we selected the most mature and most popular.
Keypoints
Automation
Automation component is the cornerstone of our strategy. It will enable us to deliver faster, better and smarter.
Let us start by espousing the whole idea of automation and no better to take as an example or best practice than the Automotive Manufacturing.
Think of how advance has car manufacturing and delivery come since the 1960’s or earlier. From a very manual and labor intensive process to now a much automated process. As you know, the problems associated with a manual process is about limited capacity, human errors contributing to quality issues etc. As they say, “To Err is Human…”. Hence, cars manufactured in the 1960s are riddled with defects, long lead time, significant effort etc.
The solution to this was the introduction of machines and robots that does the work in many of the processes. Resulting in consistent and good quality, reduced lead times and less human effort. However, an element of human labor is still needed to maybe, do the last remaining 10-30%.
If you understand the huge impact of automation to car manufacturing and the tremendous benefits to the customers, NubeVision takes this very idea to apply to the software development, which in essence is “manufacturing” an IT solution.
The software development process is very manual and labor intensive process where we have engineers to write every line of code. And, as a result, it is riddled with problems – defects, limited capacity and effort, people burnout, talent issue etc just like any other human intensive business or operations.
The important equation that automation will bring to NubeVision is ETQ=C .
Reduced Effort, Faster Delivery and Improved Quality are the results of the automation. The resulting benefit is our Customer’s investment cost to acquiring such an IT solution is much lessened. It becomes a risk averse approach for the Customer.
This forms the keys to solving the software development challenges outlined.
NubeVision’s innovative solution to this is about increasing AUTOMATION of the software development journey and process.
Combining with the other components of our solution, it will allow NubeVision to be a prolific producer of software applications.
Where should we prioritize our automation effort with significant impact and what do we do?
Keypoints
Automation Solution – Application Code Generation Toolset
30% of effort and time in software development is really non-code related. It represents only the tip of the iceberg but it is important, too.
70% of effort and time is program code related activities where code is associated with creating, updating, testing and maintenance. Therefore, if code is incorrect, it does have major impact to the overall effort and quality of the software. This is where we believe automation will deliver tremendous benefits to the overall project. Many of the software development challenges are related to code.
NubeVision solution here is creating a toolset for our engineers to use to generate software code and not writing all software code. That, we have done and continually improving on the toolset. We named this umbrella of toolsets nbGenerator or nbGen.
We built these toolsets. We owned those toolsets. Important to note is that these toolsets are not a product to sell but are tools of the trade for our engineers to use to help build IT applications for our Customers FASTER, BETTER and SMARTER.
These toolsets are built to support the key architecture that we have crafted in the Architecture component we have outlined.
It is important to own those toolsets as we can enhance it as we move forward. We can dictate what we put into these toolsets and not at the mercy of any particular product vendor and their schedule.
Just like in the car manufacturing, there is still the 10-30% manual effort needed, the same is where we want our toolset to do – having only the last 10 to 30% of code written.
Methodology
The right development approach will put good organization and process to the development. The traditional sequence Waterfall approach has its own merits. The Agile approach provides a more iterative and incremental building of the solution, which can be very productive.
In a commercial development where projects are outsourced, it is difficult to totally be done in Agile as our customers do want to know the costs, scope and schedule at the outset. And, so do we.
The Waterfall approach makes it difficult for customers to see progress until late, which many times, causes delays due to last minute changes.
We believe a Hybrid Waterfall/Agile approach is the right approach to adopt in extolling the virtues of both approach – The whole is greater than the sum of its parts!
We introduce the Customer Review Sessions to allow our Customers to review the functionalities that has been built to date by demonstrating the fully working functionalities. If changes are needed, there is still time and opportunity to make corrections before the end of the project. This minimizes further risks for project delays.
Keypoints
Resource Talent Pool
A key to our business is really about People or our Resource Talent Pool.
As you can see from earlier that through automation, we reduce time, reduce effort and improve quality which will lead to investment cost savings for the customer.
However, equally key to the investment cost is also the labor rates we apply, which in turn is related to the labor cost of our talent pool. Therefore, if we apply lower labor rates, it will then further reduce the investment cost for our customers.
Key labor cost variable is Salary. Salary is dependent on location and experience of the resource.
In terms of location, we have developed our first Delivery Center in Manila, Philippines, where it is one of the lower labor arbitrage location. In addition, its high oral and written English literacy needed to communicate with our customers, makes it the right first location for such a center.
In terms of experience of our resources, with the toolsets we have developed, we believe that a less experienced but capable engineer will be able to deliver productively. With less experienced engineer comes lower salary cost.
As you can see that the double cost optimization engines of Automation and a strategic placement of the Resource Talent Pool will help deliver an IT solution with lower investment cost for our customers.
Keypoints
Have Any Questions?
Let us give you more info on how start your journey toward Cloud Technology.
Level 10-1, One Global Place
5th Avenue & 25th Street, Bonifacio Global City
Taguig 1632 Philippines