Maestro Technologies - Intelligent management software for the construction industry.

Maestro*Liaison  March 2008

Return to News Center
In this bulletin:

Analysing the present to develop the future

Analyzing a customer’s development requirements may seem trivial at the outset. However, the task is often quite time-consuming given the various factors that have to be taken into account. The main objective is to meet the requirements of the customer, while minimizing custom programming and modifications made to the application. It is also important to standardize developments so that other users can benefit from them and not be hindered by them.

Primary requirements
First of all, it is important to properly understand the user’s request. People often tend to suggest solutions, instead of describing their requirements. This can result in the analyst moving in the wrong direction and lead him to propose a solution that may meet the customer’s requirements, but inconvenience other users. It is therefore essential to ask the right questions to correctly define the requirement. To do this, it is often necessary to expand the context of the requirement, taking into consideration its position in the overall process. For example, a user may request a new report. It is important to know what needs to be printed and to ensure that all of this information is available in the application. You must also determine the order in which the information should be printed, the frequency, time available, etc. Responding to these points could require the analyst to review some of the table formats, create new tables or change data entry to be able to gather the required information.

Determining the parties involved
The people who will use the application must be identified. Will they use it in series or simultaneously? For example, if a process is continuous and the information has to be sent from one person to another, the transaction must move from one person to the next based on a predefined process. The application must allow more than one person to modify the same information, with the ability to integrate security. Will several people use the same application at the same time? This may require managing secure access to ensure that two people cannot modify a given transaction at the same time, or allow one user to reserve a transaction number without disrupting the work of other users. It may also be necessary to know the responsibilities of each user. For multiple processes, each party may have access to only some of the options. This important fact must be considered when setting up security rules.

Knowing the source of information
If data is to be entered in the application, where is the data from? Is the data generated by an external application? If yes, can the data be imported? If the information is incomplete, can it be completed by linking with other configurations in maestro* or must the data be imported? There are many questions the analyst must answer to find the best way to combine all of the information. Entering information manually is not the same as importing it. In some cases, even if importing is necessary, manual entry is still required to manage, modify or simply enter certain data manually.

Validating exceptions
Once the solution is determined, it must be validated taking exceptions into account. In any process, there are always one or more non-standard cases. For computer applications, managing these cases is often the most time-consuming task. The advantage with software is that you can quickly and easily reproduce an established process or transaction hundreds or even thousands of times. However, when an exception occurs, there must be a way for the application to recognize that the standard process must use a different method. It is therefore important for the analyst to know these exceptions, and ideally, be aware of all of them. In fact, when conducting a basic analysis, a good analyst will take the exceptions into consideration to develop a solution that can handle all of these cases. Learning about an exception after the fact can make work already done useless. The user must therefore provide this information.

Amount of information
The solution can vary significantly based on whether some data or, more specifically, whether dozens, thousands or millions of bytes of data must be managed. This is why it is important to determine the amount of data to be managed in advance. In addition to having an impact on how data is entered, the volume will also affect subsequent processing, the format of data tables and how analysis reports are generated.

Future
Custom programming is often only one phase in the context of a more general requirement. In some cases, the situation is clear, while in other cases, more thought is required. Whatever the case, this is an important exercise. If he is aware of future developments, the analyst can plan for flexible options from the initial phase to facilitate future development.

Tests on modifications or adding functions
Once modifications have been made, it is not only necessary to modify them, but also any functions affected by the changes. For example, a change to the payroll system may require several validation tests to ensure the changes have not affected other calculations. An application consists a set of compiled objects to provide the desired result. If an object is modified, you must, in theory, revalidate all applications that use the object. Therefore, a change to our "Entry Grid" object would, in theory, require revalidation of all options that use this grid. In practice, the quality control team checks several typical cases and presumes the result can be applied to the entire application. This said, the number of tests also affects the analysis. Under the circumstances, whenever possible, a solution that requires few or no tests will be preferred over another. Often, this also affects the choice of the version in which the change is made.

Other factors
During his examination, the analyst should also consider how the application currently works, and how it is used by users. For example, if he knows that a function is not used much, he may be more inclined to change the behaviour of the application than if it is heavily used.

He must also consider existing information and, more importantly, how much information is involved. A change to a table or adding information may require an upgrade to adjust customers’ tables based on the new development. This can represent many minutes or hours in some cases.

To conclude, it is always very important to check that new developments do not inconvenience current users. This can be done using a new configuration in which the user can enable or disable the new function. In some cases, default values can also be assigned to limit the entry of information for example.

Obviously, some functions can be added without changing the situation. For example, adding a report simply changes the menu. However, introducing a new step in a process would, in theory, affect all users.

Conclusion
We are often asked for changes that appear simple in the eyes of the user. However, the analyst must consider all factors and provide a solution that will be simple, practical, inexpensive, safe and progressive. This is not always an easy task.

Archives

Future Events

  • Conexpo Con/Agg
    Las Vegas
    March 11 to 15, 2008

Recent Events

  • CEO Vision PDG
    Mont Tremblant
    February 7 to 9, 2008
  • Congrès CEGQ
    Mont Tremblant
    February 13 to 15, 2008

New customers

  • Arri Construction
  • United Cleaning Services
  • Pyramid Corporation
  • Machines Roger International
  • Plomberie et Chauffage Alain Daigle
  • Louis W. Bray Construction
  • Lambert Somec
  • Big Horn Electric & Controls
  • Les Entreprises Guy Desjardins
  • Urbacon
  • ProStyle Construction
  • Wilco Contractors Southwest


Join our Company – We’re Hiring

Established in 1989, Maestro Technologies develops software applications for the construction and manufacturing industries.
If you are looking for exciting challenges, don’t hesitate to get
in touch with us.

View our Career section

What’s New