KJK-Tieto Oy was founded in 1990 and has been involved in Microsoft Windows-based Dyalog application development from the very start. This includes participation in the first beta test program in 1991-1992. Since then, KJK-Tieto has implemented a large number of Dyalog applications.
Solutions delivered include:
- budgeting and reporting systems
- Executive Information Systems (EIS)
- data warehousing and management
- client-server based maintenance and administration of large company-member registers
- systems for building salary statistical databases from scratch, including tools for analysing and reporting
- timber sales system
- several projects building add-on systems such as applications for administrative support for financial management, reconciliation of accounts and so on
Approaches and Methods
Using Agile and pair programming methodologies have been quite natural from the very start for KJK-Tieto Oy and they used these methods long before they ever got a name in a wider global context. More than ever, today's problem is that clients do not have the time – or the patience – to define their problems thoroughly. In many cases, a system definition is presented as a set of Microsoft PowerPoint slides, showing a loose vision of the needs and the overall implications and relations of the problem in question. Naturally, the size and complexity of the development project at hand, both from a financial and a human resources point of view, have an effect on how to run the project.
Whenever circumstances allow, KJK-Tieto Oy generally have the working guideline that when designing a solution, the user interface, application logic and data storage should be extracted and kept separate. Communication between these three elements of the system is only allowed through very clearly defined borderline functions. This means that you can change the user interface from – for example – being character or Windows based to being browser/HTML based, without having to touch either the application logic or the data storage. Similarly, you are able to change the data storage from file-based to relational database without making changes in the application logic or the user interface. This way they manage to approach the development process as constantly evolving cycles, rather than phase by phase. In other words, they work with a fluent, constantly evolving, very fast development process.
The basic requirement to succeed with this development approach is that the client has an experienced domain expert, with a clear understanding of the problem, who can work closely with KJK-Tieto Oy. This also implies that the domain expert should have both the ability – and the authority – to make decisions along the way. KJK-Tieto Oy contributes with experienced programmers equipped with a flexible and powerful toolset.
The first round starts Top Down by setting a hypothesis on what kind of logic they are dealing with, what data elements are involved, how to make them communicate and how to interface between them. Then they approach the problem from Bottom Up. This involves some solid – although very early – 0-level working prototyping, just to get an idea of how things might work, and showing it to the relevant people. This way the discussion can be based on something concrete and they instantly get feedback on if the idea we have for a solution, and how it could work, is in line with that the client had in mind. The point is to learn from the feedback, whilst not having done too much work, which allows KJK-Tieto Oy to start all over again should there be a need. Then they take the second round, get the feedback, adjust, and so on.
It is absolutely key for KJK-Tieto Oy to involve the future end users in the process quite early, both in terms of getting their feedback and to act as test users. This ensures that the application meets the users' requirements and that it really works the way they want, which is the precondition for the final production version going live. Over the years KJK-Tieto Oy have found that using this development methodology has proven to be very cost effective; they are so confident that this works, that they often undertake to do development work to fixed time.
But – What About the Documentation?
In many development projects using the agile development process, documentation is often a sticky issue. Weak or even missing documentation has been known to occur. KJK-Tieto Oy's approach is simple; they make sure that they develop the documentation as they go along! The reason is that writing the documentation after the project has been completed is less than tempting as the developers move on to new tasks, and – unfortunately – not all clients understand the need to invest in documentation AFTER the application is already up and running. By developing the documentation as they go along, the general feedback afterwards has been good and – more importantly – the actual users of the system are usually very content.
For some, this development concept might seem "loose", but time and budget comparisons with more mainstream projects by big IT companies using a more traditional approach to software development give results that speak for themselves! One of the added benefits is also that in many cases it has led to long mutual relationships with their clients.
Timber Sales System
The solution manages the entire chain from sales budgeting, producing sales catalogues, offering comparisons and making agreements/contracts, following up deliveries and invoicing (both paper and electronic as XML messages) to connecting to accounting systems and reporting. Besides Dyalog, the solution uses Microsoft Office for making customer agreements and invoices (OLE) and uses an Oracle database as data storage (ODBC/SQAPL). Annual turnover for the sales managed by the system is over 300 million euros.
Foreign Project Accounting System
The solution manages development co-operation projects running in most continents funded mainly by the EU and/or Finnish development cooperation resources. It covers budgeting and book accounts, manages and deals with several concurrent currencies and includes comprehensive reporting.
Business Intelligence – NextTab
BI is a popular acronym. For us it means:
Business Data → NextTab ← User Intelligence
NextTab is a general purpose data analysis tool developed by KJK-Tieto. It offers simple, yet powerful, grammar, which has proven to be quite easily adopted by domain experts even if they have no programming background. The main requirement for using NextTab is that the user has the ability to think logically and is familiar with/understands the content to be analysed. A typical example of a NextTab user is a business controller, dealing with the company's financial data. Both English and Finnish are supported as interface languages.
NextTab files are Dyalog component files, where the first component serves as a directory and the rest have each table column as its own component. Logically it forms a simple de-normalised table. All joins, intersects and so on are done when creating the file, source data having generally been read from relational databases or operating system files. Currently the largest NextTab table on production consists of 12.5 million rows. For some companies, the use of NextTab has grown into producing an actual data warehouse formed of NextTab files as base data units. Directing and processing data from various different application sources are time-scheduled and automated into regular tasks running on dedicated servers.
On top of the NextTab file set we have built a report generator called Information Manager. Using NextTab grammar in the definitions, it allows the user to build daily reports from their area of responsibility. The Information Manager consists of a generalised interface for defining reports, processing them into multi-dimensional cubes, thus facilitating the viewing and distribution of multi-dimensional reports. A portal for showing report cubes is defined by the system administrator through an editable parameter file, supporting tree-views, buttons, combos and so on. Besides actual reports built by the generator, the solution also accommodates Microsoft Excel spreadsheets, PowerPoint slides, PDFs and web URLs. Other Microsoft Windows programs or Dyalog applications can be attached to be "fired-up" by supported menus. The idea of this EIS-based concept is to gather up all information of importance to a user into one single interface regardless of where it comes from or with what it was produced. Typical end-users served by Information Manager are top and middle management, domain experts and other personnel in specified or specialised areas. Information Manager also makes it incredibly easy to customise reporting interfaces for information distribution to special groups or even to specific individuals.
KJK-Tieto Oy's reference clients include: The Finnish Forest and Park Service, the Ministry of Agriculture and Forestry, the Confederation of Finnish Industries, the Federation of Finnish Financial Services, the Finnish Centre for Pensions, Indufor Oy, Nordea Life Finland Oy, the Environmental Register of Packaging PYR Ltd. and Toyota Auto Finland Oy.