We help companies to increase the quality of their software development in order to reduce total maintenance costs and reduce bugs – accelerating delivery, improving performance and scalability, making it easier to add new features and frequent upgrades. We help teams adopt Domain Driven Design, Use Case Driven Design, Test Driven Test, API First Design, Clean Architecture, Microservice Architecture, CI/CD. Our goal is to assess the current quality state and help companies refactor legacy code, transitioning to best practices and modern technologies, supporting the reputation of the company as innovative with built-in quality. Continuous improvement is key.
We make an assessment of the software architecture and code quality, as well the potential benefits of increasing quality. We also assess the company culture and its alignment with technological innovation and technical excellence. We assess this both at a technical leadership level and development team level. We provide reports indicating technical criteria results and improvement actions.
Basic
Architecture Assessment
Standard
Architecture Assessment
Development Team Assessment
Premium
Architecture Assessment
Development Team Assessment
Architecture Review & Code Review
Notes:
Architecture Assessment refers to assessing the architecture via 2 meetings with the technical lead (2 x 1hr) whereby the technical lead explains the product concept, the system architecture and we provide a guided discussion through code, as well as discussing key layers and components within the system, both high level as well as through certain low level examples in code; including also access to the source code repository. The deliverable is a report describing the current architecture and proposed improvements to the architecture, as well as the current state of code quality and proposed improvements, including a high level roadmap.
Development Team Assessment refers to 1-one-1 meetings with the development team members (technical lead may also be present) to assess their technical skillsets based on live coding exercises in order to test skillsets in object oriented design and relational database design. The deliverable is a report describing the technical level of each development member, as well as their points of improvement, including a high level roadmap. We interview up to 5 team members (backend software developers - .NET or Java).
Detailed Architecture Review & Code Review refers to independent code review, attempting to cover a broader extent of the codebase, with special emphasis to the key components of the system. The deliverable is a reporting regarding the architecture review and code review, describing the current state as well as improvement possibilities, including a high level roadmap.
We review documentation provided by the Technical Lead. This documentation may include architecture diagrams, class diagrams, process diagrams, or any other documentation. This may be useful for companies that need to assess the level of documentation produced either internally or by their service provider.
The process is as follows:
Technical Lead provides access to the documentation so that we can review it
We have 3 x 1hr meeting sessions with the Technical Lead, whereby we present review (comments, feedback, guidance, clarifications, improvement suggestions) during the sessions.
Between the sessions, the Technical Lead may do updates to the documentation, and then on the upcoming sessions, we review the updates they present.
Review is presented via the meeting sessions, there is no additional email/phone support. The client may choose to record the meetings for their reference.
Timelines:
Access to documentation needs to be provided by the first date of the engagement.
The 3 x 1hr sessions would be executed during a 1-month period.
The purpose of Technical Documentation Review is to perform a high-level review and to enable the Technical Lead to improve key aspects of the documentation. The amount of improvement that's actually executed is dependent on the Technical Lead. After this, if additional support is needed (especially in cases where someone may not have had adequate experience in the documentation) then it can be performed through the Technical Coaching Retainer (Basic), whereby we provide coaching in the documentation.
We work with the Technical Lead in effectively leading development teams using a coaching style. We help the Development Team to adopt the Test Driven Development (TDD) - writing automated tests (unit tests and integration tests) and refactoring code based on best practices. We provide training in both Classicist TDD and Mockist TDD, with a preference towards Classicist TDD. We help the team to transition to Hexagonal Architecture / Clean Architecture and Use Case Driven Design (UCDD). With TDD and Clean Architecture, we help the team to increase quality, accelerate delivery and decrease maintenance cost.
Basic
Weekly Technical Lead Consultations
Standard
Weekly Technical Lead Consultations
Daily Development Team Coaching
Premium
Weekly Technical Lead Consultations
Daily Development Team Coaching
Unlimited Technical Lead Access
Notes:
Weekly Technical Lead Consultants (1hr / week) refer to meetings with the Technical Leadership to review technical direction, technical planning and review, and technical advisory, and reviewing any technical documentation; consultation scope is unlimited
Daily Development Team Coaching (30min daily; 4 days / week) refers to coaching the development team using the Test Driven Design approach, with continuous refactoring to improve the code quality; consultation scope is unlimited
Unlimited Technical Lead Consultations refers to unlimited ad hoc consultations for Technical Leadership to resolve challenges in close to real-time (see “Conditions” section), may include additional stakeholders (employees / clients / vendors) in those ad hoc consultations; consultation scope is unlimited
“Technical Lead” refers to the leader of one development team (either Team Lead or Tech Lead or Software Architect).
Solution Architecture Design
Application Architecture Design
Detailed Code Review Report
Other custom services based on client needs
Pricing is available Technical Consulting Pricing (restricted access).