Support in-Step
Support objectiF
Support case/4/0
Software Technology
Services
IT Project Management
Services
microTOOL - making IT better
microTOOL blog Twitter Facebook YouTube microTOOL NutzerGruppe auf XING
DE | EN  
 

 

What's New in in-Step 4.9

in-Step 4.9 is mainly one thing: a performance release. That means our main focus while developing in-Step 4.9 was put on shortening the loading times for product and activity views. The performance improvements we have achieved are mostly the result of server-side optimizations. Have a look, and see what we have done and how we did it.

Besides making it faster, we also took up several of our customers' wishes and suggestions while developing in-Step 4.9. For instance, the new function for resource leveling with which you can now optimize your projects automatically.

Read on for more information on what in-Step 4.9 has in store for you.

New: Better Performance

Performance has been our main focus for the development of in-Step 4.9. Based on extensive performance tests that we conducted last spring, it has been our aim to considerably reduce loading times for filtered activity's and product views. Meanwhile, we have successfully implemented several measures to improve overall performance. Comprehensive tests prove that we have reached our goal: in-Step 4.9 is faster.

Technical Improvements

We have analyzed customer systems, and we found out the following:

  • in-Step has two tables for elements and user-defined properties. In customer systems, these tables can contain several million entries. In addition, typical customer systems store more than 10 revisions of each product.
  • Hierarchical views are very often used in every day work for filtering the properties of subordinate elements according to different criteria. These views used to take very long to load.
  • Several queries and filters were implemented by means of object-relational mapping. This elegant technique is far less suitable than pure SQL implementation.

The First Two Issues:

We have optimized the meta model for in-Step regarding these technical implications and the following is the result:

Current data and history data have been separated and are now stored in separate tables. Particularly the user-defined properties have been separated into the categories current and historical. That means: Accessing current data in views is no longer slowed down by the enormous amount of data in the history. Queries for current data are faster now, because the tables are smaller and the indexes generated in Oracle are smaller.

Besides that, we have introduced hierarchical keys for product and activity hierarchies. They make it possible to find all child elements of an object with only one SQL SELECT and also to filter them by properties. The following figure shows how the hierarchical keys work:

Example of how hierarchical keys can be used

Example of how hierarchical keys can be used

Last But Not Least:

A few very critical queries and filters have undergone completely new implementation in SQL.

This is How We Did It

Before we started with the implementation of the improvements mentioned above, we first took a look at the status quo and made our analysis. While doing so, several customers supported us with their practical experience. This type of constructive criticism was a great help for us. So, we started measuring under actual project conditions on systems that were given to us by our customers. The systems that we tested all had very many projects, very many activities and just as many properties, so that we were able to directly assess the performance improvement.

The tool measures the time it takes to open all public views of a user, because the performance during only one individual evaluation would not be significant. One of the systems we have tested had far more than 400 views in one project. We compared how long it took to open views before and after implementing the new meta model to see how many of them took longer than 5 seconds. We also compared the average values for all evaluations before and after optimizing the system.

All tests were conducted in several cycles. Better performance is not the equivalent of being able to open individual views faster and faster. On the contrary, opening a view depends on so many factors. That means the values we get for opening a single view one time can differ considerably from the values for opening a view a second time. Of course, the loading times also depend on the system size and the amount of available memory, but most of all on the amount of data currently in the cache of the database server. For our performance tests, we compared both total values and average values.

We concentrated on improving the server-side performance during the development of in-Step 4.9. If very many elements are evaluated by a view, it also has to be taken into consideration that client hardware may sometimes slow down the overall performance of the system.

In most cases, our optimization measures lead to considerable changes in the values obtained for opening and updating views. The results for our test system with 426 views are as follows:

Before After
228 68

Number of views with loading time greater than 5 seconds

For product lists that are filtered according to user-defined properties, the average performance increase was up to 50%.

Some Examples and Values

Besides that, we have also adapted all columns for product views for in-Step 4.9 that were not optimized for Oracle, and we also optimized a whole series of filters. How and where we optimized the system and what we achieved can be shown best using real examples. The values shown are from our tests, each pertains to one example system.

Performance Increase While Using the Columns Input for activity and Output for activity in Product Views

