Skip to content

Software development process

Terms

Application

Performs business logic. It is part of the domain.

Build

Specific version of the application. It is part of the version.

Domain

Encapsulates the domain area of the system. The domain contains set of applications. It is part of the system.

Release

Specific version of the system. The release contains set of builds.

System

Final solution delivered to the client. The system contains set of domains.

Roles

Software Engineer

Implements and deliveres user stories and bug fixes to the client.

Activities

  • Create feature branch for User story.
  • Create bug branch for Bug.
  • Write code and tests.
  • Create pull request for User story.
  • Create pull request for Bug.
  • Review code and tests written by other Software Engineers.
  • Create Release.
  • Deploy Release.

Entities

Sprint

Sprint is fixed-duration timebox during which Team members deliver value to Customer.

Release

Release entity helps monitor current state of value delivery.

Release workflow

stateDiagram-v2
  [*] --> Created
  Created --> Accumulating
  Accumulating --> Accumulated
  Accumulated --> Building
  Building --> ReadyForTesting
  ReadyForTesting --> Testing
  Testing --> ReadyForRelease
  ReadyForRelease --> Release
  Release --> Released
  Release --> Declined
  Released --> [*]
  Declined --> [*]

Epic

Epic is set of User stories and Bugs releated to completed functionality delivered to Customer.

Epic workflow

stateDiagram-v2
  [*] --> Created
  Created --> Groomed
  Groomed --> Planned
  Planned --> InProgress
  InProgress --> Released
  InProgress --> Declined
  Released --> [*]
  Declined --> [*]

User story

User story is unit of value delivered to Customer.

User story workflow

stateDiagram-v2
  [*] --> Created
  Created --> Groomed
  Groomed --> Planned
  Planned --> Coding
  Coding --> CodeReview
  CodeReview --> ReadyForTesting
  ReadyForTesting --> Testing
  Testing --> Release
  Release --> Released
  Release --> Declined
  Released --> [*]
  Declined --> [*]

Bug

Bug contains information about error in functionality and expected behavior after fixing the error.

Bug workflow

stateDiagram-v2
  [*] --> Created
  Created --> Groomed
  Groomed --> Planned
  Planned --> Coding
  Coding --> CodeReview
  CodeReview --> ReadyForTesting
  ReadyForTesting --> Testing
  Testing --> Release
  Release --> Released
  Release --> Declined
  Released --> [*]
  Declined --> [*]