eng – Atinea https://atinea.pl Kolejna witryna oparta na WordPressie Tue, 08 Oct 2019 09:02:18 +0000 pl-PL hourly 1 https://wordpress.org/?v=4.9.5 What does our code development process involve? https://atinea.pl/what-does-our-code-development-process-involve/ https://atinea.pl/what-does-our-code-development-process-involve/#respond Fri, 31 May 2019 10:00:34 +0000 https://atinea.pl/?p=1176 Besides a great, well-managed team of software developers, there is yet another contributor to the high quality of our work. It is a polished development process. The best team ever would fail developing a relatively simple code without such a process. What does our development process involve and why is it so effective? Working time […]

Artykuł What does our code development process involve? pochodzi z serwisu Atinea.

]]>
Besides a great, well-managed team of software developers, there is yet another contributor to the high quality of our work. It is a polished development process. The best team ever would fail developing a relatively simple code without such a process. What does our development process involve and why is it so effective?

Working time log

First of all, we keep detailed records of each and every working minute of our software developers. We have in place an internal system we have developed ourselves for our needs. At the end of every month, the system generates a detailed worklog which we send to our clients.

The system reports working time by projects, each project being broken down into single tasks. On that account, our client gets a direct insight into our overall and detailed working time and our managers always have an up-to-date comparison of the estimates v. the actual working time.

Now, I am going to tell you about our task system.

Task system

In our process, tasks are well-defined technical jobs of 40-80 work hours. We decide on their size so that software developer should be able to evaluate their time requirements. We group minor tasks and divide the large ones and thus our managers always have a clear idea of work progress. Whenever asked about the progress, they can provide a precise answer and control the actual working time devoted to a specific task.

Thus their work and overall project management are facilitated and our clients receive specific information about what tasks our team is currently handling, as every work hour HAS TO be assigned to a task.

So the manager has an effective system to track the completion of all the tasks of his or her team. We have included another procedure though to help the manager manage the budget even better.

In line with the procedure, our software developer should have the first prototype and know any and all challenges and unknowns halfway through the estimated working time required for the task. On that account, the manager gets an insight into the developer’s work and if the manager determines that the task will exceed the original estimates, he or she will consult the client immediately.

Such a consultation may result in the cost revaluation, scope change, task abandonment or another optimal solution. Every such change is confirmed with an e-mail at least.

This is another way to ensure both our managers and clients have a clear insight into the project.

Upon completion of each task, we also monitor the stabilisation costs. Every time we assume that we will allocate 20% of the estimated completion cost of the task to its optimisation. A higher cost means the code quality was lower than expected or there was an issue in the task analysis.

In such a case we always look for the cause and based on that we optimise the estimation process for future tasks.

So now you know how we manage the time and monitor the performance of the smallest tasks. Every project however must consist of major portions which group the minor ones and are responsible for the completion of specific system sections or modules. We call them initiatives.

Initiatives

An initiative is a major task defined with business targets. It represents a specific system function or module which needs to be included in the system due to the client’s requirements. The initiative consists of several up to a dozen or so tasks which combine to provide a functionality.

An example of initiatives is a module for communication with an external date base provided by a third-part company or body. The module needs to be included in the system since it is required for its proper operation – hence it is a business target.

As we already know what the initiative is, we may plan the tasks required thereunder to implement the communication module. The manager divides it into tasks and assigns them to individual employees in his or her team.

As compared to tasks, the performance of every initiative has a more formal nature. Every initiative is represented by a document describing its goal, work scope, working time estimates and schedule. The document shall be accepted by the client and the management board of our company.

At the end of every initiative, the manager draws a client acceptance protocol once the production version is launched.

The main objective of the project manager on our side is to carry out such task planning and client communication so as to obtain an optimum implementation of the project business targets within the working time set. Initiatives and the subsequent division into tasks are effective tools helping him or help achieve the goal.

Now you know our project allotment and time management fully. Are there any other contributors to the effective completion of our projects? Most certainly. It is a crucial process which ensures our clients have a full insight into our work progress.

Reporting

This is reporting of course. We provide our clients on a monthly basis with:

  • A detailed worklog of working hours
  • Progress degree of the tasks started and plans for the next month
  • Initiative performance status

Task and initiative reports also provide information on changed working time estimates as compared to the previous-month plans. The information may include: increased estimated for a more difficult task, a scope change made by the client, modified priorities etc.

That’s basically all; one last puzzle piece remains … The one which will determine our cooperation in the long run.

Continuous improvement of the process

