On 09/11/2015 01:57 AM, Gabriele Svelto wrote:
> On 11/09/2015 02:45, Dietrich Ayala wrote:
>> I'm asking about ways to accelerate feature development in ways that
>> allow more people to participate and more non-release experimentation to
>> occur in the project... and doing it in a way that minimizes the impact
>> on our product release cycle.
>
> Amen to that. Feature flags need not cover fragile, untested bits of
> code that will eventually rot. If we're landing a feature behind a flag
> we can ask for unit-tests, and even integration-tests to be in place
> from day one so it gets a good measure of protection from changes
> elsewhere in the code.
I don't think that's actually achievable with feature flags. Unless
we're fully-dedicated to removing feature flags as quickly as we can,
we'll end up with a combinatoric explosion in our test matrix. Given the
staffing issues mentioned earlier in this thread, I don't trust our
ability to keep the number of feature flags to a manageable level. We
also don't have the computational resources to test every combination of
feature flags, so we'd be relying on our imperfect understanding of
whether each feature flag is truly independent.
> This would be *great* for contributors; I've seen
> multiple potential contributions being turned down because either we
> couldn't get UX in place or we couldn't get it on the product roadmap.
If we can't get something on the product roadmap, doesn't that mean that
we don't actually want it anytime soon? I don't think we should take
every contribution someone offers us if they don't meet our goals.
To be fair, we really need a better long-term idea of what stuff we want
for each app (not necessarily for the next release). One of my main
goals this month for the Music app is to triage all our bugs so that a
prospective contributor can just look at our bug list to find something
to work on that has a reasonable chance of landing.
> That basically limits contribution to things that are already planned
> for and with UX attached to them. Not an interesting proposition for
> somebody who wants to start contributing because he has a valuable
> feature idea, a specific requirement or just an itch to scratch.
I don't think we can compromise on quality just to get more people to
contribute to the codebase. If patches aren't getting feedback in a
timely manner, the solution isn't to stop asking for feedback.
Volunteers more than anyone else need guidance from dev, UX, *and* QA,
since they're not already immersed in our processes.
Much of this discussion also assumes that the only volunteer
contributors we'll get are developer-types. I don't think that's
necessarily true; I'm sure there are plenty of folks who'd be very
interested in providing UX for new features. However, we'd first need a
list of general features we want in the long-term, and then we'd need
enough full-time UX people that they could afford to spend some time
mentoring new contributors.
- Jim