Application development and maintenance service (ADMS)

Techtez design, develop and maintain applications for its customer. Develop modernize technologies and legacy platforms. Provide sustainable value and create a process that ensures high productivity and efficiency in the solutions.

ADMS Design Considerations

TECHTEZ follow a structural design process and considerations in designing an application.

Deployment

Application deployment is one of the key design aspect which has major influence on the design.

  • Standalone Vs SaaS (SaaS application need lot of consideration on UI/UX design, UI user size, user roles, secure access, data abstraction, etc.
  • On-premise Vs Cloud On-premise deployments need careful sizing for HWs, scalability aspects are very critical as its going to have major impact on the cost. Whereas cloud deployments has the advantage of dynamic scaling, administration and monitoring etc. But more deliberation needed with integration, data security, regulatory consideration etc.

Let it be any deployment model, DevOps helps in streaming this.

TEHCTEZ has expertise in Kubernetes and Rancher based DevOps solutions.

Integration

Inter-process, inbound and outbound integrations are complex design considerations.

  • Interfacing technology, data definition and interface security are the key aspects of integration.
  • Defining the interface standard is complex design aspect. Good interface design will ease the system integration time during deployments.

Security Modelling

  • Application security modelling design is going to help in identifying the issues at the early stages. (which will reduce the development and testing time).
  • There are sophisticated security modelling tools (like Microsoft threat modelling) helps in designing a robust secure application.

Performance

Application performance needs a clear objectives and right tools to measure.

  • Scaling (Vertical / Horizontal)
  • Thread modelling (design patterns like producer / consumer models)
  • Connection pool management
  • Caching

Inter-process

  • Inter-process communication is critical design factor, which is importance for system performance, data integrity and business integration.

Data Modelling

Application data needs thought full design as many countries has it own regulation on collection, persistence and privacy.

  • Data definition and validations (XSDs, WSDLs and DB schema)
  • Data integrity, privacy, abstractions, internationalization, etc.

High Availability

High Availability and fault tolerance design are critical aspects of any application

  • Multi node clustered systems
  • Fault tolerant (automatic failover on fault)
  • Disaster recovery (active – passive, data sync etc)

ADMS Development Considerations

Good design wins half the battle.

Critical development considerations includes identifying the critical functions and well defined process. Process includes the tools, cycles, reviews, validations and orchestrations. Matured process ensure timely delivery of quality critical functions.

Open Source vs Licensed vs Native Development

There are pros and cons in choosing Open source tools vs Licensed vs Native development.

  • Open source usually build by a large community and which get mature over the time, choosing right open source tools for the application is very important.
  • Where as native development need expert coders, good reviews, long development / testing cycles, etc.
  • Open source comes with the disadvantage of frequent releases, licensing compliance, inadequate support, etc.
  • License tools shall over come the disadvantages of open source and native development, downside is the licensing cost.
  • Choosing right mix of open source, licensed and native development will help in building a good stable application and good period of time.

TECHTEZ has the experience and expertise in choosing the right mix of these tools.

Development Process

Good development process ensure timely and quality delivery, as time to market is shrinking, it critical to choose right process (be it V, Agile or anything).

With Agile getting maturity, its benefits are more compare to other models, so its adoption are higher.

With the right vision and funds, organisation can easily move to Agile based module, which needs new team, tools to adopt agile model development.

TECHTEZ has experience in delivering Agile and V models.

Continuous Integration and Validation

Continuous integration and validation helps in fast track delivery of Critical application features and go to market needs.
Well defined validation process (automated or manual) supported by right tools will help quality testing and fast delivery.

ADMS Testing Considerations

Software Quality Assurance is critical functions which assures quality software delivery.
TECHTEZ has vast experience in quality assurance.

Test Strategy

Test strategy define the objectives of the testing, quality measurement metrics are defined, entry criterial and exit gates are well articulated.

  • Test planning starts during the design phase.​
  • Identification and formulation of functional and non-functional requirements.​
  • Sanity or smoke test planning for every deployment to ensure no breakages.​
  • Identification of infrastructure and tools needed for testing.

Test Development

Testcases are developed, categorized, persisted and assigned to engineers.

  • Quality of testcases decides the quality of application outcomes
  • Each testcase should have clear input and output criterial defined.​
  • Requirements to testcase mapping matrix need to developed​
  • Test case dependencies need to chalked out.
  • Test data preparation need to be completed as part of test development.

Test Execution

  • Test execution are performed manually or by automation.
  • White box and Black box need different strategy and execution.
  • Test execution is very thoughtful process, needs in-depth knowledge of application and its functions.
  • Test case execution need various levels of checks (like logs, DB, etc).In some incidents, team end up analysing network traces to identify the issues.
  • Using best practices and learnings will help to deduct quality issues.

Test Reporting

  • Quality issue reporting needs right artifacts.
  • Choosing the right priority and problem severity is critical in problem reporting.
  • Publishing right execution and quality metrics is important in avoiding unforeseen delays (tools like JIRA helps the most with reporting)

Key Learnings

Project key learning session after every release shall uncover what done right and what’s missed. This learning are treasure for the continuous improvements.

ADMS Case Study

Our US client is market leader in Telecom software products and solutions.​

TECHTEZ manages one of their core product (three tier application) which has a large end-customer (Telcos) base across the globe (10 countries and 15 Telcos).

  • Its complex multi node architecture, design to handle millions of transaction a day.
  • Application running in multi node is JBOSS clustered for load balancing and high availability.
  • Application running in each node is horizontally scalable
  • Has multiple interface with external systems,
    • Telco EAI integration using JMS or RESTFul service
    • Telco NE integration using CORBA, TCP/IP or Webservices
    • Regulator Central DB using SOAP/XML webservice
  • UI interface design to handle hundreds of parallel users.
  • Application uses following technologies and tools.​
    • Java 8, JBOSS7, Apache web server, RHE Linux
    • JMS, RESTFul / SOAP webservice, CORBA
    • Oracle or MYSQL DB
    • Struts and Angular framework for UI
    • Silk performer, Selenium automation(UI), SOAP UI (webservice automation), JIRA