Product views configured to use these columns are now opened a lot faster thanks to the optimization of Oracle. Also, the loading times of product dependency hierarchies that use these columns were reduced drastically:

Before After
> 1 min. < 5 sec.

Loading times for product dependency hierarchies before/after Oracle optimization

Performance Increase While Displaying Filtered Hierarchical Views

There was also a considerable need for optimization for the process of filtering products and activity hierarchies as our tests proved. Our main focus here was on the option in the properties of a view for showing the estimated amount of elements expected as a result of an evaluation with that view: Total number of products and activities is... If the setting middle to high was selected – meaning that data was loaded level by level – it counteracted the Oracle optimization. The problem has been eliminated – and now, there is a considerable performance increase as shown by the values listed below:

Before After
> 30 sec. < 5 sec.

Loading times for hierarchical views before/after Oracle optimization

The same applies again here: How much longer it actually takes to load a view depends on several very different factors – in this case, it depends also on the structure of the data processed: The less complex a hierarchy is, the less elements a branch will contain, and the less noticeable an increase in performance is likely to be.

Performance Increase While Using the SQL Extension in Project Planning Views

In project planning views, up until now, when the option Use SQL extension was set, the number of expected elements to display was implicitly set to low. This preset could not be changed in the properties dialog of the view. That means, all data was loaded every time. The consequence of this was that several activities had performance issues when using the SQL extension. Now the expected number of activities to evaluate can be specified explicitly, so that the view can now also be loaded level by level. In addition, the evaluation of SQL queries was optimized. This has also lead to better performance.

Performance Increase for the Display of Product Dependency Hierarchies

One last example for you: It concerns the display of product dependency hierarchies – as used, e.g. for requirement hierarchies. If the option hierarchical was selected in the properties of product dependency hierarchies for displaying basic products, up until now this type of evaluation was not optimized for Oracle. This we have changed. Now the performance increase for the hierarchical display of elements is considerable:

Before After
> 30 sec. < 5 sec.

Loading times for product dependency hierarchies with the hierarchical display of basic products before/after Oracle optimization

New: Resource Leveling

With in-Step 4.9 you can optimize the capacities of your project resources by mouse click. It's done with the new function Resource leveling.

By adjusting start and end dates, and suspending activities, resource leveling helps you make sure:

  • Your resources are never overburdened,
  • All resources are working at their maximum,
  • Activities are scheduled as early as possible with respect to control flows, restriction type, priority, and their position.

Resource leveling is done according to the Priority that can be defined on the tab Planning in the properties dialog of an activity. You can also determine there, whether an activity is allowed to be suspended or not when resources are leveled.

A baseline can be drawn before resources are leveled making it possible to restore plan data later if necessary.

The function Resource leveling is available in the context menu of activities and can be assigned additionally to a view group on the in-Step Bar.

Further Improvements to in-Step 4.9

Better performance while loading activity and product views and a new automatic resource leveling function are just a few of the highlights that in-Step 4.9 has to offer. But that's not all, there are several other new improvements:

New and Improved Functions

Product Search: There is a search field on the toolbar of product views that enables you to search in products and display data accordingly in the view. A product view can be configured to display data after a search term das been entered.

Load Data in Product Views Immediately: A product view can be optionally configured, so that data are not initially loaded and a search term can be entered first. The search field is located on the view's toolbar. Set the option Load data in product views immediately in the properties of the view.

Attaching Branches to a Baseline: Branches can now be added to a baseline from a directory's history.

Referencing External Products in User-defined Properties: Now, it is also possible to reference products from other projects in user-defined properties with the type Product, even if the user is not authorized to make changes

Generate Change Overview for MS Excel Documents: A change history can now be generated in MS Excel for documents. To do so, columns have to be defined and identified with comments.

Generating Documents: The generation of MS Word and MS Excel documents is now also possible without choosing a directory first, if a view has been configured for the document.

MS Excel Export: Views to which a template is assigned for displaying data in MS Excel are now opened in MS Excel by default.

Create New Version When Updating Document: When creating generated documents and updating products from chapters or topics, now a new version of the document is always created immediately. The new action Document generated is shown in the document history.

New Column "Plan Inconsistencies" in Activity Views: There is a new column Plan inconsistencies within the views of activities that shows violations of planning relevant conditions. It shows when start and end dates of an activity have been exceeded, when the start date of an activity is before the end date of its predecessor, or cases in which the priority of an activity was not considered during planning.

