Assessment - Actionable Recommendations

Assessment - Actionable Recommendations

Quoin offers technology and development capabilities assessment services for product selection, portfolio management, process improvement, acquisition, or other strategic initiatives. We provide independent and practical input that enables an organization to see its way forward through seemingly intractable challenges.

Assessment - Actionable Recommendations

Quoin offers technology and development capabilities assessment services for product selection, portfolio management, process improvement, acquisition, or other strategic initiatives. We provide independent and practical input that enables an organization to see its way forward through seemingly intractable challenges.
Methodology
Agile, Scrum, Continuous Integration, Test-driven Development, Business Process Modeling, Business Process Analysis
Function
Strategi Planning, Project Management, Requirements Analysis, Architecture, Business IT Alignment
Clients & Projects
Booz Allen, Addgene, IAC/CollegeHumor.com, Origene
Engagements
Fixed Effort/Cost, Time & Effort, Consulting

Our Technology & Process Assessment can help your organization better understand its capabilities, make strategic decisions, or initiate process improvements. Assessment engagements are conducted by seasoned practitioners - an advantage in an era when consultants too often give only theoretical advice. Quoin's principles, system architects, and technical leads offer pragmatic experience gained from hands-on work throughout the software development lifecycle – from planning to production support.

  • Project Planning & Management
  • Software Configuration & Release Management
  • Requirements Analysis
  • UI/UX & Application Design
  • Implementation
  • Testing
  • Deployment
  • Security, Robustness, Performance Improvement
  • Production Support

Assessment Process

An assessment is inherently specific to a client organization and technology platform. However, we apply a well defined process for analysis and reporting to ensure timely and actionable recommendations. A typical assessment includes the following high-level tasks.

  • Review system and organizational requirements with stakeholders
  • Define benchmarks for evaluating qualities such as security, robustness, performance, or others
  • Perform a technical evaluation of the system, including architecture, source code, build, deployment, and recovery processes
  • Interview stakeholders and operational staff as needed
  • Produce a draft findings presentation for review with stakeholders
  • Conduct additional investigations to support the recommendations
  • Produce a final findings presentation, and present to senior management
  • Provide additional support as directed by the project sponsor

We can subsequently use the defined requirements and candidate list to author a Request for Proposal (RFP) for product vendors, or other implementation tasks.

The following diagram provides an example of high-level analysis used to structure our recommendations. Here we have used a modified SWOT (Strengths, Weaknesses, Opportunities, and Threats) diagram. In this example, we had identified technical leadership and the use of open source technology as strengths that could represent further opportunities for this organization. Similarly, we have assessed the technology platform and operations as significant weaknesses that might be a threat to the health of the organization.

SWOT Analysis

Example SWOT Analysis

Below are example questions used in the discovery process with stakeholders.

Architecture

  • Does the architecture include discrete components with a well-defined interface?
  • What dependencies exit between these components?
  • Does the architecture establish discrete application layers?
  • Does each layer have a specific role in servicing visitor requests or delivering content?

Source

  • Does the source code follow best practices for method invocation, return values, and implicit/explicit values?
  • Is the source code well-structured; and, uses consistent naming, indentation, and formatting?
  • What percentage of components have defined unit tests?
  • What percentage of execution paths have defined system tests?

Documentation

  • Does the development team maintain an overall architecture or design document?
  • Are these components and layers documented to support maintenance and enhancement?
  • Does the source code include sufficient developer comments to support maintenance and enhancement?
  • Does the development team use a system for generating source-level documentation?

Build and Deployment

  • Are the build and deployment processes manual or automated?
  • Are unit, integration, system or user-interfaces tests done during a release?
  • Is testing manual or automated?
  • Is there a defined release schedule?
  • Are releases repeatable and can it be rolled back or patched?

Metrics

  • What quality or performance metrics are available?
  • Are these metrics used in making design and implementation decisions?
  • How many non-commented lines of code, functions, modules, or components comprise the system?

Issue Management

  • Does the development team use an issue tracking system?
  • How are defects reported?
  • What is the current backlog of issues?
  • How are issues resolved by developers and verified by the QA team?

Training

  • What are technical skills required and does the development and QA teams posses these skills?
  • How does the team acquire new skills?
  • How does the team get answers for detailed technical questions?
  • Does the team use code reviews, design review, or other ways for senior staff to mentor junior staff?