Managers hold regular meetings with our CEO responsible for the production and review projects, initiatives and tasks together. The objective of such meetings is to confirm that projects advance and to detect potential issues before the client reports them.

We also meet with our clients to sum up the objectives achieved in the last period, plan further objectives and receive the feedback on our cooperation and methodology. We analyse all the problems and failures and look for their causes. We implement our findings from the analyses and talks with the clients in our methodology to eliminate any similar problems in the future. Then we deploy all the enhancements in all our projects and thus improve our development process on a continuous basis.

Excellent management is our priority

Working on extensive IT projects does not only require technical mastery but also excellent management. I hope I have explained in this article how we manage a project and how we carry out the code development process. To sum it all up, we always focus on the precise control of the process, provide our client with a full insight into our work and refine our cooperation base on the lessons learned from problems or understatements.

Our development process is a perfect complement to the high skills of our software developers and enables them to use their abilities in the implementation of projects for our clients.

Artykuł What does our code development process involve? pochodzi z serwisu Atinea.

]]>
https://atinea.pl/what-does-our-code-development-process-involve/feed/ 0
Software Development Outsourcing at Atinea. How does our service differ from typical body-leasing? https://atinea.pl/software-development-outsourcing-at-atinea-how-does-our-service-differ-from-typical-body-leasing/ https://atinea.pl/software-development-outsourcing-at-atinea-how-does-our-service-differ-from-typical-body-leasing/#respond Sun, 12 May 2019 11:52:20 +0000 https://atinea.pl/?p=1179 Companies which provide the outsourcing of software developers on the IT services market have got used to operating in a specific manner. We are observing that the quality of cooperation with such companies is a long shot – it may hit home or miss by a long mile. We have redesigned the service and have […]

Artykuł Software Development Outsourcing at Atinea. How does our service differ from typical body-leasing? pochodzi z serwisu Atinea.

]]>
Companies which provide the outsourcing of software developers on the IT services market have got used to operating in a specific manner. We are observing that the quality of cooperation with such companies is a long shot – it may hit home or miss by a long mile. We have redesigned the service and have been providing it for our clients successfully for years. Why is it so effective?

Body-leasing and its drawbacks

Someone needs more software developers for his or her company but does not want to waste any time or energy on recruitment. What do they do? They contact a body-leasing company. They set the requirements and project specifics and sign a contract. Then the body-leasing company delegates the software developers who are free or recruits such developers, if none are free.

As a rule, the time is the top priority here so the recruitment level is… poor. Companies scan CV’s, select those with better content and required technologies and… employ software developers. They do not spend much time analysing their skills or professional attitude. If the do not prove themselves, others will replace them – and the problem no longer exists.

Those software developers will either do their job well or fail totally. Other factors include a high turnover rate and waste of time devoted to the on-boarding of new staff. I am not saying this happens every time, but you will never get a guarantee that the software developers allocated to your project will bring any value to your company. Is real business a lottery?

This was the first issue we observed in body-leasing. There are more though:

  • You, the client, need to provide the on-boarding and control of the software developers assigns
  • You never really know who the outsourcing company is going to send to you
  • Software developers will often find working for you unsatisfactory – get ready for the poor quality of their work and on-boarding of new staff delegated as substitutes
  • You or your employees will need to spend a lot of time making work arrangements for new software developers and control their work.

As you can see, such services are far from perfect. There are many factors to improve. Now we step in.

We develop our own methodologies.

We never blindly believe in the rut. We always analyse to see if we can improve what we do now. Over the years we have developed our own procedures and methodologies so that we do not need to look to other companies.  We have set a standard and keep on holding firmly to the standard to provide polished services and support our clients in many ways. The same applies to our Software Development Outsourcing.

We employ software developers on a permanent basis

At Atinea, we do not employ software developers for specific projects. We take them on to work in our company on a permanent basis. If we have no orders for them at the moment, we delegate them to work on in-house projects. They are full-time employees. Hence the simple conclusion – we know perfectly well who we employ.

Thus our outsourcing provides you with our full-time software developers. They are proven, highly-skilled developers. This is the first unique feature we boast. And there are more of them.

We delegate managers

We delegate a whole team every time. What does it mean? Whether you need one or ten software developers, they will always be supervised by a Project Manager on our side. What is the purpose of delegating the manager?

The manager will be in charge of talks with your company. He or she will learn your business. He or she will prepare the work environment for our software developers. He or she will divide the project into phases, prepare an analysis and estimate, together with his or her team, how much time will be required for implementation. Then the team will commence their work and the manager will monitor its progress consistently, submit reports to you, deploy new software developers and respond whenever something goes wrong.

