As a stranger to the IT world one may not understand the classic software engineering. Click a button to have a private cloud, click a button to install a mature opensource solution. Then, be happy and have no clue about how to advance. Complex software solutions likwevCumulus Digital Asset Management, community versions of Application servers, free to use IDEs, everything makes one think, a software could be developed or adapted in an instant. This is absolutely wrong.
A software usually has serveral use cases, a business logic, a demand on critical data, performance, archiving etc and all deployed on a development stack. The frame is normally clear after a requierements analysis, still to specify the implementation of all functionality a sequence analysis is necessary. Software stats, behaviour in states, termination of processes, recalls... everything has to be defined to not get lost in an endless process of refactoring. Agile methods may be applied for modules which can be developed in a rather short time. Still specifications respectively documentations are mandatory to meet development standards in particular quality assurance.