Home

Based in the North West of England, Avus Software Engineering Ltd develops data driven software solutions for all business sectors.

It is our responsibility to ensure your data fulfils its true potential.

We recognize no two requirements are ever the same, brief possibilities include:

Our Web site concentrates on describing why Avus Software Engineering Ltd are different to other solution providers, please investigate further to find answers to why you would want to use us and how we can help you. For an overview of the services we do, and don’t, provide read the ‘Summary’ section at the end.

Please contact Nigel Bailey mcsd for a more detailed discussion particular to your organisation.

Vision

Avus Software Engineering Ltd recognizes that running a successful IT organisation requires using the right technologies coupled with the ability to effectively apply those technologies. To achieve success Avus Software Engineering Ltd follow the Microsoft Solution Framework (MSF) team, risk management and process principles and are committed to providing the full IT life cycle of plan-build-manage that forms the backbone of the successful IT solution regardless of the size of the solution.

In the first instance, Avus Software Engineering Ltd ensures a clear vision of where your organisation needs to be based on business drivers and other reasons specific and internal to the organisation. A scene from Lewis Carroll’s Alice’s Adventures in Wonderland—when Alice asks the Cheshire cat for directions—speaks volumes about planning and knowing where an organisation wants to be at a given point in time:

    “Would you tell me, please, which way I ought to go from here?” asks Alice.     “That depends a good deal on where you want to get to,” said the Cat.     “I don’t much care where,” said Alice.     “Then, it doesn’t matter which way you go,” said the Cat.

This is the planning conundrum: Until you know where you want to go, you can’t really determine a way to get there. Unfortunately, many organisations are in a similar situation. Often, the organisation knows it wants to go somewhere—but that “somewhere” has never been clearly defined or communicated.

Soution Framework

The Microsoft Solution Framework contains three models: Risk Management, Team and Process. Individual organisations may or may not adhere to these concepts, however Avus Software Engineering Ltd employ them as a baseline to provide a consistent approach to solution development.

This approach may appear overkill for smaller projects or smaller organisations however experience shows that a consistent development policy benefits everyone involved. Customer satisfaction and appreciation of the development environment is greatly enhanced.

Risk

Every project involves risk. Therefore, managing risk successfully is crucial to the success of the project. Avus Software Engineering Ltd sets forth a discipline and environment of proactive decisions and actions to continuously assess what can go wrong, determine which risks must be dealt with, and implement strategies for dealing with them.

Risk management should be a part of every project. Risk involves not only technology, but also people and processes.

The MSF risk management model uses three strategies to manage risk: reduction, transference, and avoidance. No single strategy is better than the other two. The best strategy for any given risk depends on the nature of the risk.

Proactive risk management involves identifying risks ahead of time and preventing them through reduction, transference, or avoidance.

Risk management is allied to experience. Knowledgeable engineers mix a practical understanding of infrastructure, platforms, technologies, peripherals, etc. with a common sense attitude about what can go wrong. The best engineers have a sixth sense and are able to get inside the problem domain resulting in savings in time and wasted effort.

Team

Teams organised under the MSF team model are small, multidisciplinary teams in which the members share responsibilities and balance each other’s competencies to focus tightly on the project at hand. They share a common project vision, a focus on deploying the project, high standards for quality, and a willingness to learn. The team model prescribes no single leader: The members work together as a team of peers, each member having his or her own defined role or roles, with each role taking the focal point at different points in the process. Communication is key in making the team model work.

Teams have six roles: product management, program management, development, testing, user education, and logistics management. On any project team, all roles must be represented. The number of people filling the roles, however, may vary depending on the size of the team.

Regardless of whether your organisation adheres to the Team model, all six roles must exist within the organisation to produce a successful solution.

Process

The Process model establishes the order for project activities. The MSF process model originated from the process used by Microsoft to develop applications and evolved to combine some of the most effective and popular principles of process models into one model that can be applied across any project type - a phase-based, milestone-driven, and iterative model.

The following four sections describe each phase of the MSF Process model.

Envision