It is an excellent solution, is it not? The Project Manager will relieve you of any duties concerning the monitoring and deployment of our staff and will also cooperate with you to ensure the best implementation of the project possible.

We provide an unusual flexibility

Another advantage of our outsourcing is the high flexibility we offer to our clients. The client may increase our involvement in their project at any time. The client may increase the hour range or add more software developers. Should it be necessary to handle other technologies than covered by the initial scope, we will simply assign another software developer to the task, replacing one of the current team members. The Project Manager will be responsible for the on-boarding of the new software developer; this will not affect the costs of our cooperation at all. We assign every software developer to the team dynamically, which means that the client may modify the technology scope during the contract validity and we will smoothly adapt to the client’s requirements.

Our Software Development Outsourcing in a nutshell

I have written at some length, so now let me recap all the above-mentioned information in brief:

  • We only delegate our full-time employees employed with Atinea on a permanent basis
  • We employ the best software developers available in the market (with our meticulous recruitment methods using algorithm tasks)
  • The software developers delegated are assigned to the project manager who ensures their deployment and plan implementation
  • The client may increase our involvement or use the knowledge of another software developer employed with Atinea at any time during the contract validity
  • The Project Manager monitors the cooperation, saves the time of our clients and, at their request, may prepare an analysis and conducts talks e.g. with the business department in their companies

If you find this issue interesting and would like to learn more, we would love to answer your questions. Are you perhaps looking for a reliable outsourcing company and would you like to discuss it? Either way, please use the following contact form. Our consultations are free of charge and impose no commitments. Call us or send us a message and we will contact you to discuss relevant issues.

Use the form in the footer and contact us.

Artykuł Software Development Outsourcing at Atinea. How does our service differ from typical body-leasing? pochodzi z serwisu Atinea.

]]>
https://atinea.pl/software-development-outsourcing-at-atinea-how-does-our-service-differ-from-typical-body-leasing/feed/ 0
How can we make sure we employ the best developers on the market? https://atinea.pl/we-employ-the-best-developers/ https://atinea.pl/we-employ-the-best-developers/#respond Mon, 17 Sep 2018 16:44:31 +0000 https://atinea.pl/?p=863 We like to mention in our materials that outstanding software developers work for us. I know what you think hearing similar statements; we, however, have strong facts to support our words. I will tell you about it in this article. The President of the Company recruits software developers himself The recruitment in Atinea is the […]

Artykuł How can we make sure we employ the best developers on the market? pochodzi z serwisu Atinea.

]]>
We like to mention in our materials that outstanding software developers work for us. I know what you think hearing similar statements; we, however, have strong facts to support our words. I will tell you about it in this article.

The President of the Company recruits software developers himself

The recruitment in Atinea is the responsibility of our President, Andrzej Gąsienica-Samek. Andrzej used to work for 5 years as the R&D Department Head at Comarch. There, at the peak of his career, he managed a team of over 50 software developers he recruited by himself. He learned then to hire the right persons to work in his team. The work in the R&D Department was challenging, hence he could only employ true code masters.

Besides his career with Comarch, Andrzej has had a number of personal successes, including the most important one i.e. the World Champion in Team Programming title. No, I do not write it to adore him or praise his merits. I want to draw your attention to the fact that Andrzej has the right competence to pick, screen out and hire the most gifted software developers, more than anyone else. He does that successfully in Atinea.

What does his method involve?

It all starts with fierce recruitment, killer recruitment as some developers say. A job applicant may have a “poor” CV… or may have the best references possible – we don’t care. Something more important matters to us.

At the very first stage of recruitment, everyone has to face a single task. Yes, just one, but don’t be misled by appearances. The sole task makes most applicants run away from computers in panic. The ones who stay there to compete are the ambitious and a handful of smarties who have found the solution on the Internet and thus got to the next stage. That poses no problem for us because…

There is another task awaiting them at the second stage! But it won’t be that easy this time.

An applicant arrives at our company and after a brief interview, we send them to another room. There is a computer there with the task to solve. No internet, no tips. Just the applicant, computer and his or her…

SKILLS

They are the focus of our recruitment. Why do we put such a great emphasis on that?

It is again the issue of Andrzej’s experience and insight:

  • What is an outstanding CV for if one cannot find themselves in a new work environment?
  • Who cares if one has a perfect command of a specific technology yet finds it extremely difficult to learn any other?
  • Who cares if one can use ready-made solutions well but simple algorithmics make them sweat and render them unable to find a solution on their own?

We want no such software developers.

