Continuous Software Engineering

Automation Tool

Job complexity

Job log readability

Job duration

Job configuration update frequency

Skipped jobs

Duration between broken and fixed jobs

People

Software Developer

SD Perception

SD Behavior

(In)Experience with Tool

Reported knowledge of automation mechanism(s) and infrastructure configuration

Reported effectiveness of job feedback

Reported job weight in decision making

Intra-task context switching

Developer/Module/Process Interactivity Matrix

Reported job skipping

Reported tendency to delegate to job

Reported description(s) of onboarding process

Product Manager

PM Perception

PM Behavior

Incoming change velocity

Incoming change granularity

Use of feature toggles as throttles

Process

Phases

Design

Development

Testing

Review

Delivery

Deployment

Maintenance

Onboarding

Requirements

Frequency of job configuration issues

Job issue complexity (reported and observed)

Not yet explored

Test execution strategy (parallel/serial/hybrid)

Types of testing conducted (reported and observed)

Test coverage

Test process complexity (external services/APIs/etc.)

Commit frequency

Commit size/complexity

Frequency of broken commits

Pull/Merge request lifetime

Review depth/usefulness

Merging

Merge conflict frequency (reported/observed)

Nature of merge conflicts (reported and observed)

Release frequency

Release batch size

Hotfix release frequency

Reported fixing/hotfix/rollback procedures (includes degree of automation involved)

Deployment frequency

Deployment batch size

Rollback/Fix/Hotfix deployment frequency

Reported developer deployment privileges

Reported role siloing between dev and ops

Reported rollback/fix/hotfix procedures

Automation tool complexity (possible proxy?)

Reported ease of maintenance

Modules most subject to maintenance (reported and observed)

Reported descriptions of onboarding process

Reported use of automation scripts

Job issue granularity (reported and observed)

Properties

Velocity

Issue/Feature time to production

Issue/Feature throughput

Issue/Feature completion time (mediated by task complexity)

Transparency

Traceability

Artifact Documentation (see Documentation)

Artifact Linkage

Issue to pull/merge request

Issue to commit

Pull/Merge request to commit

Commit to job

Reported notification utility

Automated job status notifications

Reported knowledge of development process

Automated deployment status notifications

Scripts as documentation (see documentation)

Issue post-merge idle time

Reported mainline locking procedures

Reviewer/Product manager's issue queue length

External reviewer required to sign-off on changes

Changess merged by developer or different person

Documentation

Process Documentation

Artifact Documentation

Extent to which documentation reflects reality

Amount of documentation related to the deployment processs

Amount of development practices documented

Amount of documentation related to automated processes

Resources used by developers to understand process

Pull/Merge request documentation extent

Job log verbosity

Issue documentation extent

Commit documentation extent

Context

Project needs

Available hardware/infrastructure resources