User:

Log in user:

(step 1 of 2)


Write your email address in the white field and then click the "Confirm" button.

Log in user:

(step 2 of 2)


Write your password in the white field and then click the "Confirm" button.
Or click the "Request password" button to request forgotten password.

Log in user - Failure:


Email address has not been found!
Click the "Previous step" button to to enter your email address again.
Or click the "Register user" button to register your email address.

Log in user - Failure:


Pasword does't match!
Click the "Previous step" button to enter the password again.
Or click the "Request password" button to request forgotten password.

Request password:

(step 1 of 2)


Write your email address in the white field and then click the "Confirm" button.

Request password:

(step 2 of 2)


Your password has been sent to your email.
Please also check your spam folder.

Request password - Failure:


Email address has not been found!
Click the "Previous step" button to enter your email address again.
Or click the "Register user" button to register your email address.

Register user:

(step 1 of 5)


Write your email address in the white field and then click the "Confirm" button.

Register user:

(step 2 of 5)


Registration code has been sent to your email.
Please also check your spam folder.
Copy the registration code from your email in the white field and then click the "Confirm" button.
Or click the "Previous step" button to request the registration code again.

Register user - Failure:


Email address already exists!
Click the "Previous step" button to enter the email address again.
Or click the "Log in user" button to log in with your email address and password.
Or click the "Request password" button to request forgotten password.

Register user:

(step 3 of 5)


Set your user name in the white field and then click the "Confirm" button.

Register user - Failure:


Registration code does't match!
Click the "Previous step" button to enter the registration code again.

Register user:

(step 4 of 5)


Set your password in the white field and then click the "Confirm" button.

Register user - Failure:


User name already exists!
Click the "Previous step" button to set another user name.

Register user:

(step 5 of 5)


User has been successfully registered.
Click the "Log in user" button to log in.

User settings:

User settings:


Please log in to be able to open user settings.
Click the "Log in user" button to log in with your email address.
Or click the "Register user" button to register your email address.

User settings:


Your subscription has been successfully canceled.

User settings:


Your subscription has been successfully established.

Write comment:

Write your comment in the white field and then click the "Add comment" button.

Development is evolution



Cubes

Do a good job!
Don't compromise!

Learn when working on the task and learn from the result.

Only if the task has been done correctly, it can be done even better next time with the new knowledge.
Compromising and doing bad work doesn't bring the right insights. It damages evolution.

© Radim-Automation, 2020–2025. All rights reserved.
Sharing of this article is permitted with proper attribution (link to the original page).


Related previous articles:


Related next articles:


I heard once that we are not allowed to use the word "evolution" in software development because to the investors it sounds like development will never be completed ...

But isn't evolution just the best example of development? Isn't it evolution that does things best to meet the demands of nature?

@Comment#: 00001
"Good point actually. I think it is crucial to find the good balance between evolution (development) and releasing. If we never stop developing, we never start selling. But if we stop developing, we can not sell the product. Its like a ying-yang, isn't it?"
- Martin Zavodsky

@Comment#: 00001
"This statement comes from deep of my heart!!
Evolution means continuous development, clever learning from past and implementing of each of those findings to improvements. Moreover, it also gives stability to that, what we are doing and eliminates surprises."
- Jiri Rus

"What do you really learn from mistakes? You might learn what not to do again, but how valuable is that? You still don’t know what you should do next.
Contrast that with learning from your successes. Success gives you real ammunition. When something succeeds, you know what worked - and you can do it again. And the next time, you’ll probably do it even better.
Failure is not a prerequisite for success. Success is the experience that actually counts.
That shouldn’t be a surprise: It’s exactly how nature works. Evolution doesn’t linger on past failures, it’s always building upon what worked. So should you."
- Jason Fried, David Heinemeier Hansson. 37signals (2010). Rework.

New problems occur in real operation that were not expected or experienced during development or test operation.
Then you are happy if you know the system / devices well, if you know how they work, how they are connected and controlled, etc. This know-how comes simply from working on the system, from solving smaller and larger problems...

During development, do not use other (preliminary) hardware than the one selected for production. You gain important experience with the hardware. You will find out whether the performance is sufficient and learn how to eliminate problems that arise during development. If the software development phase is carried out on the hardware designed for sharp operation, you will experience fewer unpleasant surprises after the machine is commissioned.

