the questions: documentation of the development process

Lukas Pirl tahoe-dev at lukas-pirl.de
Tue Aug 18 03:31:16 UTC 2015


Me again: it would be very helpful if you experts in developing OSS
could have a look in the questions I posted (below).

Most of the questions provide *answers already* you probably only have
to nod through.

Bounty: summarizing Wiki page for new contributors.

Best!

Lukas

On 08/08/2015 09:28 PM, Lukas Pirl wrote:
> *Everyone* can agree, disagree or elaborate
> further.
> 
> Although those questions are formulated project-specific, feel free to
> answer in a more general, abstract sense (e.g. for OSS in general).
> 
> 1. What are the software-development *methods and practices* employed
> for the development of TahoeLAFS?
>    (inspiration on Wikipedia "Software development process" [1])
> 
>   Probably no method was ever chosen actively/explicitly.
>   However, a continuous variant of feature-driven development [2]
>   probably fits.
> 
> 2. Sometimes it is hard to find a consensus and someone has to decide.
> What *roles* are present in the development team of TahoeLAFS?
> 
>   I can only guess here. I know a few key people but I hope to
>   hear from you who is an expert in which field or who does what sort
>   of management etc.
> 
> 3. In education, students learn that it is important to treat *testing*
> (regression tests, automated builds, test-first) as important as coding.
> How does TahoeLAFS handle this?
> 
>   From my observations:
>   * It is strongly desired to have core functionality tested.
>   * A high code coverage is desired.
>   * There are no acceptance tests.
>   * Test-first is not a must.
>   * Automated builds happen for whatever environment contributors add.
> 
>   What else?
> 
> 4. As a globally distributed development team, how important is
> *real-time communication*? Are there regular video-chats, chats or even
> face-to-face meetings?
> 
>   * there is the IRC - what are the usual topics/activities there?
>   * the are the twice-weekly meetings on Hangout or IRC
>     * do they still take place? I haven't seen a log for long
>   * on some occasions (?) there is a physical meet-up
>     * hackdays? release breakfast? …?
> 
> 5. How do you *chunk the work*? Are there fixed time slots with clear
> aims in beforehand and a review afterwards (sprints etc.)? Why is(n't)
> that beneficial?
> 
>   * self-assignment of tickets in the tracker
>   * milestones with very soft deadlines
>     * assignment of tickets by core developers
>   * no review of the work during the last milestone
>     (aimed to high/low etc.)
> 
> 6. What do you think are the important *tools* to support the team
> through the development lifecycle (discover requirements, design,
> prototype?, implement, verify/test, maintain)?
> 
>   * Trac
>     * requirements
>       * collect
>       * discuss
>       * prioritize
>       * assign
>       * --> document
>     * design
>       * discuss
>       * --> document
>     * documentation
>       * core architectures/concepts in trunk
>       * information for user and first pointers for devs in Wiki
>   * GitHub to ease collaboration
>     * retrieve patches
>     * review patches
>   * Travis as CI
>   * Buildbot for automatic builds
>   * Twisted unittests
> 
> 7. What do you think the main success factors are, with respect to
> methods and tools, in developing TahoeLAFS?
> 
> 8. In your opinion, what are the main challenges for the development of
> TahoeLAFS related to methods and tools?
> 
> Thanks in advance & best regards,
> 
> Lukas
> 
> [1] https://en.wikipedia.org/wiki/Software_development_process#Approaches
> [2] https://en.wikipedia.org/wiki/Feature-driven_development



More information about the tahoe-dev mailing list