You are not logged in.

  • "Schnittlauch" is male
  • "Schnittlauch" started this thread

Posts: 16

Date of registration: Oct 13th 2015

Language Team: German

Focus Group: Translator
Translation Proofreader
LTI Development Group

Thanks: 457 / 7

  • Send private message

1

Friday, October 23rd 2015, 3:38pm

Proposal for Development Organisation

Hello Guys and Girls (Hopefully!),

after looking around here and talking with Ray, I've got some ideas on how we could make our development affords more efficient and organized. It was mentioned, that there is currently no real workflow for our projects. The LTI community is structured in a way, a RBE would look like. So we should definitely keep this for our software projects. Anyone can work on any project he'd like to contribute to.

But, and this is the crux, how could we manage this?
How can we tell people where to start when they arrive?
How could we handle future growth of the team? Or maybe, some day, multiple sub-teams?

Another problem, that is easily forgotten, is: What happens when someone starts working on a project, but doesn't finish? Or maybe even leave the team for whatever reasons?
Is his work lost, or unusable?

Luckily for us, there are already proven solutions for this problems. So I would like to make the following proposals:

Fixed Project Pipeline
  • A need for a new project/feature
  • Collecting ideas
  • Create a complete project description. What should work which way?
  • Discuss possible solutions / Pick needed programming languages or libraries
  • Split into sub-tasks
  • Only now, start implement those tasks
  • Documentation / Manual
  • Testing
  • Release
Strict coding guidelines
  • Peer review every code change
  • Document your code! I cannot stress this enough. And yes I know, documentation sucks :)
  • Don't start developing in a new programming language, just because you're currently in love with it
  • Quality over quantity. Past mistakes catch up with us in the future.
  • Regular commit into your working branch and push to server
  • Stop whenever questions or uncertainties arise. Post a question and don't guess.
  • Any comment or documentation has to be written in English

One, already available, tool for realizing this could be phabricator .

I know this is adding a lot of overhead to the development itself, but, since members are constantly joining and leaving, we have to make sure we are still able to work efficiently.
Also we should not spread across too many different programming languages, cause we should all be able to work on any project.

All work done here should be licensed under CC or GPL so the projects remain free for anyone to use.

If you have any questions or suggestions, please feel free to contribute :)

2 registered users and 29 guests thanked already.

Users who thanked for this post:

oxygenbarker, Ray

  • "Borislav/lizardman" is male

Posts: 568

Date of registration: Jun 3rd 2011

Language Team: Bulgarian

Focus Group: Translation Proofreader
LTI Administration Group

Location: Plovdiv, Bulgaria

Thanks: 20920 / 483

  • Send private message

2

Friday, October 23rd 2015, 4:14pm

Hey,

In my view, you have to set up a workflow that works well and show that it works well by demonstrating a successfully working software project (or initial versions of a project). This way you will show that your proposed workflows and approaches can lead to concrete and beneficial results. I, for one, would be very interested in hearing how someone works if I see that this person has managed to realize some ideas that he/she has.

Another possibility is that you try to realize some ideas for software projects, but unfortunately the progress doesn't seem satisfactory, so you get disappointed and disappear. In my view, this happens often and I would attribute it to the person not being aware that he/she follows very inefficient practices/workflows/approaches.

2 registered users and 29 guests thanked already.

Users who thanked for this post:

Ray, Schnittlauch

  • "Schnittlauch" is male
  • "Schnittlauch" started this thread

Posts: 16

Date of registration: Oct 13th 2015

Language Team: German

Focus Group: Translator
Translation Proofreader
LTI Development Group

Thanks: 457 / 7

  • Send private message

3

Friday, October 23rd 2015, 4:31pm

I'd really like to show you how we use it in the company I work for, but sadly I'm not able to do so :)
Instead I can invite you to visit the phabricator system of the developers themselves link.

The benefit of this platform is, that its IMHO highly social, compared to other systems.

As far as my experience goes, all workflows seem inefficient at first.
But once its established and followed by some people it gains momentum and over time the benefits shine through.
Also the good think is, they aren't fixed, so they can be adjusted to the current needs.

The main focus is on doing as much work as possible, before someone sits down and writes code.
Because if done wrong, there is a huge possibility that hours are wasted.

2 registered users and 34 guests thanked already.

Users who thanked for this post:

oxygenbarker, Ray

Posts: 64

Date of registration: Jul 1st 2014

Language Team: C++

Focus Group: LTI Development Group

Thanks: 1141 / 12

  • Send private message

4

Friday, October 23rd 2015, 5:06pm

Schnittlauch wrote:

"Document your code! I cannot stress this enough. And yes I know, documentation sucks"

"I know this is adding a lot of overhead to the development itself"

"As far as my experience goes, all workflows seem inefficient at first.
But once its established and followed by some people it gains momentum and over time the benefits shine through."

"The main focus is on doing as much work as possible, before someone sits down and writes code. "

Being intimidated by documentation tasks or development overhead is not an option. An organized and systematic approach is key.
In other words, I agree.

2 registered users and 32 guests thanked already.

Users who thanked for this post:

Schnittlauch, Ray

Posts: 64

Date of registration: Jul 1st 2014

Language Team: C++

Focus Group: LTI Development Group

Thanks: 1141 / 12

  • Send private message

5

Friday, October 23rd 2015, 5:38pm

Schnittlauch, I don't care if you can produce any results, nor do I care if every project you were involved in failed, caused utter financial loss, unemployment, homelessness and destruction. I want to hear what you've got to say. I'm not interested in the final results, but rather to be able to analyze thoughts, ideas, processes.

2 registered users and 30 guests thanked already.

Users who thanked for this post:

Ray, Schnittlauch

  • "Schnittlauch" is male
  • "Schnittlauch" started this thread

Posts: 16

Date of registration: Oct 13th 2015

Language Team: German

Focus Group: Translator
Translation Proofreader
LTI Development Group

Thanks: 457 / 7

  • Send private message

6

Friday, October 23rd 2015, 7:19pm

The main goal would be to produce a system that is transparent for anyone who is interested on contributing, or managing.
So outstanding people (Non Developers) can see the project's progress without collecting the information from every involved developer.

Since projects should be split into smaller tasks its easier to form organic teams around projects.
A helpful feature here is, that some tasks can be blocked by another task, so its clear which tasks depend on each other.
And even when someone is absent for a while he can catch up the current progress and can work on another open task.

This is also the reason why we should keep the amount of programming languages in use small, so that nobody has to learn 10+ languages.

1 registered user and 31 guests thanked already.

Users who thanked for this post:

Ray

© Linguistic Team International 2018
Context In Motion