Last week, in my post titled 'A New Era for the D Community', I announced that Ucora had taken us through IVY, their organizational development program, at no charge. In that thread and elsewhere, the announcement received some positive feedback. I also saw some questions raised and skeptical speculations made. I'll address the two biggest questions here, and then I'll provide a short summary of our first concrete steps toward the new era.
What is IVY?
I said in the post that IVY is "a simple but innovative approach to workflow". Despite its simplicity, not one of us who participated in the program grokked how it could help us in one or two sessions. It took multiple sessions for the light bulbs to go off. It's one of those things that's obvious in hindsight, but might take a bit to get there. Given that, I expect that any attempt I make to describe it in a forum post would not be fruitful.
I can say unequivocally that IVY is not some sort of "consulting propaganda". We went through 15 sessions. Some of us were skeptical in the beginning, but that disappeared as we went along. We didn't spend 20+ hours of our lives mindlessly listening to nonsense. What we have learned is going to help us do things we were clueless about before. From our perspective, having seen the program firsthand, there's no doubt in our minds about that.
As we go along, you'll have more information available from your perspective to make more informed judgments about what it is and how we're applying it. It's not like IVY is Top Secret information. Our guest keynote speaker at DConf '23 is our IVY coach, Saeed Sabeti. His talk is going to be about IVY in the context of the D community. He and I are also discussing an idea to go beyond the talk with a special event at DConf that will bring even more clarity to those who participate.
Sometime soon, I'm going to start reaching out to regular contributors and easing them into the IVY concept. Then I'll reach out to semi-regular contributors and then start looking for new contributors, with a goal of transforming "semi-regular" and "new" to "regular". Non-contributors don't need to know what IVY is, but even so, I'll be happy to help anyone interested to better understand it even if they have no intention of actively contributing to our core projects. You can accept it or reject it, choose to apply it or not. But we expect that those who do accept and apply it will see benefits in their own workflow.
Let's leave it at this definition for now: At its heart, IVY is about communication. It's a means of aligning the goals of organizations and stakeholders by understanding the motivations of each.
What sort of changes are coming?
The short answer: I don't know. That's what we're going to figure out in our new weekly planning sessions.
The longer answer: I have an idea about some of the changes, but when I wrote that post there was nothing concrete. At the end of this post, I can give you something concrete.
So given that, how can I be sure this is a new era for the D community? How can I claim that "this is going to be the most significant change in the D community in the 20 years I've been a part of it"?
Employing IVY is going to completely change the way we operate. That alone is such a huge change that it can't help but have major consequences. It's going to impact the way we make decisions, the way we interact with contributors, the way the community understands what's going on, the way we deal with the ecosystem at large, and impact us in other ways I can't predict.
What we're not going to do is start ordering people around and telling them what to do. This isn't about that kind of management. This is about bringing order to chaos, helping contributors identify potential contributions that best align with their motivations, helping D programmers at large understand where we're going, and generally bring more direction to the D project.
Whether you're a CTO at a company using D or a hobbyist knocking out code in your spare time, you need to have some confidence that the community, the ecosystem, and the language have a future, and especially be able to determine if that future is aligned with your goals. Contributors need to know that their contributions have value, and it helps if they can see beforehand that any potential contributions that align with our interests also align with theirs.
That's the sort of thing that this is all about. We aim to remedy the project management shortcomings we've been suffering from for a few years now. We're confident IVY will help us get there.
The first planning update
And that brings me to the update. We had our first planning meeting at 16:00 UTC on Friday, May 12, 2023. I'm not going to summarize this or any future planning meetings in the same way I summarize the monthlies and the quarterlies. I'm only going to provide updates about what was decided. I also won't be posting updates after every planning meeting, only for those meetings that resulted in something to update (e.g., a decision reached, or a plan of action made).
The following people attended this time:
- Walter Bright
- Martin Kinkelin
- Dennis Korpel
- Átila Neves
- Michael Parker
Ali, Iain, Robert, Razvan, and Mathias were unable to attend, but they're up to speed.
Our goal for this meeting was to establish the first steps we should take under our new workflow. We agreed on the following:
- The vision document we published last year is "on hold". We're going to replace this with something else. I'll have more about that in a future update.
- We need to establish a set of high-level goals and the tasks and subtasks to achieve them. We have a solid set of data to work with thanks to the feedback I received from my Gripes and Wishes campaign. Over the next few days, each of us is going to think about our high-level goals, specific projects or tasks, language features, etc. that we'd like to see. The others will email me their lists and I'll incorporate them into the existing dataset. I'll publish it for all to see on Thursday. On Friday, we'll start the task of sorting through everything, establishing our goals, and prioritizing tasks. I anticipate this will take multiple meetings to achieve.
- We need a place to publish our goals and task lists so that potential contributors can decide how and if they'd like to contribute, and so that interested parties can see our progress. We agreed that our GitHub projects page is the place for it. We all have homework to go through the documentation so we can dive in headfirst when we're ready to get going with it.
- Our future planning meetings will take place on Fridays at 15:00 UTC.
What you can do
Follow my planning updates. Keep an eye on the goals and task lists once they're published. Tell us when you think we're getting it right. Tell us when you think we're getting it wrong. Tell us your ideas. The planning sessions are not a replacement for the monthly and quarterly meetings. If you're using D in production, commercially or free, I'm happy to bring you into the quarterly meetings. And anyone is welcome to join us for one or more monthly meetings to contribute ideas and feedback.
We're serious about this, folks, but we need help to make it happen. If you'd like to pitch in, then just keep an eye out for the right opportunity. Some time, somewhere, a task is bound to pop up that aligns with your goals and motivations. Let me know when you see it.