Definition of Done

The inspectIT team has defined on the meeting on  the ideas for the defining when a task is done. This page summarizes the identified ideas.

Continue or Start Right Away

DescriptionAutomated Checks
Develop
Problem/feature/bug has been solved/implemented/fixed.
All methods and classes are checked if they are used (Dead Code).
The code-style matches the standards (link (question)).
Needed migration scripts for the server have been written. (link)
The code can be re-based to the master branch.(tick)
The oomph installer is still working and generates a proper inspectIT work-space setup (link).

When its code can be pushed in all conscience. Everything that needs to be discussed and handled is done.


The commit message has a useful commit message that is in correct format.(question)(tick)
When readme.md is updated (otherwise we never publish new info on the GitHub) (provide more info: when, what, examples).
The non functional requirements (performance, stability,...) were taken into account.
Build
Everything compiles and is executable.(tick) (question)
The changed source code is available in the stable branch (link).(tick)
Q&A
For each public method a JUnit Test exists.
All implemented functionality is tested by unit tests.
All necessary unit / component tests are existing. If tests are missing or the coverage of the class under test is too low,
it has to be discussed between the developer and the integration manager.

All the unit and static code tests are working.(tick)
The whole build (releaseAndAnalyze) executes without any errors and warnings.(tick)
The regression test is executed and a small explorative test has been done (link to GitHub project).
Integration
The integration manager has looked upon the realization (in terms of functionality, architecture, performance, ...) and approved it. 
At least one other person has checked and tested (e.g. integration manager) the code.
Documentation
4-eyes verified the user documentation.
Documentation has been created/updated for the ticket.
Process
The related JIRA tasks have been closed.
Task description is done in detail on JIRA (provide description, images, logs, code parts, etc).
Task related documentation (results, decisions, questions, etc) are provided on JIRA (links, comments).
Other
A blog post has been released (for big and important features).

We want in Future

DescriptionAutomated Checks
Demo application
When (if possible) feature "is presented" on the demo app as well.
The developed feature has been verified on the central AWS instance.
When stuff is deployed on AWS and some kind of automatic test run.(tick)
Performance
When the new feature is tested with JMH.
When at least once a profiler is used to check the new feature.
Have a performance test for some core features. Perform performance regression tests using jenkins plugin.(tick)
Q&A
When we know it runs on different type of JVMs (think providers, versions) and/or application/web servers.(tick)
when some level of code coverage is reached (excluding getters/setters/constructors).(question)
The integration test has been updated (if required for a new feature).