The success of an organizational transformation depends on the correct diagnosis of problems and team alignment regarding the proposed solutions. Many teams are unaware of the core technical problems they have, wasting time in solving the wrong problem, failing to implement changes due to the absence of team commitment, or thinking they are going in the right direction but going in the worse direction. Through our technical assessment:
We help raise awareness of the current business context, technical challenges, and the cost of not solving the problem
We help reach alignment regarding the proposed solutions to solve the technical challenges and achieve the technical transformation
Duration: 1 hr
Participants:
Required: Valentina Jemuović & Engineering Manager and/or CTO
Optional: CEO, any other relevant stakeholders
Agenda:
Analyze software delivery issues from the business perspective
Analyze the impact of slow delivery & bugs on the business
Duration: 3 hr
Participants:
Required: Valentina Jemuović & Tech Lead
Optional: Senior Software Engineers, Engineering Manager, CTO, any other relevant stakeholders
Agenda:
Screenshare Pipeline Architecture, Software Architecture & Source Code, Test Architecture & Test Code
Discuss challenges in Architecture, Source Code & Test Code and their impact on delivery
Duration: 1 hr
Participants:
Required: Valentina Jemuović & Engineering Manager and/or CTO, Tech Lead
Optional: Any other relevant decision-makers
Agenda:
Present summary of the report results
Discuss possible next steps / roadmap
Short Audit Report (one or more pages) - includes the key challenges and proposed solutions
Prior to the session, please prepare the following:
Schedule the three sessions:
Technical Management Audit
Technical Development Audit
Technical Transformation Roadmap
In the above, you'll see the Required & Optional Participants.
Ensure that the meeting has video conferencing (e.g. Zoom/Teams/Meet).
Ensure that you've given permission to the Tech Lead for recording.
Create a shared file called "Optivem Technical Audit - YOUR COMPANY NAME" (you can create it on Google Drive, OneDrive, etc.)
Provide edit-level permissions to the following: valentina.jemuovic@optivem.com, jelena.cupac@optivem.com
Provide comment-level permissions to the participants of the audit (required), and any additional stakeholders (if applicable)
All participants should check:
Video & Audio Check
Does your video work?
Does your sound work?
Do you have permission to click to record on Zoom/Teams/Meet?
Product Overview
Could you describe the system from end user perspective? Who is the system built for? What value does it offer, what's the business context?
Use Cases
Choose one primary business use case - e.g. for an eShop, the primary business use case is placing an order
Choose the most technical complex use case - e.g. for an eShop, the most technically complex use case might be product recommendation functionality (due to complex algorithm of the recommendation engine)
Product Delivery (Safety & Speed)
How many bugs are there, e.g., on a sprint level? Do you spend more sprint time on user stories or bugs? What percentage of the sprint tickets are Bugs vs User Stories?
How long is the regression testing process before releasing, e.g., how long does it take for the QA Engineer to complete regression tests? Does this include full regression testing or just partial regression testing? Is it manual or automated?
How frequently are you deploying the system to production? e.g., once a week, once a fortnight, once a month, once every 3 months, once every 6 months, once a year?
When you deploy to UAT environment, how many bugs are QA Engineers finding? How long does it take to fix the bugs and get feedback that they're solved?
When you deploy to Product environment, how many production bugs are reported by customers? How fast do you resolve them? Is it safe?
Is business complaining regarding delivery speed & quality? If yes, how?
Pipeline Architecture
Screensharing - Pipeline Architecture Diagram
Pipeline Architecture - showing stages/steps in the CI/CD Pipeline
System Architecture
Screensharing - System Architecture Diagram
Software Architecture - showing Frontend, Backend, Database, Message Queues, External Systems, and anything else relevant
Test Architecture
What's your test approach? Manual QA Testing? Automated Testing? Both?
If you have Automated Tests, which types of Automated Tests do you have - E2E Tests? Integration Tests? Unit Tests? Contract Tests? Any others?
Source Code
Screensharing - Source Code (Frontend, Backend, ML, Embedded, etc.) & code quality metrics (if available)
The following is an example of prompts I may use for an eShop, for the use case of placing an order:
UI - Could you open up the application on your UAT environment and show me how the QA Engineer would manually test the order placement use case (then the developer selects some product, inputs quantity, and shows me there's a popup conforming the order was placed)
Frontend Source Code - Could you show the frontend source code for placing the order (the developer might then show some frontend components, services, etc.)
Frontend Source Code - Let's see what calls the frontend is making to the backend - which REST API endpoints?
Backend Source Code - Could you open up those REST API controllers: where's the business logic, database access? Communication with other microservices - direct API calls, message brokers? Communication with external systems
Additional Source Code - Aside from Frontend & Backend, we may look at additional code, such as Machine Learning code, Embedded code, etc.
Metrics - Static Code Analysis - (optional) Do you use SonarQube? What are the results?
Test Code
Screensharing - Test Code (e.g. E2E Tests, Integration Tests, Unit Tests, etc.) & test quality metrics (if available)
For each test type that you have, could you screen share an example of the test code for that test type?
Metrics - (optional) Do you run Code Coverage & Mutation Coverage? What are the results?
During sessions, there is 5 min break at end of each 1hr
At the start of any sessions, the host can start the recording, if they want to save the training for future internal reference.