The purpose of the envisioning phase is the creation of a high-level view of the project’s goals and constraints. The main deliverable during this phase is the vision/scope document, which contains an analysis of the business problem, a description of the goals for the product, an outline of the solution concept, profiles of the product’s users, and design goals. The scope of the project will also be determined. The envisioning phase culminates in the vision/scope-approved milestone.

Plan

The planning phase drafts a functional specification, a master project plan, and a master project schedule. The functional specification describes what will be built and includes content such as product design goals, requirements, features, and dependencies. The master project plan describes how the product will be built, and the master project schedule describes when and in what order it will be built. The planning phase culminates in the project plan approved milestone. This represents approval to build the product.

Develop

The developing phase focuses on building and testing the product. This phase involves a series of internal releases of the product, developed in parallel and in segments, to measure the progress of the product and to ensure the pieces of the product are synchronized.

The testing process is not limited to the stabilizing phase, but is an integral part of the developing phase. Because the ultimate role of the tester is not just to find inconsistencies, but also to assure quality, the tester must ensure that the product will solve the organisation’s business problem. Toward that end, the tester will perform coverage testing, which is aimed at testing the features and code of the product, and usage testing, which is aimed at testing the product in its expected user environment. Another important part of the developing phase is inconsistency management and triage.

The developing phase culminates in the scope complete milestone, at which point all features of the product should be in place, the product should be ready for formal stabilization, team members and key stakeholders should have agreed on what features to include, and materials to support user performance should be at a baseline.

Stabalise

The stabilizing phase begins with beta tests of the product and ends when the customer accepts the product as complete. Testing during this phase emphasizes usage and real-world testing. The team focuses on resolving and triaging inconsistencies and getting the product to the point where it is ready to ship. The stabilizing phase culminates in the release milestone. When the team reaches the release milestone, the product is transferred to operations management and support (or, if you are a software vendor, to the distribution channel), and the team begins the MSF process again, preparing for the next release.

Infrastructure

All software requires an infrastructure on which to operate. An infrastructure consists of Personal Computers, Servers, Operating Systems, Local and Wide Area Networks, Printers, Scanners, etc. On top of all of this, most organisations neglect to consider personnel.

Each organisation must have a map of their infrastructure before any software solution is considered. The map pictures the topography and contains details specific to each item; serial numbers, versions, purchase date, upgrades, contact details, etc. Then and only then can a software solution be considered.

Avus Software Engineering Ltd will identify your organisations architecture and assist to develop a vision to ensure purchases meet the business requirement. Informed purchases maximise return on investment and result in an extremely high ‘mean time between failure’ (MTBF).

Understanding the enterprise architecture forms a large part of the Envisioning and Planning phases. Once the architecture is known and documented, it is a simple task to record when changes, purchases, upgrades, etc. are made. This detailed investigation is generally a one off expense.

Finally, the investigation focuses on risk analysis and management. This iterative continuous process must become second nature to minimise surprises.

Microsoft has devoted a lot of time to explaining the importance of Enterprise Architecture Planning. Click here to view their white paper in Adobe Acrobat. If you do not have Adobe Acrobat installed click here to download and install it.

Advice

Avus Software Engineering Ltd’s focus with advice is to provide impartial investigation of the organisation’s documentation and the conclusions drawn for each phase of the development process.

It is important organisations do not become blinkered. By being impartial, Avus Software Engineering Ltd enable the organisation to learn from others mistakes, especially where new technologies are involved or are being considered for use for the first time.

Avus Software Engineering Ltd provide advice on a day-rate basis.

Envisioning

Investigate viability of the high-level view of project goals and constraints.

Provide risk analysis of the vision/scope document.

Results in a document identifying the un-managed risks and ultimately whether the proposal is likely to progress to the Planning and Developing phases.

Avus Software Engineering Ltd will complete the Envisioning phase for an organisation. See the Development section for details.

Planning

Investigate functional specification, project plan and project schedule to assess their accuracy and viability.

