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