“By three methods we may learn wisdom:First, by reflection, which is noblest;Second, by imitation, which is easiest; andThird by experience, which is the bitterest.”
|This article is a precious part of the hybris Project Patterns series.|
The Client’s business domain is complex and specific – characterised by the culture of the company and the nature of their business model.
It is known – a software project requires certain expertise regarding the business domain it affects. Subject Matter Experts are always welcomed when it comes to strategic consulting, supervision or business modelling.
Executing a project is much easier when it follows a well-defined and proven methodology.
Based on empirical experience, a methodology establishes processes and responsibilities, which can be applied over and over again. Following a methodology would increase effectiveness and would give you sufficient comfort when approaching complex project matters.
Projects commence with insufficient or unstructured knowledge of the business domain at hand, such as, Master Data Management (MDM), Product Information Management (PIM), Retail, Mobile, Telco, e-Commerce, and so on. Leading a project with such an approach naturally outcomes to an obscured Requirements process and incomplete solutions.
Distill MDM / e-Commerce best practices within your company or borrow existing ones. Use this methodology as a redline during the whole project in order to leverage your strategy, planning and prioritisation.
Understand the Importance of a Domain Methodology
According to the dictionaries, a methodology is “a system of methods”, regarding rules and practices about how to achieve certain objectives or implement software solutions.
Methodology is needed because people want guidance.
In the early days of the hybris project, when the working habits are not yet settled and the Business Client is looking at you to commence the venture, what stands out is the ability to demonstrate that you can understand their business and know how to streamline the work that follows.
Along with the hybris platform knowledge, a project should feature decent domain skillset in order to organize the requirements process and guide the Business team.
Surely, expertise in e-Commerce and PIM proves to be a great advantage towards understanding of the business.
In the context of hybris projects, a domain methodology can embrace several business realms like e-Commerce, Supplier Management, Customer Information, Product and Editorial Content and so on.
Next to their specifics, each domain defines a certain Glossary of terms, which could be used to identify a common vocabulary throughout the project.
Select a Relevant Domain Methodology for Your Projects
At the start of the project select the Domain methodology you want to use. Ensure the Business users and your team are aware of it, because the methodology would define your mutual way of working, Requirements Gathering approach and deliverables.
For example, in the domain of e-Commerce, each User experience can be seen as a pattern of processes and workflows. On one hand, we have the Consumer, who is interested in learning about or buying products. On the other hand is the Merchant – who offers products and services. Both Users follow distinct sequence of processes to achieve their goals.
The Consumers follows the guidelines of the Merchant’s website to Learn, Select, Buy and Evaluate products. Correspondingly, the Merchant User follows certain company workflows to Create, Popularize, Sell, Deliver and Service products.
A worthy e-Commerce methodology should be able to capture all the processes involved in both User experiences – this will give you a key advantage in templating the structure of every e-Commerce project to come.
Such a methodology should feature the following benefits:
- It takes into considerations the User Experiences and depicts a complete set of common processes used in modern e-Commerce implementations.
- It is designed as a Consulting tool – a common structure of activities, to help advising a Business Client or a Prospect in implementing an ample e-Commerce platform.
- It should answer questions like “How complete are our requirements?”, “What is needed?” and “What is the complexity?”
Most notably, a methodology allows you to organize the entire working process.
Have a Global Vision
At first, your Domain Methodology should provide a strategic bird-view over the major processes, involved in the domain. For example, in the e-Commerce domain, both Consumer- and Merchant user experiences can be summarized in high-level Functional Domains, similar to the ones below:
The Consumer journey represents the processes that Consumers follow when they visit the commercial shop of the Merchant. Three functional domains summarize the three main phases of the Consumer journey, namely the pre-sales, sales and post-sales.
Likewise, the Enterprise Back-Office Functionalities, concerning the Merchant Users, can also be represented with a set or functional domains. The Enterprise Functionalities depict routines that are performed by a Company to support the processes of hybrid-channel Consumer experience. Finally, both User experiences and their functional domains can be mapped together, in a time line, as shown below:
Zoom Into the Details
Your domain methodology should further define the details of each functional domain. Breaking down each domain into building Functional Blocks allows you to put the required processes in perspective and zoom into the details of a concrete project.
Here is a possible breakdown of functionalities for one of the e-Commerce Consumer processes – “Get Information & Evaluate”:
You can further elaborate on each of the functional domains that represent your methodology, thus, creating a solid know-how about your competence of the domain.
Once this is shared with the Business Client, it builds a sense of trust and comfort that you know how to realize the solution of their vision.
Besides, such an approach ensures that the information is exhaustive and guarantees certain level of completeness. Consequently, the Client can oversee the whole scope of the solution and buy-in some ideas of areas, which have been forgotten or neglected.
In our hybris projects we often go one step further, by detailing our building blocks into a set of requirements. As expected, this technique bids the advantage of identifying concrete needs, outlining risks and even, estimating the desired features.
Here is an example of one functional block, divided into fine-grained requirements:
Imagine if you are able to define common requirements in such a manner and be able to demonstrate the full extend of your domain knowledge!
This would give you a tremendous head-start when approaching a new project, because it serves as a blueprint for your overall consulting work.
In the context of an average project, for each requirement, you can further make the effort to work on the following aspects:
The result will be yet another pattern approach regarding project scoping.
Apply Your Methodology in Planning and Prioritization
Having an asset like a Domain Methodology is only the beginning. You can employ it further to outline the organization of the Requirements Gathering Workshops.
If we take the suggestive Consumer and Merchant processes, consider the following planning of Workshops with Business users in hybris projects:
Here are few tips about how to apply a Domain methodology in organizing your Workshops:
Iterate and improve the knowledge on requirements by planning more Workshops, until you exhaust the complete scope.
As seen, expertise in the Business domain is a major success factor in sculpting the hybris project. Using a Domain Methodology that matches the Client’s business proves to be a reliable source for inspirations, structure and progress.
Important considerations when selecting a methodology is not only the methodology's features, but also the cost of using it, the types of problems to which it is best suited, its limitations, and the appropriate training available for your teams.
~ Read the full article in the online book "hybris Project Patterns".
|~ Do you share similar experience? Do let us know ...||