Information Technology Reference
In-Depth Information
2.1 Development Artifacts
During a sprint, developers typically use a large variety of tools for their de-
velopment activities, including IDEs, code repositories, bug tracking systems,
etc. This leads to a large number of artifacts that are created besides the actual
implementation when the Sprint team works on their tasks. Some of them follow
some formal representation including a well-defined structure while others are
more ad-hoc and mainly consist of natural language text without an external
structure. The artifacts that we consider in our approach are the following. They
are listed approximately in the following order: from more to less structured in-
formation (e.g. from code comments to instant messages) and according to the
closeness to the source code. Some example artifacts for our running example
are given in Figure 3.
Code comments:
// fancy case method, alternated casing
Unit test methods:
testFancyCaseMethod()
Commit messages:
commit #123: implemented user story 101
...
commit #145: fixed bug in fancycase method
Fig. 3. Example Artifacts for the user story given in Figure 2
Code Comments: In order to obtain code that is easy to debug and to maintain,
code comments should be introduced at the relevant places to document the
functionality of single methods or classes. For instance, using JavaDoc, these
comments are placed within the actual code using special annotations from which
an external documentation can be generated. Also unfinished issues in the code
can be marked with ToDo such that these remaining issues can be tracked by the
IDE. Both code comments and todo entries are natural text which can refer to
tasks or to user stories.
Unit Test Definitions: Along the lines of test-driven development [2], the tests
are written together with the implementation or even before the actual imple-
mentation. The tests refer to methods or classes in the implementation and may
contain comments in natural language as well which state which scenarios from
user stories are tested with the defined test cases. In the Java world, these test
definitions are usually written using JUnit 1 such that they can conveniently be
executed from the IDE.
Commit Messages: When a versioning system, such as Subversion or Git, is used,
each developer adds the code he has implemented to complete a task or a smaller
chunk of work, into a central repository. Each commit is usually accompanied
1 http://junit.sourceforge.net
 
Search WWH ::




Custom Search