Navratil International Inc.

                     The Leader in Software Development Strategies




White Papers


Contact Us



Navratil International provides the following services:

1. Software Development and Process Improvement

Business Requirements Definition

Functional Design

Technical Design

Coding and Unit Testing

Quality Assurance

Knowledge Transfer

2. Project Management

Define Project Management Standards and Guidelines

Manage the Project

3. Internationalization and Localization

Research and Requirements Definition

International Software Design

International Knowledge Transfer


1.  Software  Development and Process Improvement

The following sections summarize the type of software development services that we offer our customers. The organization of these services closely matches the Software Development Process that we encourage our customers to consider.  The overview for The Software Development Process, found on the White Papers page of this web site, provides a detailed description of this approach.

Business Requirements Definition

Perform Competitive Analysis

Maintain comprehensive data on key competitors, including current and future offerings and price lists. This information is obtained from competitor web sites and marketing material, as well as provided by your own sales and marketing staff.  It is is used as input for the Business Requirements.

Solicit Customer Input

Contact existing customers on a periodic basis with questionnaires that assess current satisfaction with the product functionality and performance.  In addition, maintain ongoing contact with customers to solicit product enhancement requests.  Finally, establish a key customer group to be used as a sounding board for future enhancements currently under consideration.  

Develop High-Level Business Process Flows

Identify high-level Business Process Flows that represent how an end user conducts his business. These high-level Business Process Flows are used  as input for the Business Requirements.

Develop Business Requirements

Maintain on an ongoing basis an updated Business Requirements document that provides a detailed list of functionality for all supported products.  This document describes the current functionality, as well as the version of the product in which the specific functionality was introduced.  It also  includes future enhancements and the scheduled version in which they  will be introduced.  In addition, key functionality that management feels should not be included in the product is clearly identified. 

The Business Requirements document is the key product roadmap that drives all product development activity.  This document is also intended to be used for preparation of Request for Proposals (RFPs) and identifying functionality to be included in sales and marketing material. This is a key document that provides a high-level definition of product functionality across multiple releases of the product. This information is also critical for customer services personnel who must support customers at different release levels of the product. 

Return to top

Functional Design

Expand Business Process Flows

Expand the Business Process Flows initially defined during the Business Requirements Definition phase of product development.  Expanded Business Process Flows are used to identify the way in which a user navigates the product in order to conduct his business. 

Business Process Flows developed during the Functional Design phase of product development are further expanded and used during the Testing phase in order to ensure that all business functions supported by the product are fully tested.  Ultimately, a subset of the expanded Business Process Flows are selected for use in creating product training material and product demo scripts.

Develop Functional Designs

Heavy use of modeling is a key aspect in developing the Functional Design.  Screen and report layouts are developed at this time and undergo considerable review by end users of the product.  

Develop the Functional Designs that are detailed, user-oriented documents that clearly spell out the product functionality.  The format of the Functional Design closely resembles the format of the user documentation, since the Functional Design information needed to be communicated to the developer is very similar to that needed to be communicated to the ultimate user of the product. 

The key benefit of this approach is that the user documentation is prepared very early in the product development process.  In addition, under this approach documentation is prepared by those responsible for the designs at the time when they are the most familiar with the product.  High-quality user documentation with little additional cost is the outcome of this approach.

Return to top

Technical Design

Participate in Functional Design Reviews

Participate in Functional Design reviews in order to stay apprised of the feature direction, and ensure that the technology supports the desired features.

Perform Acceptance Review of Functional Designs 

Sign off on the Functional Design, thus, ensuring the Functional Design is sufficiently detailed and complete.

Perform Database Design

Develop the Database Design based on input from the Functional Design as well as input from the Technical Design as it is being developed.

Develop Technical Designs

Develop the Technical Design based on input from the Functional Design and the Database Design.

Develop Installation Guides

Develop the preliminary Installation Guide that ultimately will be used to install the product during testing and ultimately at the customer site.

Return to top

Coding and Unit Testing

Code the Product

Code the product based on input from the Functional and Technical Designs.

Perform Unit Testing

Unit test the product based on the Functional and Technical Designs.

Return to top

Quality Assurance

Develop Test Plans

Identify the scope of the testing to be performed based on the Functional Design and Business Process Flows.  Develop high-level and detailed test plans. It is at this point that we define exactly what will be tested, and what specific tests must be successfully completed in order to consider the product fully tested and ready to be released to the users. 

Define Test Database Setup Data

Define the setup data for the Test Database. This setup data is also used for the training database and the marketing demo database.  The Test Database contains sufficient detail to support detailed test scenarios.  It is important to note that the Test Database contains real-world setup data that mirrors the data that will appear in training scenarios and demos for prospects. 

This data is used to load the Test Database once Development has prepared the environment.  If automated testing is available, the setup data also is used to created automated test scripts that load the data.   

Develop Test Cases

Starting with the expanded Business Process Flows defined during the Functional Design phase, create detailed test cases that test all functionality introduced in the Functional Designs.  Review all existing product test cases from previous releases of the product, and modify them if necessary to reflect the changes in the current release. 

Develop Test Scripts for System Integration Testing Using Automated Testing Tools

To the extent possible automate the test cases defined so that they may be executed in an automated fashion using automated testing tools such as Rational Robot.

