Our methodology
Our methodology applies agile tools and Dynamics 365 Sure Step to manage product lifecycle, reduce risks, and improve efficiency in all D365 (AX) projects.
ask a questionHow we work
Be fully prepared before entering the development stage. Making changes during development can be beneficial, however, they often prolong the process and may cause the project plan to veer off-track. Go back to the design before changing development. A good project manager is essential to maintaining this consistency.
Reverse-effort approach
The correlation between effort and cost becomes important after the development phase. Experience has proven that more time and effort spent on preparation reduces the overall cost of development and allows for greater focus on making sure the system works as the user wants.
Project design process
Phase 1 - Project preparation
- Project organization and tools setup: develop the Project Plan document.
- Environment and standard system installation.
- Preliminary Migration sheets delivery to the client.
Phase 2 - Analysis
- Preliminary Migration to standard system: preparation and execution.
- System interface training: introduce the client to the new system environment.
- Decision Analysis and Resolution (DAR) document development: this document details the requirements and the planned system implementation, either broadly (Agile approach) or in detail (Waterfall approach).
- System Presentation Scenario development: basis for demonstrating system progress to the client during the Implementation Phase.
Phase 3 - Project prototyping
- Project scope verification: review the implementation scope for the Production Start and post-project system development.
- Project Backlog agreement and Delivery Schedule development.
Phase 4 - System implementation
- System Prototype installation and configuration.
- System Prototype expansion: implement agreed modifications, including interfaces.
- Test Migration preparation and execution.
- End-user and administrator training - part I.
- Progress presentations: according to the Presentation Scenario.
- Processes and modifications unit testing.
- Project scope verification: review implementation scope for the Production Start and post-project system development.
Phase 5 - Acceptance testing
- Prototype acceptance testing.
- Production Start Plan document development.
- Project scope verification: review implementation scope for the Production Start and post-project system development.
Phase 6 - Production Start preparation
- Prototype system stabilization: fix only the prototype system errors, which will serve as the reference for the production system.
- Production system installation and configuration.
- End-user and administrator training - part II.
- Production Start plan execution - part I.
- Production Migration preparation and execution - part I.
- Project scope verification: review implementation scope for the Production Start and post-project system development.
Phase 7 - Production Start
- Production Start plan execution - part II.
- Production Migration preparation and execution - part II.
- Post-production start support.
Project team organization
Key roles in the project:
Business Architect
Client's representative responsible for ensuring the system meets the business requirements as specified in the contract.
Solution Architect
ANEGIS representative responsible for the appropriate implementation of requirements in the system, including the system's functional architecture, and maximizing the use of standard system functionality.
Technical Architect
ANEGIS representative responsible for the correct technical implementation of requirements in the system, including the technical architecture and the quality of delivered changes.
Software development process
Requirement definition
Client defines requirements. Business Architect assesses the business rationale of the requirements. The Project Manager reviews the contract, budgets, and schedules to determine feasibility and directs the requirements for ANEGIS analysis.
Requirement analysis
Solution Architect ensures requirements contain all necessary details for analysis and checks their feasibility within the system’s functional architecture. Technical Architect performs similar checks from a technical perspective. Project Manager directs the requirements to the Consultant for analysis and FDD (Functional Design Document) document preparation. The FDD document, including implementation proposals, is reviewed by both the Solution and Technical Architects before being presented to the client for approval. Once approved, the requirements are moved to the implementation phase.
Requirement implementation
Changes to system configuration and/or source code are made and tested by the developer, consultant, and client according to the test scenarios in the FDD document. Upon positive testing, Technical Architect reviews the code for quality and adherence to best practices (and, where necessary, impact on system performance). Upon successful review, requirements are transferred to the production system.
ALM/TFS
Visual Studio Team Foundation Server (TFS) allows us to apply proven practices in ALM: managing source code across teams; developing, building and testing the application; planning projects; tracking work; and reporting work progress. TFS provides version control, a build system, CMMI, Scrum, agile planning tools and metrics for managing software development projects. ANEGIS is one of the only companies implementing Microsoft Dynamics 365 to use TFS and have working build scripts.
Code management
Team Foundation Version Control (TFVC) is a centralised version control system. Typically, team members have only one version of each file on their development machines. Historical data is maintained only on the server. In addition, branches are path-based and created on the server. ANEGIS works in a distributed environment, meaning that each developer has a personal virtual machine with a Microsoft Dynamics Server environment installed.
The virtual machines are managed by Hyper-V Manager. The number of virtual machines on each developer’s PC is connected to the number of serviced customers, but should not exceed three or four at any one time. ANEGIS uses one of the two models delivered by TFVC: check-out/check-in in server workspaces. Before making changes, team members publicly check-out the files. Most operations require the developers to be connected to the server.
Build management
In addition to the Microsoft Dynamics model file, this process enables the creation both of a log file containing the whole build process description and a test result. ANEGIS uses the build system to support a strategy of continuous integration and to put even more rigorous quality checks in place to prevent bad quality code from ‘breaking the build’.
Work management
Items like features, change requests and bugs provide a piece of work to be implemented in the system. After the verification process, requirements are produced and slotted into the final development tasks. Test cases cover the manual testing of each requirement.
Test management
During the testing process, bug work items may be created and stored for further analysis. When a bug is proven, a new requirement is created and a corresponding development task is specified. The steps of test management are as follows: plan, create, run, track results and react.