This version of the page http://www.intropro.com/services (0.0.0.0) stored by archive.org.ua. It represents a snapshot of the page as of 2014-04-10. The original page over time could change.
IntroPro - Services

We don't just provide development resources to Customer, we work together with a Customer through the full lifecycle of the project starting from the inception in Customer's business and technological domain diving deeply into requirements, collaborating and proposing architecture design which fits objectives and constraints, providing documentation and finally executing engineering tasks to implement software components, perform quality assurance, deliver and support the final software solution

Software Architecture

We believe that Architectural Design of a complex Software Solution is the skeleton for functionally complete, stable, scalable, extensible and capable for long term evolution system. The design can be formal and process driven, or informal akin to intuition and experienced driven. Nevertheless the essence is that we don't start any product development without architectural documentation proposal and in many cases, especially for advanced features with new technologies or critical attributes constraints, with Proof Of Concept which tremendously helps to justify the proposed architecture.

We deliver the following Software Architectural Blueprints with the Solution:

  • High Level Design Document - Architectural overview of the System describing the product both from business perspective and from at the technical level with schematics,flows and interactions with other systems in way easy to understand for all stakeholders.
  • Software Design Specification- Detailed Design of the System, providing verbose description of a Software solution, including modules composition, modules interfaces, integraton and transports, core algorithms, sequence diagrams, class and component diagrams, database schemas, distributed topology of modules, integration and communication flows with external systems.

We prefer to use UML for descirbing low level details aspects. Due to the nature of Software product lifecycle, the Design Specification blueprints may change during developement and should be maintained and updated reflectingthe code going over several iterative phases

Software Development

Software Development is our core business value for Customers. We execute software implmentation activities of a broad complexity spectrum either in accordance with Customer's in-place policies or using our internal proven methodologies and practices. We can quickly allocate people for StartUp teams for new urgent projects from internal resources or execute a talent hunting within a short duration of time. For different types of project software complexity we are flexible enough to apply methodologies which work best. We are pragmatic driven and not dogmatic driven.

  • Lean Process. Lean architecture and developement process is our preference for very complex systems in international teams where face-to-face communication is often impossible, a lot of in advance thinking and planning is required, standards are important and number of teams can be many
  • Agile Process. This is our preference for internal core development process. We particularly differenciate it from Lean but are not afraid to mix with some of beneficial features.
  • Waterfall Process. Surprisingly, it may still work better than other processes for a very algorithmically complex software in its inception phases 
  • Iterative Process. With a dominance of Agile methodologies Iterative process still has its place in many Enterprises and works well

We are putting very high emphasis on Continous Integration and usage of standard build and repositorys tools in any Developement Process

Languages and Frameworks

We extensively use Spring Framework, Hibernate, EclipseLink and Oracle TopLink, utility libraries like Guava, Quartz.

For SOA Middleware Components Development we use JDeveloper and Eclipse integration with Oracle SOA Suite

Enterprise Architecture

Enterprise Architecture encompasses broader spectrum of aspects than Software Architecture. It  approaches Architectural Paradigms, IT Tools, Methodologies and Processes for the whole Software ecosystems within one Enterprise. We can integrate into Customers' existing established Enterprise Architecture Platform and help with development of business services abiding to Customer's standards and paradigms. Alternatively we can provide unique opportunity for migration of legacy heterogeneous applications to the modern Enterprise Architecture on top of SOA Middleware with experience in architecture, services design, development pipeline and quality assurance

Languages and Frameworks

We extensively use UML tools and Enterpise Architect tools for high level design and system prototyping. We utilized existing tools present in SOA Middleware Stack to seamlessly integration design and runtime behaviour and observe the system holistically. As a technological backbone we use JEE,JDelevoper integration with Complex Event Processing, Service Bus  BPEL, BPM, Business Rules, TopLink.

Software Quality Assurance

