Software development is a complicated process because it produces complicated things that should look very simple. A lot of disasters and mistakes may occur during it. Check this list to avoid common complications in your software projects.
Some modules and concepts are needed in almost every software. This article lists the most common ones.