Avus Software Engineering Ltd consider this is the most crucial phase and generally, where organisations make the most fundamental mistakes. The investigation centres on the Enterprise Architecture the planned solution will run on and the technology used to create it. Overlook or get something wrong here and no matter how good the development phase is the project is unlikely to deliver the required functionality and ultimately no meet business requirement.

For the application, areas of investigation will cover Performance, Maintainability, Extensibility, Scalability, Availability and Security.

Like the Envisioning phase, the Planning phase results in a Planning document outlining any areas of concern, un-managed risk, unidentified infrastructure constraints and ultimately whether the plan will progress to the Developing phase.

Avus Software Engineering Ltd will complete this stage for an organisation if we approve the Envisioning phase. See the Development section for details.

Developing

By this phase, assuming you’ve achieved the vision/scope-approved and the project plan approved milestones, the organisation can be sure that what is planned is possible and will satisfy the business requirement.

The Developing phase is, unfortunately, a very emotive area. Up to now, the Envisioning and Planning phases have dealt with fact, now your dealing with individuals and they’re specific talents and areas of expertise.

The MSF Team model outlines roles and responsibilities. One common mistake is to develop to the available resources instead of obtaining resources to fulfil the development. This approach makes a mockery of the whole Envisioning and Planning phases.

Avus Software Engineering Ltd assess’ risk at the individual level, identifying if the individual’s talents are aligned with their role or roles. To achieve optimum results each individual must be Empowered, Responsible and Experienced.

Like the Envisioning and Planning phases, the Developing phase results in a Development document outlining any areas of concern, un-managed risk, training issues or misaligned resources and ultimately whether the Developing phase will produce the solution identified in the Planning phase and progress to the Stabilizing phase.

Avus Software Engineering Ltd will complete this stage for your organisation if we approve the Envisioning and Planning phases. See the Development section for details.

Stabalising

All the hard work to date can come to nothing if there isn’t a plan for the product’s acceptance.

The customer must be in a position to deploy and support the solution. If either of these is not in place, the solution is unlikely to achieve its goal.

Avus Software Engineering Ltd will complete this stage for your organisation if we approve the Envisioning, Planning and Developing phases. See the Development section for details.

Developemnt

Avus Software Engineering Ltd develops solutions that look and feel as though Microsoft developed the product in-house. Solutions are based on Microsoft platforms and technologies.

The solution must extend upon satisfying the business requirement; it can often be what you don’t see that is more important. Most development ignores the ‘user experience’. No matter how slick the product, if the user finds it too difficult or complex then, it may have met the business requirement, but it has failed the Human Computer Interaction (HCI) test.

Each solution has a designated Product Manager that is the Avus Software Engineering Ltd point of contact plus support staff for more general enquiries.

Costs are tailored to the organisations needs:

Envisioning

Investigations begin at the organisations site.

During this phase the organisation outline the business requirement and what the solution is intending to achieve. The organisation may have a solution in mind. Alternatively, there may only be a problem domain identified with no solution envisioned.

Throughout, Avus Software Engineering Ltd’s identify risks from a conceptual perspective. Is what’s envisioned going to achieve the desired results?

There is a huge amount of variables to consider: environment, culture, who’s driving the development, the intended users of the solution, required and desired program functionality, etc. Each carries a risk that must be graded, the greater the risk, the more it may affect the ultimate outcome. Some risks result in a number of possible proposed solutions. It may be that for proposal A the infrastructure will require upgrading, while proposal B uses existing infrastructure but loses some program functionality. The latter often results in a phased release where the missing functionality is provided at a later date once the infrastructure is upgraded.

Use case models are used to describe processes and demonstration applications may be created to emphasise a point or show case a technology.

It is important to propose a solution that meets requirement for agreed lifespan within budget. Each proposed solution carries a different Total Cost of Ownership (TCO) figure that is used to decide which will progresses to the Planning phase.

This phase results in the vision/scope document that contains one or more proposals and the reasons behind them, an estimate on cost and suggested timescales for each proposal.

Planning

One word describes this phase ‘Blueprint’. What is described here is what Avus Software Engineering Ltd will provide, at what cost and to what timescale.