Quality Assurance of a Software Solution is an integral part of our Development and Delivery Process. We believe that no methodology or programming languages will guarantee stable and functionally correct Software system without rigorous QA validation. Mandatory part of Quality Assurance is also included into Development process with TDD, mandatory unit tests coverage (70-85%), edge systems simulators development

QA Process during the Software Development Flow

  • Requirements Analysis - Business and functional requirements analysis and collaboration with a Customer
  • Test Plan Procedure - Document which describes approaches and process for QA process in the project
  • Test Cases Preparation - Preperation of Test Cases textual description into Test Management Tool or Document
  • Test Cases Automation - Automation of Test Cases for further automated execution either ad hoc or via Continous Integration
  • Test Cases Integration  Integration into Project Management Tools for Reporting and Tracking
  • Test Case Execution - Execution of Tests suite in the Development Flow
  • Performance and Failover Tests Execution - Performance tests suite and failure recovery validation
  • Soak Tests Execution - Long running test for stability and reliability validation

QA Automation in Enterprise Projects

We are strong apologets of Automation of QA activities and Continous Integration usage for driving QA validation steps.

Our QA Engineers are not manual testers. They possess development skills in Shell scripting, usually Python and sufficient Java knowledge to implement features which are required for QA validation:

  • Simulation tools for simulating Edge systems
  • Utility tools for simplifying and automating tedious, time consuming or complex tasks
  • Integration tools for integrating different subcomponents or systems during tests execution. We integrate automatic tests reporting to Test Link and Spira Team suites

Test Automation Frameworks

In QA Automation process we rely extensively on Test Frameworks. We have accumulated marginal experience with the following Frameworks:

  • CA ITKO Lisa Test Suite for functional and performance test in Enterprise Projects
  • JMeter for performance tests
  • Custom Propriatory Framework. We have developed our inhouse functional and performance Test Suite framework for testing complex distributed systems consisting of Database, Distributed Grid, REST Services which requires data validation and correlation among inputs and outputs of different modules with different transport or data sources

Performance Testing

Performance capabilities is usually one of the most important factors for Software product facing high incoming traffic and can be a key indicator for production readiness. We have incorporated automated peformance testing and requirements thresholds validation for different flows and regression indicators in order to keep Performance KPIs unders constant observation and attention. Performance testing is incorporated into Continous Integation flow and is fully automated with a visual feedback

QA in Embedded Software Projects

The workplaces of testers are well equipped with powerful specialized hardware and software.

  • Black Box/Functionality Testing
  • White Box/Structural Testing
  • Unit Testing
  • Regression Testing
  • User Acceptance Testing
  • Installation/Integration Testing
  • Security Testing
  • Internationalization/Localization Testing
  • Performance Testing
  • Stress Testing

 

Maintenance and Support

It is quite natural to provide maintenance and support for developed Software products. We consider maintenance and support as part of continuous evolution of the project, as new features are being flown into existing code base, production and QA bugs are discovered and fixed and rare performance issues should be approached with algorithms redesign or refactoring. This is a normal lifecycle of the Software and we would like to support Customer with these activities. For simultaneous development of different features for various product streams we have established a Development Pipeline for a seamless evolution and integration merge among branched streams.

We provide administration, support and troubleshooting for versatile IT environments and infrastructure including Virtual Machines Farms on VMWare and Citrix products, Databases, Network Equipment infrastructure. The level of managed environments services like business or off-business hours support, on-site presence or gamut of responsibilities are negociable in each case to meet expections and achieve maximum benefits Read More

 

IT Consulting

IT infrastructure is growing more complex and versatile each day and every enterprise has to deal with this trend. Large corporations especially in software industry usually take on this challenge in house, but for many smaller and midsize companies this area can distract from main business focus and drain resources and increase undesired expenditures. IntroPro can provide IT consulting services and help in the following areas:

  • Existing IT Infrastructure analysis
  • Trouble points and defficiencies identification
  • Infrastructure optimizations
  • IT layer rearchitecture
  • Support in all phases of IT activitites

Scroll