Building a process model for software

In the last article “What is a computer information system” I raised an important question about basic concepts and understanding of terminology when interacting between a user (customer) and programmers. As I promised, I continue to cover this topic. And I want to tell you about the correct planning of the process of development and implementation of software products.

By the nature of my activity I constantly encounter project work. And at the start of any project I face a difficult task of competent planning. Why is it so important? A good plan is almost half of the success. Without planning it is almost impossible to build the work clearly, coherently, to achieve the goals and meet the agreed deadlines. This is especially important when it comes to teamwork.

In principle, a lot has been written about the importance of planning. And I will not repeat the well-known truths here. Everything is simple: if you know where you need to go and you can lay the right route, you will reach the goal. If not – alas, no one will be able to guess in advance, where you end up coming.

“Bottom line of IT planning

Any plan to achieve a goal must take such factors into account:

  • The stated goal, i.e. the result to be achieved.
  • External factors: materials, environment, characteristics of the project participants and future consumers and much more.

When it comes to the material world, such as building a house, it’s relatively simple. There is a customer who tells his wishes. There is a piece of land with certain features.

There are construction materials with different parameters and cost. And there is a certain budget. Based on this, the final version of the project is determined, the estimate, the stages of work are planned.

Even if you have never encountered construction, you have seen a lot of houses, including in the construction process. The result is material, as well as external factors. Therefore, the choice of a solution and the drawing up of a plan rarely cause difficulties.

At work with computer information systems you face a problem of absence of material factors and result. Here it will not turn out, as, for example, at a choice of the basis for the house, to lean on the unambiguous initial data and laws of physics. Besides, introduction of each software product is a unique project.

Each team, as well as each person, is unique in its own way. And they always have their own special needs and wishes. Software development and implementation is what they order to get the solution “for themselves” when existing standard programs are not enough.

When planning an IT project, it is necessary:

  • To study the peculiarities and needs of the customer;
  • Clearly understand the task at hand and take into account all wishes;
  • To agree with the customer the chosen solutions.

And only after that can we move on to drawing up an action plan. Thus any person, the commercial or noncommercial organization can act as the customer. The main thing is that there is always someone who orders the project and will use it in the future.

Practice shows that it is the preparatory work with the customer that often causes difficulties. And here the approach based on the definition can come to the aid:

A computer information system is an idea expressed through a programming language.

Idea and choice of software products

The first and most obvious thing you need to understand is that in order for a selected or custom software product to fit your idea, you need a combination of two factors:

  • The presence of the idea itself;
  • A clear and unambiguous description of the idea for other participants in the project.

And at the stage of unambiguous and understandable to third parties description of the project idea, so called BPM schemes are very useful. In other words, graphic notations of business processes description. To learn more about what it is and how BPM notations are made, please see my article “What is a business process and description of a business process”.

It is important to understand that here we are not necessarily talking about business processes, with the help of BPM tools you can successfully describe any labor and other types of processes, i.e. visually model the variants of idea implementation.

Two approaches can be used to describe a business or perform a task – process and functional. I also wrote about their differences and peculiarities in detail in the article “Business Modeling. Basic approaches”.

When searching for a solution (formulation of the idea itself), many people prefer a functional version of modeling. It helps you to understand the essence of the task and the tools necessary for its solution.

And for the effective decision of a task in view and drawing up of the plan of works, as my personal experience shows, process modelling optimally approaches.