Naturally, this phase requires an in-depth investigation into the Enterprise Architecture, available technologies, user requirements, support, etc. It would be inappropriate to suggest a solution that used Visual Basic version 7 (.NET) when support personnel are only experienced in version 6. Likewise, a solution that employs ActiveX Data Objects (ADO) version 2.6 will fail if the organisation’s infrastructure only accepts version 2.1.

It may appear overkill for smaller organisations or solutions but an oversight here can severely hinder a project and may ultimately cause its cancellation.

Identify risks to manage for the chosen option, e.g. if the organisation must upgrade a server, or similar, and it doesn’t happen or fails then a dependency of this type will affect deployment. Similarly, the organisation’s key contact becomes unavailable this will affect development progress as timescales will slip.

Results in documentation providing the basis of a contract between Avus Software Engineering Ltd and the organisation.

Developing

Avus Software Engineering Ltd is a team of peers, all of who are experienced in their role, responsible for their actions and empowered to make decisions.

The customer is involved at his stage to verify the development process at internal milestones.

The phase results in a tangible product.

Stabalise

All the hard work is completed by this phase. The solution enters Beta testing within the organisation. Once the customer is satisfied with the product it is frozen as a versioned release then handed over to the organisation’s support personnel.

Larger solutions may require extended rollout with additional support from Avus Software Engineering Ltd that often means dedicated support avenues.

Data

Data is integral to every business, understanding the data at your disposal gives your company a competitive edge and reduces costs.

It may come as a surprise that most companies have no perception of how important their core data is. This not only reduces opportunity and therefore profits but also impacts on the company’s external profile. It is also means their data is vulnerable to theft. How many employees have walked off with, at best sensitive data, at worst complete lists of customers, suppliers, trading partners, financial details, etc. A companies directors have a responsibility to ensure due diligence when it comes to the companies assets, data is the most important intangible asset, storing it within MS Access or MS Excel is simply unacceptable.

Avus Software Engineering Ltd identify ways to secure data, releasing and extending its potential through correct storage, retrieval, manipulation and analysis allowing greater insight of trends and opportunities as well as enhanced communications and relations with trading partners and customers.

The sections below attempt to explain fundamental issues with data security, storage, retrieval and manipulation.

Store

It is surprising how data grows. It all starts innocently enough with a single file in some format, e.g. Excel, Access, text etc., saved to the intended users PC. Fine until somebody else requires the same information. A simple solution is to send them a copy of the file. This is fine while the file remains read-only, but that’s rarely the case. Soon the copies are updated separately; this raises the question, which is the ‘Master’ version, and how secure are the copies.

This is not such a problem when your company is small, but as it starts to grow the only solution is to centralise the data allowing each user to access one Master version. Any changes are saved centrally and are visible to all users.

The solution also creates problem, certain types of data sources severely affect network traffic to such an extent that the network can almost grind to a halt. This is dependent upon the amount of data, the number of users and the type of access. The worst culprits are ISAM databases of which MS Access is the most common.

This happens because the database engine does not process a request for a subset of data (a where clause), instead it sends all of the records over the network to the requesting client where the filter is applied. Consider the impact of several users accessing an ISAM data store, or similar. It’s not difficult to imagine the amount of network use for an address list of just 5000 contacts. Multiply this by the number of users and the amount of times they send a request.

The ideal storage method is within an RDBMS database such as Microsoft SQL Server.

Microsoft SQL Server is primarily used to reduce data traffic by applying filter criteria, at source, within the database. Complex algorithms can also be applied to data queries using Microsoft’s SQL Server programming language ‘Transact SQL’ allowing for intelligent results.

SQL server also has built in security that can be standalone or integrated with the Microsoft Windows 2000 platform as well as options for fine-tuning, scheduled backups and transaction support. For a full list of features, visit http://www.microsoft.com/uk/servers/sql

Avus Software Engineering Ltd develops multi-tier client-server solutions where SQL Server is the central data store. Other options are available to suit requirements.

Disaster