We want people who have superior intelligence and will learn any technology in a heartbeat because they know lower-lever languages. Because they solve algorithms in a splendid manner. Because they are intelligent.

We do more than just want them. We actually employ them.

Are you wondering what dark tasks make job applicants panic?

They come from programming olympiads.

It probably does not say much to you, so I will give you a sample task. We used it in a previous recruitment. Here it is:

how we make sure we employ the best programmers

Click here to see the sample task

I guess you won’t be surprised now if I tell you that we employ less than 10% on average of the initial number of job applicants.

Thus the recruitment provides us with the right applicants we need. Their motivation and enthusiasm may wither away over time, which would lead directly to the low quality of their work. How do we prevent that?

We test our staff’s competence on a regular basis

We check our software developers’ skill in cyclic competence tests called DevDays. Every developer employed in our company regularly gets tasks to solve and receives points depending on their results.

Poor scores provide us with a signal that something wrong is going on. In such a case we talk to people to grasp the causes of their worse results. We always give them our full support and strive to improve the situation in various ways. If such measures bring no effects in the long run though, then… we part with the programmer. It doesn’t come easily to us, because we know he or she is a valuable person, yet the standards we have adopted do not allow us to continue our cooperation.

On the other hand, we always reward people for their great results, which is an additional incentive for them to work hard and develop their skills.

Thus we monitor the “condition” of our staff and every time we repeat without a blink “Yes, only the best work with us”. We know it because it is proven through the successful projects carried out for our clients, through Andrzej’s experience, and through our internal skill assessment system.

To sum up:

  • We have a rigorous recruitment system in place, based on tough tasks involving algorithms.
  • We employ software developers based on their skills, not CV entries.
  • We check our staff’s skills on a regular basis.
  • We always recruit people for long-term cooperation; they are never employed for a “single job only”.

The right people are the foundation for our company

We are proud of our software developers. They are a strong pillar of Atinea and we do not intend to compromise. Atinea has and will have outstanding software developers ONLY. We invest in, appreciate and support them with our know-how. In consequence, we have a good atmosphere to work and develop in as well as numerous successes we achieve while providing services to our clients.

If you want to learn how the high skills of our software developers may save you time and money, then… please contact us. Our consultations are free of charge and impose no commitments. This way you may get interesting findings concerning the needs of your company or department. Please contact us – send us a message on the following form or give us a call.

Artykuł How can we make sure we employ the best developers on the market? pochodzi z serwisu Atinea.

]]>
https://atinea.pl/we-employ-the-best-developers/feed/ 0
SLA in practice – how we guarantee the optimum maintenance for IT system https://atinea.pl/sla-in-practice-how-we-guarantee-the-optimum-maintenance-for-it-system/ https://atinea.pl/sla-in-practice-how-we-guarantee-the-optimum-maintenance-for-it-system/#respond Mon, 27 Aug 2018 16:40:50 +0000 https://atinea.pl/?p=873 It is not easy to retain high SLA standards if you take over the maintenance of an IT system. As often happens the greatest problems arise from a wrong cooperation method. Which approach is flawed and which one is advantageous? I will discuss the issue in this article. Third-party company to maintain the system We […]

Artykuł SLA in practice – how we guarantee the optimum maintenance for IT system pochodzi z serwisu Atinea.

]]>
It is not easy to retain high SLA standards if you take over the maintenance of an IT system. As often happens the greatest problems arise from a wrong cooperation method. Which approach is flawed and which one is advantageous? I will discuss the issue in this article.

Third-party company to maintain the system

We often talk to companies looking for a third-party vendor to maintain their IT systems. This is hardly surprising and taking over such a system does not pose a problem for us. It’s an issue of appropriate procedures, knowledge, and skills. Problems, however, are brought about by one’s approach to such cooperation. Let’s have a closer look.

The client does not want to overpay

Often client only want their system to be handled on as needed basis. They just want somebody to take the system over and repair it in the case of a failure without bothering them. They want to delegate these tasks to a third-party company and not to overpay for the service.

At this point, they often provide the explanation that their system has operated in a stable manner for years and requires no modification. Admittedly, some failures occur from time to time but their previous vendor would remedy them in up to a dozen or so hours. Hence the client draws a simple conclusion – they only need to buy several dozen hours during a year to maintain their system and any other offer would be tantamount to pure trickery. In theory, they are right. In theory, they lower their costs…

And what about reality?

Software developers need to work with the system on a regular basis

The IT system takeover is a time-consuming process during which we need to understand the system’s structure and operation. From a source code completeness check to the system startup in a test environment, it is a demanding intellectual task. Then we can proceed to performance tests and learn the new system fully. As I have mentioned, the trouble is that the client wants us to handle the system only when something goes wrong. It is an insurmountable barrier for us.

