Developer Experience

Knowledge Base

An open source knowledge base that stores articles related to developer experience.

Motivate Your Team
Lower the Fluctuation
Meet the Deadlines
stages

Development

29 practices
7 problems

After clear boundaries of the project are established and riskiest assumptions are answered in the previous steps, the development phase begins. This phase also includes process definition, architecture design, and proper tools selection. Good practice is to break down the development into smaller functional units and direct involvement of the client. Your client can “keep an eye” on what has been done during development.

practice Practices 29 All Practices


  • A Agile Events
    Agile Events, (formerly Agile Ceremonies), are several types of meetings prescribed within Agile frameworks.
  • Automated Deployment
    Automated Deployment is a practice that allows you to ship code fully or semi-automatically across several stages of the development process - from initial development right through to production.
  • C Code Coverage
    Code Coverage (CC) measures how many, and which specific source code lines are being tested by automated tests (for example, unit or integration test).
  • Code Review
    A Code Review is a software quality assurance practice in which developers check each other’s code, usually before merging the code.
  • Continuous Integration
    Continuous Integration (CI) is a practice of integrating code changes on a daily basis.
  • D Devops
    DevOps is a set of practices that combines the work of two teams: software development (Dev) and information technology operations (Ops).
  • Dockerizing
    Dockerizing is the process of packing, deploying, and running applications using Docker containers.
  • G Git Flow
    Git Flow is one of many styles of Git workflows - a branching model set for Git.
  • Good Developer Experience
    The Developer Experience (DX) describes the experience developers have while using or working on your product.
  • K Kanban
    Kanban is an agile method similar to Scrum but it is less structured (no specific timeframe) and it is based on a list of items to do.
  • L License in Repository
    When you publish your source code repository, make sure to include a license.
  • Linting
    Lint, or a Linter, is a very useful tool for automated analyzing of your source code to look for bugs and stylistic errors.
  • Lock File
    Many people decide to ignore the lock files and they do not commit it to Git.
  • O Operations Logbook
    Operations Logbook allows you to collect, store, and share data in real time and dig your historical data easily.
  • P Package Management
    Package Managers are tools for automating the installation, upgrading, configuring, or removing of programs in a consistent manner.
  • Pair Programming
    Pair programming is a practice of two programmers working together on the same task at a single computer.
  • Proper Bug Reporting
    Bug reports are descriptions of bugs found by testers - they help to understand where the product lacks its functionality or performance.
  • Pull Requests
    A pull request is a practice of getting feedback from other programmers and deciding to "merge" or "do not merge" the code before it is merged into the main codebase.
  • R README
    A README is a text file that introduces a product to a user.
  • Retrospective
    A retrospective is an opportunity for the team to inspect itself and create a plan for improvements to be included in the next Sprint.
  • Runbook
    A Runbook (also referred to as a playbook) is a compilation of procedures and operations that describe how to run a computer system or network.
  • S Scrum
    Scrum is a framework focused on a productive and creative delivery of complex products with an emphasis on the highest possible value.
  • Semantic Versioning
    Semantic Versioning (SemVer) is the most popular system of versioning unique states of the project.
  • Software Documentation
    The software documentation is a written text or an illustration that covers comprehensive information of the product.
  • Staged Rollout
    A Staged Rollout is a method of updating your application, while reaching only a certain percentage of users.
  • U Unit Testing
    Unit testing is a way to test units - the smallest components of your software, the smallest piece of code.
  • Updating the Dependencies
    Updating dependencies should be a regular part of your job.
  • User Stories
    A User Story (US) is the smallest chunk of work in an agile framework.
  • W Waterfall
    The Waterfall methodology is a linear project management approach where customer's requirements are collected at the beginning of the project.

problem Problems 7 All Problems


  • D Demotivated Team
    Demotivated team can be a disaster for the business - the team members produce less and less work.
  • Disconnect Between Business and IT
    Disconnect between business and IT means that the companies do not consider long term IT innovation in their business plans for a fiscal year.
  • L Long Feedback Loops
    Long Feedback Loops mean that the delay between actions and reactions increases and the team becomes frustrated and demotivated.
  • M Meaningless Work
    Meaningless work can be a feeling that the work I am doing has no meaning or it can mean that the product I am working on is not valuable.
  • N Not My Problem Mentality
    One of the very dangerous approaches to a team work is “Not My Problem” mentality and it is an opposite to a healthy team collaboration.
  • P Poor Code Quality
    Poor code quality describes buggy code or code with high coupling and low cohesion that is difficult to maintain.
  • T Toxic Team Culture
    Spreading like a virus, consuming the team spirit - toxic team culture should be dealt with as soon as possible.