It’s not if it will happen, it’s when. At some stage, critical data will be lost. No solution is complete with contingency planning for such an event.

It is important, on occasion, to test recovery procedures and verify the process works. There are numerous backup strategies and media, the most common is DAT but CD’s and DVD’s are just as viable. The Internet is gaining in popularity for organisations with fast data links

The ideal plan uses 13 media to provide one years cover, add one media for each additional year. Organisations must also consider storage of media, off-site and/or fireproof is essential.

Normalise

There a two primary types of database design OLTP and OLAP. The main difference between them is one’s designed for data input, OLTP, whereas the other, OLAP, is optimised for data analysis.

Construction rules for an OLTP database are intended to ensure data integrity. The main focus is normalising. The goal of any solution developer should be a 5NF database; this results in a database driven by pointers, containing unique records with no wasted space and no ‘NULL’ values.

The data source for an OLAP database is ideally a 5NF OLTP database.

Avus Software Engineering Ltd develop new or convert existing data sources to 5NF were appropriate.

Convert

The process of transferring data between storage formats, e.g. text, MS Access, SQL Server, XML, etc.

This is the ideal time to clean and normalise data. Generally, the most corrupt data is address lists and this is what your customers or trading partners first see in correspondence. It is common for companies to hold several highly important related address lists or similar in different formats on separate unsecured computers with each list using a completely different naming convention.

The first process, cleaning, checks for typo’s, capitalisation errors, correctness, duplicity, etc., resulting in clean understandable data. The second process, normalising, minimises the duplication of information through effective table design. Finally, the data can be saved in the target format, normally SQL Server although other formats are supported, see the section on Exporting.

Avus Software Engineering Ltd have yet to come across a data source that cannot be read, cleaned, normalised and persisted!

Dictionary

A data dictionary describes your data, how and where it is held, its relationships, etc. It is one of the most beneficial aspects of the data transition process. It proves an invaluable tool for anyone involved in data management and report generation.

It is rare to come across a company with a valid data dictionary, if there is one it’s normally out of date.

Avus Software Engineering Ltd believes the data dictionary constitutes the foundations of all data development work.

Export

Companies, at times, will share their data with others. Until recently this proved problematic, but with the advent of XML, sharing data has never been easier.

XML is a consistent proprietary method of representing any data (including binary).

XML can be viewed in many ways, e.g. as a web page when combined with XSL and Internet Explorer. This allows you, the provider, to customise how the recipient views the data. It can also be imported into bespoke applications or directly into some Microsoft Office XP products.

XML forms the basis of all Microsoft’s future products, the data transport protocol of the future that is here now.

Avus Software Engineering Ltd develop solutions that allow data export and import using XML.

Retrieval

For whatever reason at some stage you’re going to want to manipulate your data by editing its contents. Data stored centrally is generally manipulated via custom built ‘front-ends’ (clients). These may be traditional desktop, web based or a combination of both.

Most solution developers compound the ISAM network overload problem in the way they request data within a desktop client application. Using data bound controls is the worst method of data retrieval. Each data bound control on a form will require a separate database connection. This approach should not be available for web-based clients although no doubt someone has got it work with unimaginable results.

The most efficient data retrieval method is the ‘Store and Forward’ approach. This requires a programmatic solution and an understanding of ‘Cause and Affect’. When used in conjunction with ‘Microsoft Transaction Server’ or ‘ODBC connection pooling’ the results are impressive. This is the preferred method for ALL data retrieval and the method employed by Avus Software Engineering Ltd.

Client

Microsoft has changed the licensing policy with Microsoft SQL Server 2000. The new options are either per device or per processor. A device in this context can be a workstation, terminal, or any other device running an SQL Server application connected to an instance of SQL Server.

The Desktop version of SQL Server, MSDE, is freely distributable but is optimised to work with a maximum of five concurrent batches, any more than this and it is designed to degrade performance in an attempt to encourage the purchase of device or processor licenses. Depending upon the type of request to the database it is possible to have many tens of devices using a single Desktop database installation without exceeding the five-batch ceiling. This approach is an ideal first step and constitutes quite a cost saving.

