Today, for most organizations it is not feasible to completely document their requirements due to time or other constraints, or else the requirements change frequently due to changing market conditions, customer feedback or the business model. For that reason, agile software development life cycle is the main approach at eCIRCODE. After years of experience with software development, we've found that agile is the best methodology for delivering anything from a minimal viable product to a full-scale enterprise system. But we know the final decision for project methodology rests with the client and the team, so we are happy to offer Scrum, RUP or Waterfall to our clients as appropriate.
Our engineering process typically has the following phases and execution of them usually with the aid of DevOps tools:
Capture and explicit the requirements. In practice, requirements and the changes can happen at any phases.
Define architect, technical solutions, UI and UX.
Development and testing. The development tools, automated build and testing processes are often applied here.
Deployment of the solution. We can streamline the deployment process through Continuous Delivery in appropriate cases.