The engineering team is a group of individuals that have been tasked with the technical construction of the software and the delivery of all required artifacts to the business owner. The following is a description of the possible roles that may constitute the engineering team. Because of the nature of projects individuals may be required to fill multiple roles on a project.
The engineering team is the core group of individuals that produce the development artifacts.
Engineering Technical Lead
- Oversees project adherence to the SDLC.
- Manages the iteration.
- Responsible for estimates and also for velocity of the team.
- Mentors other engineers on the project team.
- Responsible for coordinating the design and architecture of the project.
- Develops features.
- Writes unit tests.
- Produces technical design and documentation.
- Participates in code reviews.
- Helps to write integration and functional tests.
- Participates in iteration planning and retrospective activities.
- Manages project requirements.
- Facilitates communication with business owners.
- Responsible for the Contextual Inquiry process and the prototypes / mocks.
- Coordinates the production of end-user documentation.
- Provides domain knowledge and expertise to the engineering team.
Quality Engineer (Software Engineer in Test)
- Writes unit tests.
- Writes Test Plans; including test cases for security requirements, load / stress testing, and User Acceptance Tests (both functional and non-functional requirements).
- Validates that Test Plans have been completed before deploying to production.
- Participates in iteration planning and retrospective activities.
- Ultimately responsible for project quality management.
The ancillary team consists of teams and individuals that support the engineering team.
Clinical Engineering Leadership Team
- Manages the project request process.
- Coordinates the availability of engineering resources.
- Coordinates the status and completion of projects.
- Communicates new projects to the engineering teams and assigns engineering leads.
- Manages project budget and deliverables.
- Helps to maintain relationships with other project teams and external resource teams.
- Communicates project checkpoints to the business.
- The technical analyst is the lead liaison between the engineering technical lead and the end users and coordinators at the implementation sites.
- Manages feedback from the implementation sites and communicates to the engineering lead.
- Schedules implementations and coordinates release date/times with and project stakeholders.
- Validates that Test Plans have been completed before deploying to production.
- Coordinates with the project quality engineer to facilitate test case documentation.
Release Management Engineer
- Creates a deployment plan for artifacts published to Nexus.
- Coordinates across various systems to manage dependencies. Interacts with the Change Advisory Board to communicate releases Information Systems.
- Coordinates Release Readiness Review meetings.