All development projects have requirements, which are the basis for design. J-Mack provides complete support for the development of requirements, including the following activities:
- Elicitation, analysis, validation, and communication of customer needs, expectations, and constraints
- Collection and coordination of stakeholder needs
- Development of the lifecycle requirements of the product
- Establishment of the customer functional and quality attribute requirements
- Establishment of initial product and product component requirements consistent with customer requirements
The documentation of the requirements process is critical to a successful project. J-Mack provides cradle-to-grave requirements support. Some examples of what we bring to the table:
- Defining and documenting business needs (e.g.: Initial Capabilities Documents, Business Requirements Documents).
- Producing detailed requirements of the business need to support the development and testing of the desired product (e.g.: Use Cases, Business Specification Documents, Application Change Requests, 4+1 Models, Process Models, Business Rules, Information Models).
- Documenting the traceability of Business Requirements throughout the Software Development Lifecycle (SDLC) (e.g.: Requirements Traceability Matrix).
Our team works closely with software development, especially those teams using an Agile approach, so that we can anticipate their needs and provide clear, valid requirements, updated with the most current understanding of the business need.
J-Mack specializes in software development best practices like:
- Test Driven Development (TDD), an important agile requirements and agile design technique.
- Pair Programming
- Collective Code Ownership
- Continuous Deployment
- Continuous Improvement
The development of a software system is not complete without thorough validation and verification (V&V) that the software delivers the business need, aligns with the captured requirements, and meets the intended design. Specifically, validation is the process of testing the software to ensure it satisfies the business need – “Are we building the product right?”, and verification is the process of testing the software to determine if it was built per the requirements and the design specifications – “Are we building the right product?”.
At first glimpse, this appears to put testing and development teams at odds – a potentially adversarial relationship. However, the J-Mack team believes that testing and development teams must be strong partners, especially in the Agile software development process. We support both the business and the software development teams by providing both integrated and independent inspections and tests of software solutions. We start by creating a detailed test plan, then we provide both static and dynamic software inspections and testing throughout the Software Development Lifecycle (SDLC).
One of the qualities that makes the J-Mack team so unique is our coordination between requirements and the V&V of a solution. Our team performs V&V with each release to ensure the solution meets the intent of the requirements.