Sometimes we usually ask ourselves what should my application contain? During the software development process, we must always be aware of the need we are trying to solve for users of this. However, in addition to this, our application must also satisfy certain needs for itself.
The following model is NOT official, but a proposal of the minimum that it must contain and must be taken into account when launching the first iteration of our application to the market.
A long-term application usually only changes during the development stage. It is considered a long-term application that is intended to be used for long periods of time without requiring so many changes. This type of applications tend to be more focused for corporate and each of its functions and resources can become critical for the operation of the company, and that is why you must pay close attention during the development process.
A short-term application presents changes during the development stage and after being launched. It changes constantly and probably enters a cycle of iterations in which it ends up being something completely different from what was in mind, since the perception of the needs of our customers can change constantly. This type of applications are what we can usually find in startups.
Integration refers to how it connects or communicates with other applications, corporate applications usually connect to a larger system, commonly an ERP, however this only helps in making decisions and is not a critical part for the process of business work.
The design is the aesthetic part of the application, it refers to the colors and arrangement of the elements within the application.
UX (User Experience):
It refers to all the practical and experiential parts of the human-machine interaction, it includes the design of the interactions, the information architecture, the usability and the content strategy. Each of these parts has to fit and be natural for the user to avoid frustration at the time you use the application.
The features are additional functions that our application may contain, such as sharing options, working collaboratively, customizations, preferences, etc.
Security is essential, especially if we refer to corporate applications, we must ensure that each resource is only accessible by the person indicated. I consider that this point on top of the user experience, because otherwise, authentication would not exist, for example, any user could have access to any resource and this would be a better user experience, but of course this puts at risk the company information.
In the case of applications for the user, security is also important, but usually the value is not perceived as much, and a security breach may affect the user but is not as critical as for a company.
The application should work just as advertised, making sure that it meets the user's needs. I know that this last point sounds a bit obvious, but in the industry I have found many examples of applications that lose their focus and put their priority on things that are not a priority for the users.