IT systems are so complex that nobody will be able to remember how they operate having worked with them for several hours. In such a situation every single fault, minor ones included, will require much time for a software developer to locate and remedy. And what about a major malfunction? If you do not allocate an appropriate hour range, it will be impossible to maintain the system and its condition will deteriorate over time. Suffice it to say that without proper maintenance:

  • The system may not withstand growing workloads
  • Technologies will become out of date, full of errors and security gaps
  • Optimization will turn problematic – the system will slow down
  • Critical errors may appear in the code which will enable a data leak or serious failure
  • Software will cease to be compatible with new hardware

Obviously, since the system has presented no major problems so far, it would seem logical that the state will be retained over the following years of its operation. Nothing could be further from the truth. Every code needs fixing because every code contains errors and every code becomes out of date. Moreover, with the technology development and advanced tools used by cybercriminals, the use of an out-of-date system may be a dreadful mistake; especially if the company’s or its clients’ sensitive data enters the system.

This is similar to a chronic disease. We may have been ill for years (system has errors in the code), without even being aware of that, because we do not go for checkups (lack of maintenance). We take an Aspirin or another medicine (responding to failure only), but that’s all. The disease is still advancing (we do not remove code errors) and we feel even worse (improper optimization).

Our proposal

Let me tell you how we look after our clients’ systems. Let’s assume we are going to handle your system now.

First of all, we will offer you our work as a monthly hour package. We will adopt an optimal number of hours as needed for your system. This will enable us to:

  • Get acquainted with its structure
  • Learn its operation
  • Find and remedy code errors
  • Update the system and its security
  • Optimize its operation
  • Perform backups
  • Fix failures promptly

Over the years we have developed procedures with which we can achieve the above-mentioned goals step by step. On our own, we:

  • Supervise the system operation
  • Detect faults
  • Know how and when to respond in case of a failure

We will not involve your people: it simply won’t be necessary. At the same time, you will have a full control of our work through a Project Manager on our side.

A Project Manager is a person who manages the team of software developers appointed to handle the system. He or she organizes work and learns the system and business environment in which it operates. He or she will submit reports to the appointed person in your company. Thus you will know exactly, month after month, what is happening to your system and what work we did in the period.

Your system will operate in a more stable manner than ever before and will also be optimized and secure. For a critical failure (e.g. hardware damage), we will recover the system instantly in a new environment as we will have ready-to-operate backups.

All of the above will be included in the monthly hour package we offer. It will provide us with continuous interaction with the code and guarantee an optimal development and maintenance of the system under our supervision. Once a client insisted and tried to force us to reduce the hour package agreed upon. In response, we discontinued our cooperation. We assessed the situation as experts and could not proceed with the collaboration because our client made it impossible for us to perform our tasks properly.

Effectiveness stems from experience

We did not know straight away how to handle third-party IT systems effectively. It took us years to develop our current procedures, while we studied diverse collaboration models and system development ideas. In my opinion, our current method is the most effective way to handle IT systems on the market. It has arisen from a wealth of experience and talks we have held both within the company and with our clients. I think its effectiveness is well confirmed by a selection of opinions from our clients who have entrusted us with their systems.

If you find this issue interesting and would like to learn more, I would love to answer your questions. Are you perhaps looking for a solution to handle the system in your company and would like to discuss it? Either way, please use the following contact form. Our consultations are free of charge and impose no commitments. Call us or send us a message and we will contact you to discuss relevant issues.

Artykuł SLA in practice – how we guarantee the optimum maintenance for IT system pochodzi z serwisu Atinea.

]]>
https://atinea.pl/sla-in-practice-how-we-guarantee-the-optimum-maintenance-for-it-system/feed/ 0
Use of applications developed in Excel, Access or Visual Basic. What is the optimum way to do it? https://atinea.pl/applications-in-excel-access-vb/ https://atinea.pl/applications-in-excel-access-vb/#respond Mon, 30 Jul 2018 16:50:29 +0000 https://atinea.pl/?p=875 Do you have a suite of legacy scripts and applications which nobody wants to or can use? How can you maintain it? How to extend it to include new features? Whom should you hire without spending a fortune? You will get answers in this article. An ambitious man and a project on the side Let’s […]

Artykuł Use of applications developed in Excel, Access or Visual Basic. What is the optimum way to do it? pochodzi z serwisu Atinea.

]]>
Do you have a suite of legacy scripts and applications which nobody wants to or can use? How can you maintain it? How to extend it to include new features? Whom should you hire without spending a fortune? You will get answers in this article.