Analysis

Why store data if you don’t analyse it to identify trends and opportunities?

Correctly stored data simplifies the analysis process allowing real time reporting through tools such as Crystal Reports and other EIS or via web technology through Internet, Intranet or Extranet portals.

For more complex data a ‘data warehouse’ may provide more scaleable analysis options. See the section on Warehousing.

Seurity

Integrated security allows users access to different views of data depending on their level of permission. For example managers may be able to view all salary information including actual pay whilst data input staff may see everything but pay details. Some users may be able to update and delete whilst others only select. The combinations are almost limitless. When full integration is deployed with Microsoft Windows 2000 Server and Microsoft Transaction Server thousands of users can be managed with ease using ‘Role’ based security.

Warehouse

Also known as an OLAP database, ideally a warehoused database will be a de-normalised read-only version of an OLTP database. The main difference is the way data is held in tables and the number of indexes employed. Data storage methods that would seriously degrade performance in an OLTP database can be used to reduce query times. Data that would appear only once in an OLTP database can appear as often as desired under OLAP rules.

It is safe to say that most databases purporting to be OLTP are actually more like OLAP through sheer bad practice and ignorance of normalising rules.

Avus Software Engineering Ltd include warehousing as a solution option for projects with large amounts of data. Smaller projects, as a rule, do not require this approach.

Mart

Just like a data warehouse only based on an individual department, cost centre or similar.

Web

Everyone knows you can visit web sites look at details and download data of interest.

Avus Software Engineering Ltd can take this a whole lot further but we should point out that we’re not interested in providing just a web presence, free web space, etc. Avus Software Engineering Ltd develops complete solutions using web or desktop technologies not just static graphical web pages or one-off disconnected database solutions.

There is a trend towards companies using web technologies for all client interaction in place of traditional desktop services. This reduces cost considerably for large companies as the business logic is held centrally, changes occur in one place not across hundreds or thousands of individual PC’s.

This also allows for a consistent look and feel. Users accessing over the company Intranet have see the same as a remote worker accessing through the company Extranet.

For delivery using web technologies Avus Software Engineering Ltd use a combination of:

Summary

Avus Software Engineering Limited develops data driven software solutions for all business sectors.

In the first instance it is our aim to outline the organisation’s IT strengths and weaknesses providing clear objectives and milestones required to provide an infrastructure that is secure, performs well, is easily maintained, is available, can be scaled up or down and extended.

It is paramount an organisation’s infrastructure is known and documented as this is the foundation on which all solutions are deployed. We assist organisations to understand the ‘cause and affect’ a proposed or deployed solution has on their infrastructure, this includes personnel.

As engineers, we understand systems as a whole and provide advice on required or requested changes to infrastructures.

Once the infrastructure is identified solutions may be planned, developed, deployed and supported. To ensure success we adopt the Microsoft Solution Framework approach to development so that every project, large or small, is visible to all parties.

Please visit the ‘Within Scope’ and ‘Outside Scope’ sections to identify our service boundaries, doing so will increase your understanding of the services we provide and the technologies we employ.

Within Scope

Within our scope is everything concerning data:

Full development life cycle projects to ISO9002 standards that look and feel as though developed by Microsoft themselves.

Identify and manage risk associated with a solution so it may be reduced, transferred or avoided.

Use technologies such as Microsoft Windows and Microsoft Office as the framework upon which custom solutions are deployed and development tools such as Microsoft Visual Studio v6, Microsoft SQL Server, Microsoft .Net 2003 Enterprise, etc. for creating custom solutions.

Complete abandoned or stalled projects or develop special ‘proof of concept’ prototypes using future technologies.

Outside Scope

Outside our scope is:

Contact

enquire@avus-software.com

Avus Software Engineering Limited
P.O. Box 167
Liverpool
L23 7WZ

Offices at:
Hanover House
Hanover Street
Liverpool
L1 3DZ

Tel. 0800 915 2935
Fax. 0800 915 2936