Skip to content

Latest commit

 

History

History
42 lines (34 loc) · 2.42 KB

DEVELOPMENT.md

File metadata and controls

42 lines (34 loc) · 2.42 KB

Development cycle

To keep up with the fast development of the Cairo language and Starknet network while maintaining a secure and healthy development process, we organize our work in 3-week cycles. These cycles consist of milestones and sprints.

📍 Milestones

A milestone is a set of issues intended to be addressed. We usually aim to have at least 4 milestones planned ahead (~12 weeks of work), enough visibility for users to set realistic expectations on when a feature will be available, and give us space to gauge demand. We can also make better decisions and prioritization when we’re mindful of the bigger picture.

We organize issues in our Github project in the following views:

🏁 Sprints

A sprint is a 3-week period of time in which we intend to complete a milestone. Some milestones might extend or shorten a little bit if issues are finished ahead or after schedule, while the end of a sprint marks the time to release whatever work has been finished to date, i.e. “the release train departs”.

  • We design milestones to take ~25 working days so we can tackle them in a single sprint
    1. 5 working days times 3 weeks/cycle per 3 devs
      • ⇒ 45 workdays/sprint
    2. we estimate we spend roughly ~1/3 of our time doing reviews
      • ⇒ 30 workdays/sprint
    3. we apply a 1/6 reduction to account for vacations, sickness, distractions, support, etc.
      • ⇒ 25 workdays/sprint
  • To do so, we categorize issues by size based on a rough estimate of how many working days we expect it to take
    • 🦔 tiny: ~0.5 days
    • 🐇 small: ~2.5 days
    • 🐂 medium: ~5 days
    • 🦑 large: ~10 days