March 2010 Development Roadmap
The content of this post should be boiled down into an easy to read documentation page, probably at development/roadmap, and it might even do to have a link in the sidebar directly to it. We spent quite a bit of time at the Paris Sprint discussing the various systems we needed to develop in order to start checking out orders. This involved a lot of great discussion about the future of orders, the shopping cart, checkout, and price handling. With a huge assist from David and Bojhan, we boiled all that discussion into a dependency tree for the core Commerce modules and set an aggressive schedule for the next month until we can meet again.
External dependencies: Postal address, Rules / UI, Views
- Commerce Commons
- Address book
- Payment (includes payment method classes) / UI
- Product / UI
- Product reference
- Order (includes line item API) / UI
- Cart / UI
- Checkout / UI
- Product / UI
- Shipping quotes
For more notes breaking down the meta tasks associated with each of these modules leading up to a working checkout, view the Day Three > Project Module Map of the sprint notes doc.
March 2010 Roadmap
So, to get to a working checkout, we don't need address book functionality, actual order editing, or even nice functionality like a shopping cart block. We definitely don't need shipping quotes or taxes, and we're intentionally limiting the functionality of the available Product Reference display formatters. Our plan for module completion is as follows:
Week 1 - March 1 to 5: Price + Product
Week 2 - March 8 to 12: Order
Week 3 - March 15 to 19: Cart / Product Reference
Week 4 - March 22 to 26: Checkout
There are notes toward the end of the sprint doc on estimated completion time for various tasks that show this roadmap should actually be achievable based on time available even from just known contributors. I'll actually be on this full time, but if all goes well, I won't be the only one writing code. That's the last thing I want!
We'll leave the weekend of March 27 / 28 open for last minute development and testing, and we'll review the code on March 29. An IRC meeting at that time would be appropriate, but it would probably be helpful even to have one each Monday of the month just to make sure folks who have committed themselves are all on the same page and the occasional contributors know how to get plugged in. We actually included tasks in our discussion that are "essential" for the 1.0 but not for a working checkout. These are not time sensitive and so would be great for people who will have just a few hours here and there to contribute.
We also discussed an Eastern U.S. sprint at the end of March to address any outstanding issues from the month, lay plans for April up to DrupalCon San Francisco, and get to coding. Ideally we'll have 2 days of discussion and planning with more coding on-site, but I'm quite happy with the results even of our extended planning in Paris. Your feedback on the plans above and a sprint at the end of March is most appreciated, and please bear with us as we work to get the notes cleaned up for discussion after traveling.