Does it make sense to think about digitalization if we don't see any use case?

"If you don't see any practical use case or clear benefit for digitalization in your specific situation, it may not make sense to pursue it blindly. Digitalization should always align with your organization's goals and needs. Here are some considerations:

1. Assess Business Objectives: Start by identifying your organization's objectives and challenges. Digitalization should align with your strategic goals, whether it's improving efficiency, reaching new markets, enhancing customer experiences, or reducing costs.

2. Customer Demands: Consider whether your customers or clients expect or would benefit from digital solutions. If there's no demand for digital services, investing in them may not provide a return on investment.

3. Competitive Landscape: Analyze your competition. If your competitors are effectively utilizing digital technologies to gain a competitive advantage, it might be necessary to explore digitalization to stay relevant.

4. Cost-Benefit Analysis: Conduct a thorough cost-benefit analysis to determine if the potential benefits of digitalization outweigh the costs. If the investment doesn't offer a reasonable return, it might not be justified.

5. Resource Availability: Evaluate whether you have the necessary resources, including financial resources, technical expertise, and staff training, to implement and sustain digital solutions effectively.

6. Future Growth: Consider the scalability of your organization. Even if you don't currently see a clear use case for digitalization, it's essential to think about your organization's future growth and whether digital technologies could play a role in that growth.

7. Technology Trends: Stay informed about industry trends and emerging technologies. While there may not be an immediate use case, technological advancements could create new opportunities down the line.

8. Customer Feedback: Engage with your customers or stakeholders to gather feedback on their needs and preferences. They may provide insights that could uncover potential use cases for digitalization.

9. Pilot Projects: Instead of a full-scale digital transformation, consider starting with smaller pilot projects to test the waters and assess the feasibility and impact of digital solutions in a controlled environment.

10. Consult Experts: Seek advice from digital transformation consultants or experts in your industry. They can provide insights into potential use cases and help you determine if digitalization is appropriate for your organization.

In some cases, it may indeed be the case that digitalization doesn't make sense for your organization at a given time. However, it's essential to regularly revisit this assessment as technology and business landscapes evolve. What might not be relevant today could become essential in the future. Ultimately, the decision to pursue digitalization should be guided by a thorough understanding of your organization's unique needs and circumstances."

- https://chat.openai.com (Does it make sense to think about digitalization if we don't see any use case?)

Complaints and identified problems are good sources of innovation.

"By continuously improving the design of code, we make it easier and easier to work with.
This is in sharp contrast to what typically happens: little refactoring and a great deal of attention paid to expediently add new features.
If you get into the hygienic habit of refactoring continuously, you'll find that it is easier to extend and maintain code."

- Joshua Kerievsky. Addison-Wesley (2004). Refactoring to Patterns.

"Never discourage anyone who continually makes progress, no matter how slow."
- Plato

Benefits and risks of software updates via remote access to customer machines

In today's agile world, quick and easy software updates are essential for maintaining technologies and systems. However, the transition from manual installation of updates to remote access raises an important discussion about the risks and benefits of this approach.

Technical feasibility and tools:
The technical aspect is not an obstacle. With today's concepts and tools, the application software can be updated on remote machines at the customer's premises.

Risks:
However, the main concerns relate to the risks associated with this procedure. There is a possibility that the installation of the new software version may cause unexpected problems that can have serious consequences. The machine may no longer be able to be started and may even no longer be accessible remotely. A specialist then has to travel to the customer. This can take up to several days and leads to expensive production downtime for the customer.

Benefits:
Conversely, remote software updates have many advantages. Customers do not have to wait for a technician to be present, which saves time and travel costs. In addition, the rapid availability of updates can improve overall customer satisfaction and increase efficiency.

Solution:
To minimize the risks associated with remote updates, clear rules and procedures must be established. These include thorough testing of updates prior to deployment, detailed data backup and recovery plans and adequate training of customer personnel.

Remove the "ballast" from the program!

Only include things in the program that are really needed. Unnecessary parts of the code in the program become obsolete, untested, raise unnecessary questions and are a source of ambiguity.

Sometimes it is a good idea to try more than one way in practice to find out which way is the best. However, once we have decided on a particular approach, it is important to consolidate our methods and remove the outdated ones. By removing "ballast" from the program, we eliminate potential sources of confusion and improve the overall quality of the code.