Software and Tooling Guidelines¶
| Groups | Initials |
|---|---|
| Driver/Owner | BOGD |
| Task Force | KTH, LAC, JEFR, BOGD |
| Stakeholders | JGR, IT, LRI, THB, JAN, VDJ, SAJO, SKSH, DOCA, FRT |
| Audience | T&I, MSTY, PEFL, OAR, JGR, RASA, DYK |
Introduction¶
This document provides decision-making guidelines for selecting software and tools at DHI. It categorizes tools by Required (mandatory), Recommended (default choice), and Optional (use when needed), with security considerations and minimum version requirements.
This guide applies to all staff involved in software development but does not cover 3rd party components and frameworks used within the software being released.
Quick Reference: Default Choices¶
| Category | Required | Recommended Default | Optional |
|---|---|---|---|
| Machines | DHI issued baseline hardened PC | - | - |
| OS (General) | Windows 11+ | WSL2 | - |
| OS (Testing) | - | Ubuntu Desktop | - |
| Containers | - | Ubuntu Min (30MB) | Debian Slim (50MB) |
| Cloud | Azure | - | AWS (by exception) |
| Agile Tracking | - | Azure DevOps | Jira, GitHub Issues |
| Documentation | Developer Documentation | - | - |
| Communication | Microsoft Teams | - | - |
| IDE/Editor | - | VSCode | Visual Studio (C#), Vim/Neovim |
| API Testing | - | Postman | Hoppscotch, Insomnia |
| Source Control GUI | - | VSCode Git / GitHub Desktop | Sourcetree |
| Diagramming | - | Excalidraw (quick) / Figma (detailed) | Miro, Visio |
| Database Tools | - | Azure Data Studio (SQL) / pgAdmin (PostgreSQL) | DBeaver |
| AI/ML Assistance | See AI Guidelines for more info | GitHub Copilot | Claude Code |
| Kubernetes | - | Lens (GUI) / K9s (CLI) | - |
| Source Control | Azure DevOps Git | GitHub Enterprise (coming soon) | Seapine Surround |
When To Apply¶
These guidelines apply during all project stages:
- Scoping
- Planning
- Development
- Testing
- Maintenance
- Handover
Roles & Responsibilities¶
| Role | When Applicable |
|---|---|
| Developers | Planning, estimating, development & testing |
| DevOps | Planning, estimating, development & testing |
| QA | Planning, estimating, development & testing |
| Project Managers | Planning, estimating, development & testing |
| Project Owners | Planning, estimating, development & testing |
Getting Software Installed¶
1. Software Centre (First Choice)¶
Most core software is available through the DHI Software Center.
Note: A project number is typically required for license requests.
2. Requesting New Software¶
For tools not in Software Centre:
Option A - Email:
- Send to: hotline@dhigroup.com
- Include: Application name, URL, reason for request, project number
Option B - ServiceNow: - Visit: https://dhigroup.service-now.com/ - Follow the guided tour for software requests
3. Third-Party Developer Tools¶
For utilities and development tools: 1. Launch "Administration access" utility from desktop 2. Explain need to IT 3. Wait for approval 4. Proceed with installation
Security Warning: All third-party software undergoes IT Security review for vulnerabilities. By default, costs are charged to your department (requires line manager approval).
Tool Categories¶
Operating Systems¶
General Development¶
Required: - Only DHI issued baseline hardened PCs are allowed - Microsoft Windows 11 or later (Minimum: Version 22H2) - Microsoft Windows Server (Minimum: 2019)
Recommended: - WSL2 (Windows Subsystem for Linux) - Preferred for Linux development on Windows - Use when: Developing containerized applications, running Linux-specific tools, or needing Unix-like environment
Testing Environments¶
Recommended: - Ubuntu Desktop (GNOME) - DHI's preferred Linux distribution for testing - Minimum: Ubuntu 22.04 LTS - Use when: Testing Linux deployments, running automated tests in Linux environment
Container Images¶
Security Warning: Alpine Linux is not supported by DHI software components.
| Tier | Image | Size | Minimum Version | When to Use |
|---|---|---|---|---|
| Recommended | Ubuntu Min | ~30MB | 22.04 | Default choice for new containers. Newer kernels, more secure than Debian. |
| Optional | Debian Slim | ~50MB | Bookworm (12) | When stability and predictability are priorities. More conservative, extensively tested. |
| Not Supported | Alpine | ~4MB | - | Fast and lightweight. DO NOT USE if DHI components are required. |
Cloud Providers¶
Security Warning: All cloud deployments must follow DHI security policies. Data classification review required before deployment.
| Tier | Provider | When to Use |
|---|---|---|
| Required | Microsoft Azure | Default choice for all new cloud deployments |
| Optional (by exception) | Amazon Web Services | When specific AWS services are required or existing infrastructure exists on AWS. Requires architecture board approval. |
General Purpose Tools¶
Required:
| Software | Use Case | Minimum Version | Security Notes |
|---|---|---|---|
| Microsoft Teams | Real-time communication | Desktop app (latest) | Enable 2FA |
| Maconomy | Timesheet management, budgeting, payroll | Cloud (latest) | SSO required |
| Microsoft Office 365 | General office software | Latest version | Enable auto-updates |
| Azure Storage Explorer | Explore files stored in azure (for projects or otherwise | Latest | Requires access to Azure Portal |
Recommended:
| Software | Use Case | Minimum Version | When to Choose |
|---|---|---|---|
| Azure DevOps | Agile tracking, sprints, backlog, CI/CD, Git | Cloud (latest) | Default for new projects. Use Jira only if project already uses Atlassian stack. |
Optional:
| Software | Use Case | When to Use |
|---|---|---|
| Jira | Agile task tracking, Sprints | When project/team already uses Atlassian ecosystem |
Architecture, Design & Diagramming¶
Guideline: Use Excalidraw for quick sketches and brainstorming. Use Figma for detailed UI/UX design and prototypes.
Recommended:
| Software | Use Case | Minimum Version | When to Choose |
|---|---|---|---|
| Excalidraw | Quick diagrams, sketches, architecture drafts | Web (latest) | Default for fast, collaborative diagramming. Free and no installation needed. |
| Figma | Detailed UI/UX design, prototyping | Desktop (latest) | When creating production UI designs or high-fidelity prototypes |
| Mermaid | Documentation diagrams (text-based) | Latest | When diagrams need to live in Markdown/Confluence with version control |
| Miro | Complex collaborative workshops | Latest | Large team brainstorming sessions with many participants |
Optional:
| Software | Use Case | When to Use |
|---|---|---|
| Balsamiq | Low-fidelity wireframes | When sketchy, hand-drawn style wireframes are preferred |
| Lucidspark | Virtual whiteboarding | Extended ideation sessions requiring extensive collaboration features |
| Canva | Marketing assets, presentations | Quick graphics for non-designers |
| Sparx Enterprise Architect | Comprehensive modelling | Complex enterprise architecture modelling requiring formal standards |
| Microsoft Visio | Technical diagrams | When integration with Microsoft ecosystem is required |
| Terrastruct | System architecture diagrams | Specialized infrastructure visualization needs |
| FigJam | Brainstorming within Figma ecosystem | When team already uses Figma heavily |
Important: GitHub Enterprise is coming soon and will become the default choice once available.
Recommended:
| Software | Use Case | Minimum Version | When to Choose |
|---|---|---|---|
| Azure DevOps (Git) | Source code version control, pull requests, code review, git, build pipelines | Cloud (latest) | Current default for all new projects. Use Git repositories only (not TFVC). |
Not Recommended:
| Software | Use Case | Status |
|---|---|---|
| Seapine Surround | Legacy version control | Not recommended for any new development. Existing legacy projects only. |
Coming Soon:
| Software | Expected Status | Notes |
|---|---|---|
| GitHub Enterprise | Will become the default choice | Once GitHub Enterprise is landed, it will take precedence over Azure DevOps for new projects. Plan accordingly. |
Developer Tools¶
IDEs and Code Editors¶
Recommended Default: Visual Studio Code (VSCode) for most development. Use JetBrains IDEs for specialized language development.
Recommended:
| Software | Primary Use | Minimum Version | When to Choose |
|---|---|---|---|
| VSCode | General purpose development | 1.80+ | Default for most development. Excellent extension ecosystem. |
| Microsoft Visual Studio | Enterprise .NET development | 2022 17.8+ | Use for heavy .NET/C# development |
| PyCharm | Python/Data Science | 2023.2+ | When primarily working with Python |
Optional:
| Software | Use Case | Minimum Version | Notes |
|---|---|---|---|
| Vim/Neovim | Advanced CLI workflows | 9.0+ / 0.9+ | For experienced users preferring terminal-based editing |
| Sublime Text | Lightweight editing | 4.x | When minimal resource usage is critical |
| WebStorm | JavaScript/TypeScript | 2023.2+ | When primarily working with frontend (JS/TS) |
| IntelliJ IDEA | Java/Kotlin development | 2023.2+ | When primarily working with Java/Kotlin |
| Notepad++ | Simple text editing | 8.5+ | For quick edits, not primary development |
| JetBrains ReSharper | Visual Studio extension | 2023.2+ | When using Visual Studio for .NET |
Database Management¶
Recommended:
| Software | Database Type | Minimum Version | When to Use |
|---|---|---|---|
| Azure Data Studio | SQL Server, Azure SQL | 1.45+ | Default for Microsoft SQL databases |
| pgAdmin | PostgreSQL | 4.30+ | Default for PostgreSQL databases |
Optional:
| Software | Database Type | When to Use |
|---|---|---|
| DBeaver | Universal (multiple databases) | When working with multiple database types |
| Redis Insight | Redis | For Redis cache/database management |
API Testing¶
Recommended Default: Postman for comprehensive API testing. Use Hoppscotch for quick, lightweight testing.
Recommended:
| Software | Minimum Version | When to Choose |
|---|---|---|
| Postman | 10.20+ | Default for comprehensive API testing, documentation, and team collaboration |
| Thunder Client | Latest | When you need API testing within VSCode |
| Swagger / OpenAPI | 3.0+ | Required for API documentation and design standards |
Optional:
| Software | When to Use |
|---|---|
| Hoppscotch | When you need a lightweight, browser-based alternative to Postman |
| Insomnia | When working extensively with GraphQL or gRPC |
| Bruno | When you prefer to store your setup locally in Git |
| Posting | When you prefer terminal-based (TUI) API testing |
AI/ML Development Assistance¶
Security Warning: Do not input sensitive company data, proprietary code, or customer information into AI tools without approval. Review outputs for security vulnerabilities.
Recommended:
| Software | Use Case | Minimum Version | When to Use |
|---|---|---|---|
| GitHub Copilot | AI code completion | Latest | Default AI assistant. Integrated with IDE, respects code context. See AI Guidelines for more info |
| Claude Code | AI coding agent | Latest | If have an existing license. Enterprise license may be coming soon. See AI Guidelines for more info |
Utilities & Infrastructure¶
Recommended:
| Software | Use Case | Minimum Version | When to Choose |
|---|---|---|---|
| GitHub Desktop | Git GUI | 3.3+ | Default for visual Git operations. Easiest for beginners. |
| Lens | Kubernetes GUI | 2023.12+ | Default for Kubernetes cluster management with GUI |
| kubectl | Kubernetes CLI | 0.30+ | When you prefer terminal-based Kubernetes management |
| Docker | Containerization | 24.0+ | Required for container development |
| PowerToys | Windows productivity | 0.75+ | Recommended for all Windows users (color picker, window management) |
Optional:
| Software | Use Case | When to Use |
|---|---|---|
| Sourcetree | Git GUI | When you prefer Atlassian's Git client |
| Charles Proxy / Fiddler | HTTP debugging | When debugging network traffic or API issues |
| WinMerge | File comparison | When comparing and merging files |
| ImHex | Hex editor | When inspecting binaries or reverse engineering |
| WSL | Linux on Windows | When you need full Linux development environment |
Version Policy¶
Minimum Versions¶
All minimum versions listed are the lowest supported versions. Using older versions may: - Pose security risks - Lack critical bug fixes - Not be compatible with DHI infrastructure
Update Strategy¶
| Tool Type | Update Policy |
|---|---|
| Security-critical | Update within 30 days of release |
| Cloud/SaaS | Always use latest (auto-update) |
| Desktop IDEs | Update within 90 days of major release |
| CLI tools | Keep reasonably current (within 6 months) |
Security Checklist¶
Before using any tool:
- [ ] Verify tool is from official source
- [ ] Check minimum version requirements
- [ ] Review what data the tool accesses
- [ ] Ensure compliance with DHI data classification policies
- [ ] AI tools - see AI Guidelines
- [ ] For cloud tools: Verify Azure/AWS region compliance
- [ ] Enable 2FA where available
Getting Help¶
- IT Hotline: hotline@dhigroup.com
- ServiceNow: https://dhigroup.service-now.com/
- Questions about this document: Contact the bogd@dhigroup.com or the task Force (KTH, LAC, JEFR)
Last Updated: February 2026