Agile Data Modeling: Guide for Developers
When Is Data Modeling Needed? As a software developer, I have been dealing with relational databases throughout my professional career since 2001. I started with smaller projects. In 2004, I joined a company that was rolling out ERP systems in large manufacturing enterprises, which required that I learn bigger SQL servers such as MicrosoftSQL and Oracle. In 2009, I switched to startup development. Startups were mostly web projects developed in the Agile manner - with various changes during the project life. Startup development brought interesting challenges. Several times, I had…
Automated Tests, Test-Driven Development and QA Automation
What Is Automated Testing? Software testing has been an important part of development since the early years of end-user software. The market demanded the quality of paid applications to be high. High quality had a close connection with success of the business. The software engineering world responded with an automated testing concept that facilitated work of engineers and even boosted possibilities of development through a new approach. The new approach implied that tests were written at the first step of a feature engineering. An automated test would appear as a vision of the future -…
Why Is My App Slow? Part 3 - Extensive Data Processing
This is the third article in my series about typical scenarios when a web or mobile app experiences severe slowdowns, causing frustration for both users and the owner. In the first article, I discussed a project where engineers didn't follow proper programming practices and kept endlessly copying pieces of code, thereby depleting the system's processing power. Experienced programmers easily solved the problem by simply removing all these duplications, which seemed like some kind of magic to the customer. The second article discussed the same app but in a completely…
Why Is My App Slow? Part 2 - Increased Load
I go on to describe the typical issues that cause an app to function at an unforgivably slow pace, based on projects I've been directly involved in. In my previous article, I described the first common scenario that developers encounter when they are asked to speed up an app. It was the story of a website created by engineers scattered around the globe. They didn't coordinate their actions and preferred the easiest path, mindlessly copying code without caring for the system's performance. Here comes the second story about speed issues in the same project. This time…
Why Is My App Slow? Part 1 - Quality Issues
If you have a web application or a mobile app with a backend that is slow, let me share 3 stories I happened to be connected with. These are stories of actual projects, showing three typical scenarios where apps start to slow down. We'll see how and why these situations arise and think about the best ways to overcome them. I opted to create a separate article for every story, beginning with this one. It's about a returning customer who had a project developed by our company. I was not involved in the first release development and launch of this…
What Is a Web App?
Several years ago I happened to communicate with potential customers on job posting sites. I noticed that most of the customers used terminology that was a bit different from what I would use. If they said something like, ‘I need an app’, it was about a mobile application. For me, ‘an app’ meant any type of application - a web application, a desktop application, a mobile application - but their use of this word was more particular. Customers would rarely mention a web application. More commonly, they would refer to a…
When Business Should Care About the Quality of Their Software
The article discusses the importance of balancing technical improvements with visible business benefits in custom software development. It highlights how poor architecture, slow development, and performance issues can impact a business. Custom software is written to help businesses make money. This is a very simple idea, and I hope that everyone would agree that it is true. Sometimes it happens that we meet business project owners who are more excited about the technologies and coding than about the business itself. But it is a rare case and not the one that helps the project be…