An ambitious man and a project on the side

Let’s start with the origins of the problem. There is a company there with a department with heaps of work to do. The department’s budget will not allow for new employees while the workload is increasing. Fortunately, a clever man works in the department. He is not a software developer but has an excellent command of office applications. The department’s needs grow, hence it is necessary to increase its efficiency. What does the clever man do? He makes his own improvements: develops simple Excel templates to facilitate calculations, cataloguing or information flow. The company continues to develop. Its needs expand. Other employees begin to use his solutions.

The Excel guy turns out to be a true Renaissance man. He gets on well with the users of the templates he has prepared and learns how to improve them. And he does improve them. All of a sudden simple documents become automated, there appear Access, Visual Basic and other “strange” technologies.

After some years the entire department of the company works based on the once simple Excel template, which is now…  an advanced suite of applications and scripts. They may not be intuitive to use, yet people are still satisfied as they do not need to do all the toilsome tasks. It works.

They owe it all to a single man who had the zest and skills and knew how to use them. He knew the business, he knew the people, he knew the technologies and now… he is gone. Has he left the company? Has he retired? Is he ill?

He has left a suite of applications the entire department’s work depends on. And the entire company’s stability depends on… the department’s work. Suddenly the applications become a crucial factor to look after in order to ensure the company’s safety, but…

Nobody knows what all of this is about

Nobody can handle them. Nobody knows how to maintain or extend them. Moreover, everybody is afraid to even try not to spoil anything.

You put your faith in the software developers (if any) in the IT Department. They wash their hands of the issue – its not their project. Why should they put their neck in the noose for the system somebody developed on the side? Besides, they haven’t got the time, means or know-how to do it. Theirs is a simple solution – let’s buy a new system from a vendor who will provide support and assistance.

But this is out of the question. Vendor search, specification definition, analysis of needs and requirements, business analysis, financing… It will take months and if you add the time to implement and optimise the new system, it will be ready in 2 years, in an optimistic scenario. Meanwhile, the existing applications require ongoing modifications: because legal regulations are altered, data formats are modified, needs change or… your applications may simply become corrupt.

What about hiring somebody who would manage the whole thing? While it seems to be an optimum solution,… the IT Department will still think one person is not enough – you need three or more because hardly anyone could understand on their own how your “strange” system works. So where can you get the money to this end? And another question: will those people really want to deal with it?

Nothing to be happy about. What should you do then?

We have a solution to this problem

We know dozens of such stories. We know them because we have had numerous talks with our clients who could not manage such applications in their companies. They were looking for a reliable and effective solution which would not ruin their finances, and…

They have found it with us.

We are among the few companies (or perhaps the only one) in the Polish IT market to handle such cases. We employ on a permanent basis experts in legacy technologies such as Visual Basic, Access, Excel, DOS, and others. We may quote a number of examples where our service saved our clients the trouble, time and money. We use proprietary processes for system and application takeover, upgrade and maintenance. Not only will we ensure the stability of operations for your company but we will also expand and upgrade your existing suite of scripts and applications.

Further, our software developers are genuine experts. They work more efficiently, learn faster and their employment costs are paradoxically lower than the labour costs of poor software developers. Instead of our single expert, you would need to hire 2-3 average employees to achieve similar results. Therefore we only employ the best.

Take advantage as others have

If you need somebody to help you solve a similar problem in your company, you are in the right place. As confirmation, see below for some companies which have used our system maintenance service and their opinions on our work:

Contact us. We are willing to learn what your situation looks like. We will put forward solutions tailored to your needs and the needs of your company.

Make an appointment for a non-committal meeting or phone call and find out how we can help you solve the problem.

Use the following form or call our office and make an appointment.

PS: Here is one more article you might find interesting:

Legacy systems — is it better to maintain or convert them into new technologies?

Artykuł Use of applications developed in Excel, Access or Visual Basic. What is the optimum way to do it? pochodzi z serwisu Atinea.

]]>
https://atinea.pl/applications-in-excel-access-vb/feed/ 0
How to receive source codes to avoid serious problems with system development? https://atinea.pl/what-is-the-right-way-to-receive-source-codes-to-avoid-serious-problems-concerning-system-development/ https://atinea.pl/what-is-the-right-way-to-receive-source-codes-to-avoid-serious-problems-concerning-system-development/#respond Wed, 14 Feb 2018 13:15:19 +0000 https://atinea.pl/?p=1163 Do you know how to receive source codes from your developer the right way? We have learned from experience that many companies make mistakes at this point, which will prevent them from developing the system in the future. How can you safeguard yourself against such mistakes? In the article you will learn: the mistakes companies […]

