CoursFormation
B2C
CoursFormation is an intuitive matchmaking platform for training organisations looking to increase their training sales and learners looking to find the right course for them.
After our first contacts with MonCatalogueFormations customers & leads, we quickly realised that our "Training Organisations" customers had needs that complemented those met by our first product.
The first training organizations we contacted reported not fully understanding the usefulness of XML transfer, especially since the software they already use includes this functionality (our 'differentiated' marketing pitch was not well-polished for these initial contacts). Our solution, MonCatalogueFormations, appeared too 'technical' for the target audience, and the value related to optimizing the catalog on the public platform was not perceived. We also observed that training organizations heavily rely on Marketplace solutions to boost their training sales. Finally, the issue raised by our contacts was the 'low enrollment' in training sessions.
1. Business Context
We started by estimating the 'CoursFormation' project (marketplace) using the Swoft methodology (the Estimation module in Swoft Designer). We used the Business Model Canvas of MonCatalogueFormations
to adapt it to our change of model. We then had to break down the work of both the training organisation and the learners into functional (non-emotional) Jobs to be done. Here is an extract from our JTBD (in french) :
Job Executor | Type of step | Step | Version |
---|---|---|---|
Apprenant | 1. Define | Détermine le thème de formation qu'il recherche | 2.0 |
Apprenant | 2. Locate | Recherche les offres de formation qui correspondent précisément à vos critères. | MVP |
Apprenant | 3. Prepare | Compare les offres sélectionnées en fonction des détails comme les avis, les tarifs, et la durée pour une décision éclairée. | 2.0 |
Apprenant | 4. Confirm | Confirme son intérêt et sa disponibilité pour la formation avec une option de pré-inscription. | 2.0 |
Apprenant | 5. Execute | Complète un formulaire avec ses informations personnelles pour être contacté par l'organisme de formation. | MVP |
Apprenant | 6. Monitor | Vérifie d'autres recommandations basées sur vos choix précédents et évaluez de nouvelles formations. | 2.0 |
Apprenant | 7. Modify | Ajuste sa demande initiale en fonction des nouvelles informations ou changements de préférences. | 2.0 |
Apprenant | 8. Conclude | Reçoit une confirmation claire et instantanée de sa demande avec les prochaines étapes détaillées. | MVP |
An initial versioning of the functional jobs is carried out before the functionalities are versioned.
The Product Owner has mapped the JTBDs onto the major functionalities that have been prioritised. The major features have been broken down into features for complexity estimation: story points or man-days are defined by task and by profile in the context of each feature. Other tasks (and sub-tasks) can also be added and estimated.
Given that we had a history of velocity with Jira, we were able to automatically and accurately estimate the time required to complete the project. The average velocity per profile (thanks to the Jira integration) & the estimation process enabled us to see clearly and make the GO decision for the project. The added value/cost ratio was in CoursFormation's favour.
2. How do you decide on GO?
Once the project had been validated, the PO synchronised the estimates with the project data. He then defined the product concept and compiled the glossary relating to the context of training sales, making extensive use of AI.
Once the business terms had been defined, the Product Owner carried out an initial pass over the sub-domains associated with the new training sales activity. Some of the business terms were associated with entities and the entity fields were defined. The business processes were also mapped and integrated into Swoft. Events, policies, business actions and target users were identified (based on Event Storming principles) :
These processes are integrated into Swoft Designer and can be consulted by team members.
The Product Owner subsequently initiated the UX design process: identifying personas and problems to solve, developing user journeys, simulating conversations, and mapping out task flows. Additionally, they created the first low-fidelity wireframes using Balsamiq. The pages were linked to domain objects and customer issues.
Afterward, the team considered the features to implement following the Product Owner's initial proposal. The domain was definitively defined with the help of Domain-Driven Design experts (in our case, the developers), and feedback was provided continuously during the analysis of the business domain (which had been partially pre-digested).
Once the Domain Modeling sessions were completed, the team reviewed the low-fidelity wireframes ("Design review"). Meanwhile, the Design team (the Product Owner, in our case) worked on key High-Fidelity wireframes using Figma to save time, particularly in building the Design System.
Throughout the project, as progress was made, there were fewer surprises, and the team gained velocity. As a result, only a few weeks were needed to implement the new product. AI accelerated the problem definition and specifications, while the Swoft framework and configurator allowed for rapid progress in development.