It would be easy to cobble together a piece of software that meets all your requirements down to the letter – set out explicitly in the program code and structure. But a piece of dream software can quickly become a nightmare as soon as your requirements change or grow. The more you set out in stone, the harder it is to change or expand something later. That's why our software development consequently follows a service-oriented-architecture approach (SOA principle).
Yes, it's true - software projects can be very hard work. Not just the software itself, but also the underlying processes are typically complex. Many different people are involved, with very different ideas, perspectives and objects. Programmers, users and consultants also often speak their own, very different languages.