I am currently teaching a course on Domain-driven design at the American University in Bulgaria. As part of the course students had the opportunity to experience first-hand a workshop-based method for deliberate collective learning called Event Storming. Apart from being very effective, it is also a very engaging and fun way of dissecting complex software problems.
At the moment there aren't many ways, if at all, to learn first-hand what Event Storming is in Bulgaria and I was excited about the opportunity to demonstrate this technique to the students.
Event Storming is usually employed as part of Domain-driven design where it is an invaluable tool for business process modelling and requirements gathering. Event Storming allows both business people and software engineers to get together and collaborate on the problems of a specific domain. If you are new to Event storming, Alberto Brandolini's book on the topic is one of the best ways to get started.
At New Venture Software, we employ Domain-driven Design and Event Storming as part of our custom software development services and we also provide mentoring and specialized workshops to anyone interested in those topics.