Development Project Methodology
Identify Software Requirements
The software requirements of the enterprise are identified by meeting with business users, functional analysts and/or system architects in workshops.
These requirements will be documented and distributed to all involved to serve as a reference to make sure that all requirements are met. In an agile / phased project, only the necessary requirements in order to meet the immediate business need will be captured for the first phase, later requirements can be captured in a requirements backlog list.
It is highly recommended to go with the agile / phased approach since functionality will be released sooner and will be more visible to business users to provide feedback more rapidly.
Development is usually broken up into phases. We insist on separate Development, QA and Production environments to make sure that testing new additions to the software does not interfere with the production environment.
Users can see the current state of development by accessing the development environment. This allows total transparency to our clients so that they can see the current progress of the project at all times.
Before a release is done, business users can test the changes / new features in the QA environment to sign off that they are happy for any changes to be made.
EnterpriseWorx uses best practice version control methodologies to make sure that source code is properly backed up and maintained and code can be rolled back to any point in the past if needed. All changes to system functionality are fully logged and audited.
Developer testing is done during development of new features including software unit tests where applicable. Load testing will also be done for Web applications to make sure they will handle the number of concurrent users specified in the requirements gathering stage of the project. Functional testing can be done by an EnterpriseWorx functional analyst and any other nominated business users to ensure the requirements are met. Test case documentation (scripts) will also be drawn up for this type of testing.
Based on the nature of the project, a couple of software project management methodologies may be employed to manage the project:
In cases where the project requirements are well documented and known up front, a waterfall method may be employed to manage the project.
If the requirements are not well known up front or are likely to change over the course of the project, an agile approach to project management will be used. This will take on the form of a scrum project where the project will be broken down into controlled sprints with progress being evaluated and tracked after each sprint. This is the preferred method used by EWX whenever possible.
Adopt The Client’s Method
Where EnterpriseWorx resources are being employed within a larger project, EnterpriseWorx resources will fit into the client’s SDLC.
Issue and Task Tracking
EnterpriseWorx uses a task tracking system to manage all project related tasks and communication. This ensures that all tasks are tracked within a project and the status of tasks can be seen at all times.