Artykuł How to receive source codes to avoid serious problems with system development? pochodzi z serwisu Atinea.

]]>
Do you know how to receive source codes from your developer the right way? We have learned from experience that many companies make mistakes at this point, which will prevent them from developing the system in the future. How can you safeguard yourself against such mistakes?

In the article you will learn:

  • the mistakes companies make when receiving source codes
  • the consequences of having wrong source codes
  • the problems our clients have encountered
  • how to take over codes and documentation in a proper manner.

Most common mistakes

The client often fails to engage programmers who could check the condition of data delivered. The most important issue for the client is the system function test; as for the codes, the client only makes sure he/she has received them. He/she does not verify the codes and just assumes they are compatible with the system launched by the developer. Further, he/she receives the codes once the main part of the project has been completed and does not supplement them after subsequent modifications.

As long as the client keeps cooperating with the system developer on a regular basis, things work like a dream. A problem crops up when somebody else takes over the program support. Did I say „problem”? A whole lot of problems crop up and they do so at the worst possible time!

Usual consequences of inadequate reception of codes:

  • the system cannot be compiled due to missing documents or codes,
  • once the compilation is complete, it turns out there are no codes for specific modules,
  • you cannot install the system „from scratch” due to missing components,
  • when started on a test server, the system works differently from the one supplied by the developer.

In such a case, clients contact the program developer, which usually solves the issue. It happens though that the developer has not stored the codes or documentation because their collaboration ended long ago. Those responsible for the project may not even work at the company any more. Regardless of the causes, either the system developer helps or the system owner is in trouble.

In practice – sample problems of our clients

Example 1 – lots of wasted time

For our client, we were taking over the support for a system supplied by another developer. The system was composed of a dozen or so large modules. As a whole, it was quite an elaborate program. We received the documentation with the source code package and theoretically things should work out. At first, we verified codes and encountered an obstacle. The program could not be started on a test server.

Intense communication with the client and the developer took us a month and as a result, we received the right codes. „We’ve made it this time”, we thought. Unfortunately we soon found out that we still did not have the codes for all the components. The lacking codes prevented us from developing the system although it functioned. It took us several weeks more to obtain the missing codes. We wasted a lot of time to start and get full access to the program. We could have devoted the time to proper work on operation and development.

Example 2 – a little problem, huge consequences

Several years ago, our present client ordered a document scan processing system from a company. The system operation was stable and smooth over the years. Then the law changed, which required slight modifications to the system. Regrettably, the system developer was no longer interested in cooperation; perhaps the documentation or the people who had created the project were no longer available. Looking for another developer, the client came to us.

Upon initial talks, we determined as follows:

  • the client had source codes for the first system version only,
  • the system used an internal OCR library the client had no development licence for,
  • to make changes, we would have to purchase an analogous licence and the purchase cost would account for a significant percentage of the project value.

No happy ending here. Although the system required small-scale modernisation, the above-mentioned problems made it infeasible. In effect, the client had no option but to order a new system.

So, what is the right way to receive codes?

The proper code reception procedure is not complex, but you need to follow it closely. Apply it when receiving the main part of the system and for every program modification.

When you receive the system:

  • check to see the source codes are complete and include any and all modules and fixes,
  • read the system installation manual and ensure it is complete,
  • install the whole system „from scratch” on a new server, using the codes you have received,
  • perform function tests on the system when started from source codes.

In a minimum safety variant, the above-mentioned procedure should be carried out by the developer in the presence of the ordering party. It is a convenient option, especially for companies which have no IT facilities of their own. But it does not guarantee, with 100% certainty, that everything will work as it should in the future.

In an optimum scenario, the developer provides the client with the code and document package. The client engages his/her own team or a third company to conduct the entire procedure on his/her own, without the developer’s participation. Thus the client may check thoroughly the codes for completeness and the system for proper functioning. Any deficiencies or faults are fixed and future software modifications will not pose problems to other programmer teams. The cost of such a solution is just a small percentage of the order value but it minimises future losses efficiently.

Be meticulous

IT systems developed to order are unique software whose operation requires complete documentation and up-to-date source codes. All the more reason to analyse the codes you receive in depth and stick to the recommended procedure as described in this article. With the procedure, your company will always avoid any system development problems.

