Mentoring is a common strategy for organizations to take a team after training to a level where they produce quality project outputs. It can be in any of the forms discussed below and is provided for the following type of tasks/projects
- Software or Organizational Architecture Design projects
- Architectural requirements are elicited and validated and a software architecture within which the application functionality can be incrementally developed and deployed is designed to address the architectural requirements. The SyMAD process will be followed.
- Software or Organizational Architecture Recovery and Assessment projects
- The architecture of an existing software system or an organization is reverse engineered from traces through system or business processes. This includes the reverse engineering of architectural tactics used to address quality requirements, architectural patterns, reference architectures and frameworks used as well as a reverse engineering of the integration architecture (of either a software system or an organization). The recovered software architecture is then assessed against the quality requirements for the system which are commonly related to the organizational capabilities.
- URDAD based requirements specification and technology neutral business process design projects
- Sample use cases will be taken through the analysis and design process populating an URDAD/UML (Use-Case/Responsibility Driven Analysis and Design) model. The business processes can then be mapped onto either automated processes within systems or business processes executed by people.
- Test Generation
- The client team is mentored through the process of generating either the functional test code from the service contracts generated within an URDAD based analysis and design process. The functional test code can then be used for unit testing using unit test data obtained from an analysis of equivalence partitions and boundary values or for operational testing by intercepting the application components in order to verify contract compliance. Tests for higher level application components can be used with mocking to represent pure unit tests or with actual lower level service providers to represent an integration test at component’s level of granularity.
- Code Generation
- The client team is mentored to develop code generation scripts mapping an URDAD based design onto application code within the specified software architecture for the system.
Reference Project based Mentoring
The purpose reference project based mentoring is to have an embedded expert of Solms TC within the team developing the reference project in order to
- Up-skill the team to practically execute one of the project types listed above.
- Iron out any practical obstacles for the organization to successfully execute one of the above tasks
- End up with a reference project which can be referred to in subsequent projects
- Answer questions or provide advice when needed
- Review the output artifacts of the project
In the case of review-based mentoring is to have an internal team execute the task/project largely independently whilst have an expert from Solms TC assigned to