Manage Outside Testing Resources

Manage outside resources assisting in the testing. These may be contract personnel, in-house quality assurance staff, or field staff temporarily contributing to the testing effort. 

Perform Regression Testing

Execute all automated regression test cases prepared for the previous release of the product to ensure that key elements of the product work as they did in the previous release.  Manual testing is used for all test cases for which automated test scripts do not exist.   

Perform System Integration Testing

Execute all automated integration tests for the new release using the automated testing tool.  Manually execute all integration test cases for which no automated test scripts have been prepared. 

Perform Performance and Scalability Testing

Execute all performance and scalability test cases defined for this release, as well as those tests from previous releases that still apply. 

Perform Cross-Platform Testing

To the extent automated testing is available execute all automated tests in each of the supported environments.  Manually test all test cases selected as critical for testing in all environments.

Manage Beta Testing

Manage the beta sites.  Provide onsite assistance, and transfer the product expertise to the business consultants who perform the onsite installation and implementation. 

Certify Software Performs as Designed

Assist management in the determination as to whether the product performs as designed and may be released to customers.  Once all prescribed test cases have been successfully completed and all documentation and education material has been completed and reviewed, appropriate management signs off on the release. 

Return to top

Knowledge Transfer

Develop User Documentation and Online Help

Use the Functional Design as the starting point for the User Documentation.  Since the Functional Design intentionally was formatted in the format of the User Documentation, very little is necessary to transform the Functional Design into the User Documentation.  The Online Help closely resembles the information found in the User Documentation.

Create the Training Database

The Test Database and the Training Database are designed to be one and the same.  Thus, the Training Database is merely a copy of a refreshed Test Database.

Develop Customer Training Materials

Select a subset of the Test Cases for training scenarios.  Execute the Test Cases and create training scenarios from screen prints of the screens.  The Training Database is used for training purposes. 

Create the Demo Database

The Test Database and the Demo Database were designed to be one and the same.  The  Demo Database is merely a copy of a refreshed Test Database. 

Define Demo Scripts 

Select a subset of the training scenarios for developing demo scripts. 

Develop Marketing Collateral Material

Create high-level marketing brochures using the Business Requirements document as a source.  Create white papers and fact sheets describing selected functionality in the product using the Business Requirements, Functional Design and Expanded Business Process Flows as input.

Train the Services and Support Group

Use the Business Requirements and Training Material for instructing the in-house Help Desk and Services group on product functionality.

Return to top


2.  Project Management

The following summarizes the project management services that we provide our customers:

Define Project Management Standards and Guidelines

Define the Project Management approach to be used consistently across all development projects.  Define the standards and procedures that will be implemented in a consistent way using a  standard format and a standard tool. This ensures that all Development project plans and statuses will be communicated in a consistent fashion.  Regular communication will be maintained among the Development, Product Management and Sales & Marketing groups as well as to appropriate others who need to be informed of the status of these projects.          

Manage the Project

Manage the project and schedule.  Maintain a portfolio of all projects, and  assume the responsibility for the successful and timely execution of all development projects.  Maintain communication among the Development, Product Management and Sales and Marketing groups to ensure all parties understand their responsibilities.  Assume the role of key contact person for inquiries regarding Development project statuses.  

Return to top


3.  Internationalization and Localization

The following summarizes the internationalization and localization software development services that we provide our customers:

Research and Requirements Definition

We have found over many years in the business that there are no quick and easy solutions to developing a quality product for the international market. Our approach embodies a common-sense methodology that begins with a clear, concise statement of the international business requirement. To accomplish this we use business scenarios to quantify business activity through the area of the software impacted by the enhancement.  

For example, one of the most basic international enhancements that all multi-national companies must deal with is multi-currency processing in order entry, billing and accounts receivable.  In order to incorporate this feature into existing U.S. software, we first identify the set of possible business flows that the software currently supports.  Next, we add a currency dimension to the business flows by changing the currency of the order, invoice and payment from the base currency to a foreign currency. Now we document this second set of business flows.  Once completed we would have a clear scope of effort and a good user-oriented understanding of the enhancement. 

The introduction of the euro is another good example of an event that significantly impacted the accounting and distribution software of multi-national companies.  Beginning on January 1, 1999, many key accounting and distribution functions required significant changes in order to support the euro.  Navratil International provided its customers with a clear, concise description of the implications of the introduction of the euro, what impact this would have on their software, and what specific changes needed to do to made to ensure euro-compliant products. 

International Software Design

In addition to defining the requirements, we provide consulting assistance to implement our recommendations. We have assisted clients develop software that deals with Multi-Currency Invoicing, Euro Triangulation, Translation of Financial Statements (per U.S. FASB 52, U.K. SSAP20 and IAS 21), Value Added Tax (VAT), Goods and Services Tax (GST), Intrastat, Draft Processing for France and Spain, and Bank Transfer handling for various European countries.

International Knowledge Transfer

We specialize in the development of knowledge transfer documents relating to international features that are tailored to specific software packages.  We develop formal training material and end-user tutorials that combine a conceptual overview of the international feature with the specifics of the underlying software package. Our training material illustrates how the international features are configured to meet the requirements of specific countries. 

Return to top


For additional information, contact us at Navratil International, Inc.



Modern Office Building, Brussels, Belgium