It is time for testing training and today’s class is on how to get domain knowledge. I’ve been receiving a lot of emails from people, asking about the Importance of Domain Knowledge when they apply for different jobs. Domain knowledge is also known as business knowledge or industry knowledge. And it comes when you have been working in a particular domain or particular industry for a long time and you are very well aware of the different concepts used and the different vocabulary used in that particular industry or that particular domain. So today, we are going to look at the different ways in which you can get the domain knowledge so that you can be productive when you are working for a company, that requires this domain knowledge in order to work for its different jobs. So the first question is what is domain knowledge? Well, domain knowledge as I mentioned before, comes when you work in a particular domain. So let us say, you are a software developer, and you have been working in the financial domain working on different banking applications (developing banking applications) for a long time. So when you work with the business people and you look at the requirements for making those banking applications, you come across different concepts, which are particular to that industry. So you come across different concepts, you come across different vocabulary and you come across the trends in that industry. This is the domain knowledge. It is different from technical knowledge in the sense that it is really related to the business of that particular industry. Likewise, if you are working as a tester and let us say, you are working as a tester and testing applications developed for the healthcare industry. So in that situation also, you will come across different concepts that are used in the healthcare industry. You will come across different terms that are specific to that industry and you will also come to know about the trends (how things are moving), what are the current pain points of the users of systems in the healthcare industry and what is the new trends that are coming up. So all this is domain knowledge. And when you get the domain knowledge, you have an advantage because when you start working on projects, you already have an idea of the overall industry, you have some idea about the users, and their general requirements. And you are able to understand the requirements better and also you can think from the point of view of the users of those particular systems. That is why many job advertisements require domain knowledge in specific industries like financial services or investment banking or insurance or healthcare or education, gaming, automotive etc. So, why do we need domain knowledge? What is the importance of having the domain knowledge? Well in certain situations in the projects, there may be some constraints. For instance, the requirements may not be documented in great detail. So if a person has no idea, has never worked in that particular domain before, then they may be at a disadvantage trying to understand the higher level requirements. So someone needs to explain to them about what are the basic concepts and how to read the requirements in line with the users’ general needs in that particular domain. So this is a constraint that is valid for many different companies. That they simply do not have the resources to make very detailed requirements, so that even a layman (someone who has no knowledge about that particular domain) can understand it. So if you have domain knowledge, then this constraint is okay, you will still be able to understand (make sense of) the requirements because you have worked in that domain and you are familiar with the terms used in the requirements. The second advantage of having the domain knowledge is the productivity factor. If you are working in a team, and the team members have the domain knowledge (they have been working in that particular domain for a long time), then you guys will be speaking a similar language using similar terms, similar words that are not common, that are specific to that industry. So it makes it easier for everyone to understand each other. And they can have very specific discussions about different topics concerned to the systems and finally, the advantage of domain knowledge is that it is given as a prerequisite in certain job descriptions. So if you have the specific domain knowledge of that industry, then that brings you an advantage that you have over other candidates for the same job, who do not have that domain knowledge. So domain knowledge is important in situations, where there are constraints. There are only high-level requirements. There are not sufficient resources or sufficient people to explain things in detail, to explain the concepts and the vocabulary in detail. It is useful for boosting productivity when the rest of the team members have the domain knowledge and sometimes, it is a prerequisite in the development and testing jobs, so this is the importance of domain knowledge and why you should have the domain knowledge if you are going to work as a developer or as a tester. Now the next question is how to get the domain knowledge? So let us say, that you have been working on projects in different industries and you did not have the long time available in order to gather all the knowledge and you want to work in a different domain. So let us say, you’ve been working in the banking or financial services domain and now, you want to switch to the healthcare domain. So how do you build up the required domain knowledge? It is quite simple. Just first of all, get interested in that particular domain. It is going to take some time. Domain knowledge is not something that you can get in a few hours or just overnight. It requires a bit of a time, but there are many resources available on YouTube itself. There are many videos, which explain different industries, different domains. And you can watch those videos and get to know the basic concepts and the basic terms (the basic vocabulary) used in those domains. Additionally, there are many articles that you can find on the web, that explain the basic concepts of different domains. You can read those and also it is a good idea to read the news in that particular domain. You can search for the news on a regular basis and it is also possible to set up an agent that will search the web. In Gmail, for example, you can set up a search agent and that search agent will search the websites for that particular domain and you can get a list of the articles in your email as a daily email or weekly email. And you can go through those articles and make sure that you are on top of the latest news in that particular domain. Many companies present webcasts on a regular basis to explain their domain. And in many of those webcasts, the presenters start with the basic knowledge building, explaining about what is their domain, what are the key challenges in that area, what are the different concepts that are used to solve the problems. And they use different terms. So, using the resources of the videos and YouTube, the different articles on the web, news articles and webcasts, you can start to build up a domain knowledge in the domain in which you are interested. One word of caution over here. Don’t start to get domain knowledge of each and every domain. There are too many domains. There is automotive, healthcare, retail, gaming, utilities, power, shopping, engineering, consultancy. There are too many domains. So if you start getting domain knowledge of each and every domain, it is an impractical option. It would take too long and your knowledge will be very superficial. So just look for the different jobs in which you are interested and come to know about the common domains in which there are jobs. And you can select a couple of domains and build your knowledge in those domains. When you’re starting work on a project, a good place to build the required domain knowledge for working in that project is to look at the project documents. Project documents start with high level documents and also have detailed documents. Some of the high level documents are the project manifest, or there may be high-level business requirements and there may be detailed project documents such as user stories or test cases. So just going through the project documents will have two benefits. First, it will build up your knowledge of that particular project requirements. And also it will build up your domain knowledge as it is used in that particular project. So project documents are also a good resource to build up the domain knowledge that is required for that particular project. If you are already working on the project and as you work, you will come across the different requirements in that project. And once you get clarifications or understanding on those requirements, you will increase your domain knowledge. Sometimes, team members are offered the knowledge transfer. Knowledge transfer is an intensive exercise in which the knowledgeable team members impart the required knowledge to the newer team members or team members that do not have the domain knowledge. So make good use of this knowledge transfer. Ask lots of questions. Get them to clarify a lot of things so that you are on the same page. And you can understand the different concepts and vocabulary used in that particular project. And finally, you can network with the people who are working in that domain. Networking with business people working in that domain. Maybe it is the client or the end users of the product or service. Those people are actually working in the domain on a day-to-day basis throughout the day. So when you talk to those people, you will come across the main concepts again and again. You will start using the same words in your communication. That is another good way of building of the domain knowledge. So let us recap now. Domain knowledge is the knowledge of the concepts, vocabulary and the trends in a particular domain. Domain knowledge is important because many companies have constraints. They do not have sufficient resources to explain each and everything in that domain and in that industry to the new team members. When you have the domain knowledge, your productivity will be higher because you can talk to the more experienced team members in that domain using the same concepts using the same words. Domain knowledge is also important because some of the jobs require domain knowledge in a particular industry. If you don’t have the domain knowledge, well, you need to select the one or two domains in which you want to build up the domain knowledge. How you can get domain knowledge? You can get it get it via videos. You can get it via articles. You can get it via the news items on a daily basis and also, there are webcasts that talk about things in a particular domain. And you can watch those and increase your domain knowledge. When you start working in the project, there are many resources available to you to build up the domain knowledge required to work in that particular project. You can look at the project documents and the while working also, you can get clarifications on the requirements. Try to understand the requirements with depth, not just superficially. Also, make good use of knowledge transfer opportunities, in which you can ask a lot of questions and get clarity on the concepts and start using the same words in your communication. And finally, you can network with people working in the domain (the clients or the end users were working in a domain) and so that you are talking about stuff in that domain and you use the same words in your communication. So domain knowledge is important and once you select a particular domain, by putting in some effort, you can build up the domain knowledge and there are many benefits of getting this domain knowledge. So good luck with building up the domain knowledge in a new domain. Thank you.