Artykuł How to receive source codes to avoid serious problems with system development? pochodzi z serwisu Atinea.

]]>
https://atinea.pl/what-is-the-right-way-to-receive-source-codes-to-avoid-serious-problems-concerning-system-development/feed/ 0
Legacy systems — is it better to maintain them or rewrite into new technologies? https://atinea.pl/legacy-systems-maintain-or-rewrite/ https://atinea.pl/legacy-systems-maintain-or-rewrite/#respond Tue, 14 Nov 2017 15:29:24 +0000 https://atinea.pl/?p=853 Every IT Head encounters the following issue at some point in his career: what to do with a system which is still used by business but no changes or error fixes are actually viable any more? It applies most frequently to a custom-made system developed long ago. Its source codes are still available, but the […]

Artykuł Legacy systems — is it better to maintain them or rewrite into new technologies? pochodzi z serwisu Atinea.

]]>
Every IT Head encounters the following issue at some point in his career: what to do with a system which is still used by business but no changes or error fixes are actually viable any more? It applies most frequently to a custom-made system developed long ago. Its source codes are still available, but the team which developed and maintained them no longer exists. The IT Department would be keen to disable such a system; since, however, the business needs do not allow for such a solution, there are two options left: reconstruct the development team or rewrite the system anew.

If you asked the programmers what to choose, they would probably have no doubts. “Let’s write the system anew, but let’s do it better than our predecessors. Let’s use the new technologies we know well, improve the system architecture and bury the old system. We would be able to clear the error list, implement the new functions that business has requested for months and add some bells and whistles in the user interface.” The benefits of such a scenario are clear: the IT department will regain capability to introduce efficiently changes to the system, new integration possibilities will emerge and the issue of solution obsolescence will be solved for many years to come.

But the IT Manager would not be usually so enthusiastic about the idea. First of all, he or she could imagine the look of the system’s business owner when told: “well, you’ve been waiting for the completion of your urgent requests for months, but, please, do accept this budget of several hundred thousand and we will be able to perform them for you in a year… or two years at most”. He or she will also know, especially if experienced with similar projects, that the cost of re-implementation and time for production launch are usually way underestimated.

On the other hand, the scenario of creating a team to maintain and develop the code for the existing system does not look optimistic either. Obviously, the benefits brought about by a success are worth it. The IT Department may soon set about fixing the most problematic errors and fulfilling new business needs. Further, the improvement and development costs of a stable system usually account for a small percentage of its cost price, so it is much easier to allocate the company budget. Yet the gateway to success seems much more narrow than in the system re-implementation variant. First, you need to find programmers who will be willing and competent to delve into tens of thousands of lines of code lines with hardly any documentation there. It is already a challenge and if we now add that the code is usually written in an older programming language and with libraries or tools no longer developed, the case becomes truly difficult. And it does not get any easier later on, because you need to maintain the team: for such a competitive market, CVs which read “development of a new mobile application in React Native” sound much better than those reading “correction of errors in a legacy system in Visual Basic 6”.

So, what should we do to solve the system development issue, when both scenarios generate major difficulties? Above all, you need to be aware that a technological update will be necessary in the long term, as the cost of supporting legacy solutions will grow every year, while the possibility to adapt them for the changing business needs will shrink. It is essential, however, to form such a project team who will both have the adequate technical competence and know well the genuine business needs underlying the system.
And now we get to the heart of the issue, as the best method to obtain the expertise is… to spend several months maintaining and developing the legacy system. With such training, the team will get substantially better preparation for making viable plans of technological migration. They will also be able to discuss needs with business an a peer-to-peer basis and distinguish legitimate business needs from nice-to-have requirements which are costly but provide little value.

With such an approach, you may obtain benefits from both scenarios described above: in the short run, you will be able to respond to errors and changes needed, as they appear, while in the long run, you will solve the technical debt problem and get enhanced possibilities of development and integration. Some issues will disappear along the way: a well-prepared team will plan migration without excessive optimism, business will perceive direct results from the budget and programmers will not look for job opportunities with more attractive technologies. The remaining issue is to find the right members for the team. It is certainly vital for the team members to be willing to keep learning both as regards technology and business know-how. For programmers, the command of various languages and tools plus the ability to work on a third-party code count more than for instance 10-year experience in developing CRM systems in JEE on Oracle. The selection of the right people from the multitudinous offers on the market is not an easy task, but it is possible – this topic, however, deserves a separate article. In any case, you may always get support from third parties, which will handle the issue themselves.

Artykuł Legacy systems — is it better to maintain them or rewrite into new technologies? pochodzi z serwisu Atinea.

]]>
https://atinea.pl/legacy-systems-maintain-or-rewrite/feed/ 0