Work-Time Manager: If a user is taken off a project or an organizational unit in which work times have been recorded, he is no longer removed completely Time categories which no longer exist in a project, but for which times have already been booked, will be grayed out and listed further down. Now it is also possible to enter work time values that are greater than 24 hours for a single work day as required for organizational reasons.

Booking Times for Fixed Activities: Time tracking of activities with fixed parent activities can now be prevented. The respective option can be edited in the project properties dialog.

Separate Listing of Planned and Actual Costs for Additional Costs: The project properties dialog box includes an option to always list the planned and actual costs of activities separately.

Assigning Users to an Organizational Unit Optional: Users of an organizational unit can now be explicitly assigned to an organizational unit (and the respective resource pools) with the option This user belongs to this organizational unit.

Tailoring Processes: It is now possible to tailor project templates for all processes when creating a project. An enumeration property Process Template in the category ORGANIZATIONAL UNIT (or a subordinate category) is required in order to do so. This property then requires property values with the name of the property relevant for tailoring as specified in the category ACTIVITYTYPE and/or PRODUCTTYPE (e.g. large project, mid-sized project, small project). The values of the listing property for ACTIVITYTYPE and/or PRODUCTTYPE must contain all 5 cardinalities.

Resource Planning: The column Availability in projects of the resource plan now also shows availabilities, for which an indefinite end date for the time period has been configured.

Team History: The team history (group in-Step Administration) keeps a log of changes made to a user's assignment to a group as well as of changes made to editing rights for activities.

Change General Availability and Resource Pool Availability together: Changes made to general availabilities are taken over for the resource pool availability as well, if they were already in line with general availability beforehand.

Take On Public Activities: When activities are transferred, the costs and workloads of public activities are now also taken on.

Adding Budget to the History of an Activity: The budget is now stored in the activity history.

Paste Signature to Forms: Use the key combination "Ctrl + - " to paste the logged-in user´s signature to the cursor position. The signature generated is a combination of user name, date and current time.

Generate Risk Matrix: A risk matrix can be inserted into generated MS Word documents. It has to be defined in the Word template and can be identified by a bookmark. Bookmarks in in-Step are set with Configure from the configuration dialog of the document to be generated.

Display Users According to Function: When generating an MS Word document, it is now possible to add users to the document according to their function.

Choose template for opening in MS Word: In the context menu of on-screen forms there are now more functions to choose from for defining how the content of a form should be displayed in MS Word. In the submenu of Open with MS Word are now the new menu items Tabular evaluation, Default Template and, if multiple templates exist for a the product type, for every template the function <Template Name>.

Scrum Edition Only

Defining Priority: In Scrum projects, it is now possible to specify whether the value set (small or large number) for the priority of a story stands for a higher or lower priority level. It can be done under Project/Components in the command server ...by Product Backlog (Scrum). This setting has consequences for the commands Prioritize higher and Prioritize lower. Settings can also be made in the components dialog for the calculation of the column Release under Views/Reports. Clicking Planned for release under iExtension.ICalculatedColumn opens the configuration dialog.

New Filters

  • Activities can now be filtered by Percent finished.
  • Activities can now be filtered by priority, if they were excluded during resource leveling, or if they were suspended by resource leveling

New User Rights

  • Members of an organizational unit can now obtain the right to View costs (of all projects in this organizational unit.
  • Members of one organizational unit can now obtain the right Edit general and resource pool availability of users in this organizational unit.
  • The right View costs can now be given for individual projects or for all projects of an organizational unit even without administrator rights.
  • The right Change costs can now be given for individual projects or for all projects of an organizational unit even without administrator rights.

New Plug-Ins

  • The new plug-in Open Product enables you to open a product directly from the in-Step toolbar.
  • The new plug-in Open Web Site enables you to open a web site directly from the in-Step toolbar.
  • The new plug-in View of Other Project enables you to open a view from different project directly from out of the in-Step Bar.

The new elements can be found in the right section of the dialog box Customize in-Step Bar under External Components and you can assign them to the group of choice by drag & drop.

Download in-Step Personal Edition

 

Privacy Policy

 

Copyright © 2001 - 2012 microTOOL GmbH, Berlin. All rights reserved.