The following questions will help get you thinking about how you will deploy Klocwork.
Basic deployment structure
- Will this be a multi-site deployment?
- Where are the users going to be based?
- Where will the servers ideally be based?
Hardware requirements
- What platforms are used for developer, team and deliverable source code builds?
- Do existing developer machines and build servers meet the minimum system requirements?
- Will servers be virtualised or cloud based?
Licensing
- Do you have a corporate FlexNet Publisher server and will you want to use this existing server to manage the Klocwork licenses?
- Do licenses need to be restricted for use by certain teams or business units?
Authentication and access
- Do you have a corporate authentication system (LDAP/AD or NIS)?
- Will the central Klocwork data be controlled by central IT, a tools team, QA or the project teams?
- Are there any restrictions on what source code or analysis data can be seen by members of the teams or other groups within the organisation?
- Will the Klocwork web-portal require a secure connection (HTTPS)?
Migration and updates
- Will you need to migrate existing Klocwork projects into the new setup?
- Do you "push" existing software installation updates and patches?
Backups
- Do you have standard backup procedures?
- Will cold backups be possible or will the system be in constant use?
- Who will be responsible for the backups?
Compliance and reporting
- Will it be necessary to keep a set of data points for specific builds (perhaps those corresponding to project releases)?
- Do you have any certification or standards compliance requirements?
- Will you have a defect-approval process or role for granting deviations?
- Do you need to produce reports and audit trails from your analysis data?
- Will the tool need to be qualified as part of a certification?
- What platform(s) do your definitive project builds use?
- What is the tool chain: which compilers and linkers are used?
- What source code management (SCM) system do you use and are source files checked out locally?
- Will you be running other static or dynamic runtime tools at the same time as Klocwork?
- Do you make use of Continuous Integration/Continuous Delivery tools?
- Do you make use of distributed build tools (such as Electric Cloud or Incredibuild)?
- Will you want to export existing Klocwork results to a bug tracking system?
- Will you want to connect Klocwork to your ALM/PLM software?
Project structure
- Does the projects include multiple languages?
- Do all components of the systems need to be analyzed/analyzed for the same set of rules?
- Do the projects make use of third-party or open source code and is this code changing frequently or is it relatively static?
- Do the projects make use of third-party libraries (not provided by the platform or compiler)?
- Will Klocwork be used to analyse multiple branches of the same project?
- Will Klocwork be used to analyse multiple projects containing common code?
- Do the projects have multiple variants or build targets that need to be checked?
- Should legacy code issues be included in the issue backlog?
Developer landscape
- What environment(s) do your developers use?
- Do all developers use IDEs such as Eclipse or Visual Studio, or are they using other IDEs or plain editors?
- Will developers run analysis on a local machine, or directly work on an integration build server / CI server?
- Is there a (code) review process or pre-check-in approval step?