Do very over the minimum

advertisement
POZNAN SUPERCOMPUTING AND NETWORKING CENTER (PNCS)
ul. Noskowskiego 10
61-704
Contact:
Marcin Wolski <marcin.wolski@man.poznan.pl>,
Maciej Łabędzki <maciej.labedzki@man.poznan.pl>,
Adam Rybicki <adam.rybicki@man.poznan.pl>,
Louis Hancquart <hancquartlouis@gmail.com>,
Marcin Jankowski <marcin.j.jankowski@student.put.poznan.pl>,
Mirosław Ochodek <Miroslaw.Ochodek@cs.put.poznan.pl>,
Software Development Studio <sds@cs.put.poznan.pl>
File:
Business_Case_PCSS_Project.docx
Requirements Tracker
(Business Case)
Authors: Louis Hancquart, Marcin Jankowski
Version: 12.05.2015
1. Problems
a) Outline of the situation
In the Poznan Supercomputing and Networking company (later on called “PCSS” or
“Company”), developers work on big projects. Developing the software is based on
requirements, which are stored and maintained independently from the source code. The
requirements are generally long and can change quickly (every 2 weeks).
There is a lot of code, lot of developers so that the code can evolve quickly as well. Also
developers often change so they have to maintain the code that was written by someone else.
b) Main problems
Running a project, PCSS developers are not sure about which requirements are
implemented, which are not and what changed from the previous release. They also don’t
know who did which requirement and which part of the code is directly connected with a
requirement/is its implementation.
c) Other problems
PCSS also mentions other problems not directly correlated with those described above: low
quality of code and fact that not every team use scrum (teams are spread across Poznan and
Warsaw).
2. Solution outline
Provided solution must read the source code of a project and be able to make an index
referencing which piece of code corresponds to which requirement.
It will be software and later in this document called an “Application”.
3. Options
a) Do nothing

The application is not created

Things are left as they are
b) Do minimum

The application can generate an index (HTML report) of which requirements in
what version are satisfied in the Project

Users can access the part of the code which satisfies the requirement
c) Do over the minimum

The application satisfies “Do minimum” option

The application is able to generate a report of which requirements in what
version are satisfied, which are not, which are in progress

The application recognizes which requirements are satisfied using definition
of done

The application is compatible with Maven and Confluence tools

The application is independent of form of requirements – migration to
different forms of requirements is simple
d) Do very over the minimum

The application satisfies “Do over the minimum” option

The application contains plugin(s) to IDE(s) used by developers
e) Recommendation
SDS Team recommends gathering all data required for and designing “Over the minimum”
version; starting implementation from “minimum” version; extending the application to “over
the minimum” or maybe even “very over the minimum” as it will be noted that scope of the
development work can be widened. Justification: “over the minimum” version covers whole
“minimum” version so it is possible to create it in an iterative way. PCSS likes iterative
processes. Moreover it is the fact that the application will be further developed by PCSS
developers after finishing the SDS project so it will be good to design the application in good
way from the beginning.
4. Results for each option
a) Do nothing

Problems are not solved
b) Do minimum

Developers (and others) can check which requirements are satisfied within
what version

Developers (and others) can check which part of the code implements chosen
requirement
c) Do over the minimum

Facts from the results of “minimum” version are achievable

Developers (and others) can check which requirements are not implemented
and which are in progress

Developers (and others) can check who did which requirement

Developers (and others) can check what has changed from the previous
release

Developers (and others) can check which part of the code is directly connected
within which requirement
d) Do very over the minimum

Developers are able to track requirements directly within their workspace (in
an IDE)
5. Benefits
a) Expected benefits

Mainly benefits will be found during everyday work

Better understanding of the progress in the project

Finding unused code

Discovering potential vulnerabilities

Identifying what have been done so it is not done again
b) Dis-benefits

Developers won’t use the solution if they don’t feel it is helpful or if it is too
complex to use
6. Timescales
a) Earliest starts

Initiating stage: beginning of May 2015

Development work: beginning of October 2015
b) Latest starts

Initiating stage: half of May 2015

Development work: half of October 2015
c) Earliest ends

Initiating stage: end of June 2015

Development work: half of January 2016
d) Latest ends

Initiating stage: end of September 2015, although work and the documents can
be improved during development work

Development work: end/half (depending on bachelors thesis defences
schedule) of February 2016
e) Due date: end of February 2016
f) Increments deliveries: during development work within scrum
approach. The code and unit tests should be submitted to PCSS 1 day
before sprint review
7. Costs
Main cost will be time. For PCSS and PUT employees it is counted in their work time, for SDS
team and developers team (bachelors students) it is counted in their courses time (calculated
within ECTS).
Used rooms, devices and software are available for free either from PUT or PCSS.
As solution will be software it won’t generate costs for materials.
A framework or an existing libraries can be used to speed up the development but they must
be free of costs for PCSS use. Any proposal of leaving this rule must be consulted within PCSS
and they have to agree the license.
For the moment of writing this version of the business case it is not known whether funds for
this project will be found.
8. Investment appraisal
Not applicable for the moment of writing this version of the business case.
9. Major risks
a) Killing project risks

Not enough developers want to work on our project (“middle” probability,
“medium” impact): people from PCSS can help to develop in such case.
Previously it was planned to develop the application by developers from PCSS
and it will be developed by them after ending the project

Provided code quality will be low (“middle” probability, “low” impact): project
will be continued even if this happens. For preventing PCSS proposes
internship for bachelors to learn company standards, code quality,
conventions etc.
b) Positive risks

10.
Framework or library or any other software which solves this project’s
problems will be found
References
Not applicable for the moment of writing this version of the business case.
Download