@zare
4.Architect the software
Defining how functional modules of future software should work at the code level.
Designing a secure and scalable architecture for the solution.
Deciding on integration approaches(point-to-point,middleware-based, iPaaS,etc.)between the software components.
Choosing the optimal technology stack.