Skip to content
Valentin Lemière edited this page Oct 1, 2017 · 4 revisions

Haxe Projects

The goal of this document is to outline how a Haxe Project is realized. A Haxe Project is anything that requires discussion, conceptualization, implementation and review. It can be short-term or long-term, depending on its nature.

Examples of possible Haxe Projects:

  • A new Haxe package manager (haxelib replacement)
  • Asynchronous support at language-level
  • Splitting of generated JavaScript output files

We propose the following stages of a Haxe Project:

Stage 1: Idea collection

  • Open an issue: [stage1] Title of the Haxe Project
  • State a time limit for this stage, e.g. 1 week or 2 weeks.
  • Everyone is encouraged to share their ideas and concerns.
  • Comments should be relatively short. For distinct ideas/concerns, make distinct comments.
  • There should not be much discussion. Instead, we encourage participants to react to individual comments with emojis (👍 = agree, 👎 = disagree, 😕 = irrelevant/off-topic).
  • After the time limit expired, the issue is closed and locked.
  • The project lead goes through the comments and creates a summary.

Stage 2: Discussion

  • Open an issue: [stage2] Title of the Haxe Project
  • State a time limit for this stage.
  • The summary of stage 1 is posted and everyone is encouraged to discuss matters further.
  • Discussion should be limited to items in the summary. Any off-topic discussion should be moderated accordingly.
  • After the time limit expired, the issue is closed and locked.
  • The results are again summarized by the project lead.
  • The goal of this stage is to answer "What do we want to do?"

Stage 3: Conceptualization

  • Open an issue: [stage3] Title of the Haxe Project
  • State a time limit for this stage.
  • The summary of stage 2 is posted, but the issue is locked.
  • The project lead picks a team to work on this.
  • The team can use whatever communication channel they prefer. It should, however, not be public in order to avoid distractions.
  • The team works on creating a concept, which might involve design documents and POCs.
  • The goal of this stage is to answer "How do we want to do what we want to do?"

Stage 4: Implementation

  • The title of the issue from the previous state is edited to [stage4].
  • A comment is made stating that implementation has begun, along with a time limit for this stage.
  • The team works on the implementation and eventually completes it. At that point, the issue can be closed as completed.