India Graduate Program – Meet the Graduates

ChandanKumar Singha is the second graduate we meet in this series of blog posts from our India-based graduate students. Here he shares his experience of the program.

“Tesco Labs placements is a program where graduates work in teams on assigned mini-projects under the Tesco Labs team.  The purpose of this exercise is to build teams, understand a range of problems and challenges faced by the business, and ideate around them with the aim of developing a prototype solution.

Phase 1: Understanding the Problem 
We were given six problem statements, and spent our first week understanding these problems. Having developed some understanding of the business and existing processes, at the end of the week we were assigned the problem of making recruitment process more efficient.

Phase 2: Ideate, Create an MVP
After delving into the problem statement, our team came up with a few ideas; which ranged from ways to better extract information from resumes, to creating an end-to-end solution for recruiters. We reached the consensus that the purpose of our minimum viable product (MVP) should be the development of a chatbot which would be able to answer retrieval based questions promptly, whilst also profiling and archiving users for future reference. In my experience of applying for roles, I’ve found that waiting for replies from recruiters can become frustrating – our use of chatbots aims to ease that pain and improve the user experience.

After a lot of online research, we came to a conclusion that the chatbot industry is still in its infancy; there is no well established framework, and players are competing against each other. With the current hype around chatbots, the team were hopeful that this would open up a world of possibilities for our work.

Phase 3: Build
Prototyping is a way to test our idea with a small scale implementation. We worked for four weeks to develop the prototype of our chatbot. On a personal level, through our team work I’ve been stretching myself to check on everybody’s progress to see if anybody needs help. I had to think of various events and tasks so that we could divide the work fairly, which is something I have never done before, and at times it was quite difficult to convince fellow team members to do something. I soon realised that anything proposed has to be backed by the proper resources to justify that ask.

On another note, it’s hard to digest the call back concept of Node JS when all you’ve played is with CPP and Java. Node JS was new to my teammates, and a number of times they ended up writing sync functions and returning values which required asynchronous computations. I was happy to take the role of teacher, and help them understand the essence of call backs.

For the bot itself, we used Microsoft’s bot framework. The advantage of using a framework like this is that it comes with a lot of developed, tested, secure and optimised code which speeds up the process of development. Since a framework has a developer community around it, the chances of scaling and finding help are much improved, but my team and I found it difficult to get relevant answers to our questions related to the bot framework. If you look into questions on stackoverflow tagged “botbuilder”, you won’t find more than 100 questions, so we had to ask a few questions on stackoverflow of our own – but I am glad that we could add to it.

Challenges
We did come across a few challenges in the process, which started with the lack of time. I always try to find best possible solution to a problem and write elegant code, but soon realised that in a few cases, it is wise to  compromise. Sometimes it’s about getting things done. Hovering through various blogs on chatbots, I realised how mind maps can be helpful to impart a common understanding to the team, but since we had little time at hand we had to start digging. We couldn’t draw mind maps.

I also realised while writing code/building, how easy it is to forget our goal. Our team found standup meetings important to keep the us on track for the final goal.

We made sure to follow some of the good practices mentioned in the botframework’s documentation. Like narrowing down the user choices to broader questions like “how can I help?”, which gives users a perspective of what the bot can assist them with. Such suggestions help the users make decisions quickly and properly and are therefore regarded as an industry best practice. We also added carousels to enhance the users’ experience.

On a sidenote
During the build phase, we had to nominate people from other teams and acknowledge the help that we get from our peers every week. I was eager to be the resource guy. And on second week people acknowledged that I was of great help. The Bot industry is still in its infancy and there is great potential in it. Working on this was an enriching and motivating experience for me.

What’s Next?
It was fun working on the Labs placement, and I learnt a lot. During the development our team clearly felt there was a need for a more integrated and common platform for communication like Facebook or LinkedIn. If appropriate to the business, we think that this project could be taken forward in the form of a Facebook Chatbot or an independent bot that could be integrated with our company’s official website. Thanks to the Labs team for giving us the opportunity to work in this way and explore these options!”

 

India Graduate Program – Meet the Graduates

Saransh Mehta took part in the 2017 Labs Graduate Placement. He is an aspiring Product Manager, with a background in both engineering and science.

“While one would think that developers just need to know the language and the skill to write working code, the Labs placement activity made us think otherwise.

Before we jumped into writing code and building our working prototypes, we were taught about a certain way of thinking. I personally always felt that products should be designed to communicate stories, and the design thinking workshop we experienced carved out a path to understand how to do that.

Meenakshi, one of the product managers at Tesco Labs, had a couple of activities for all of us to dive into. As a mock brainstorming activity, we were asked to design a solution to improve cab journeys to the office for Tesco employees in Bengaluru. By taking a user-centric, solution oriented approach, we were able to come up with a well thought out and an in-consensus interpretation to the problem. Creating something of value being central to our exploration, we realized the importance of independent thinking in groups. It helped us come up with amazing ideas and finally with all the ideas on the table, we were able to narrow down the ones that were the most practical and that we, as a team, believed in.

The next challenge was to apply these learnings in our Labs project, our problem statement being along the lines of re-imagining the recruitment process at Tesco. We started with understanding the company recruitment and interview processes by talking to all the possible stakeholders, be it HR, or people from the interview panel. Once we understood what problems looked like from different perspectives, we started to narrow down, filter and combine the problems into separate categories and sub-categories. With the next step, we diverged, independently thinking of solutions to the problem categories.

Categorizing problems

Ideating. Breakthrough thinking. Breaking down the solution.

We matched customer needs with what is technologically feasible, and a viable business strategy.

Thinking about the future. The Next Big Thing?

Our biggest takeaway from the design thinking workshop was that we needed to pen things down, get things out of our head on to paper and create a distributed system for idea-sharing. Once you bring your thoughts out of your head into the world, you are essentially freeing up processing power. Following this practice, on parameters of need, feasibility and innovation, we could imagine and analyse our proposed solutions.

As an industry standard, agile practitioners use Kanban boards to set the priorities right and expand their memory-horizon. For our project, we used Trello boards to keep matters in check. To assign tasks, to organize our work, to ensure that we didn’t lose out on our ideas, we updated the Trello board daily during our stand-ups, which created a story line for us. With updated boards every morning, all of us knew what we had to do by the end of the day. Apart from task prioritising, we needed a structure as part of the team building process. Within the team, we tried to understand each other’s predispositions to be able to put every person in the right role. This idea revolves around making the best use of your team talents. All of us may have the same job title, yet we’re all very different people with different inclinations. After much deliberation, we decided upon four concrete roles in our team. We had a code reviewer, a researcher (product and feature critic), an integrator (breadth of technological knowledge, can get multiple things to work together) and a planner in our team. By creating well-defined tasks for every person, we were able to build confidence, reduce conflicts and cover all the aspects of product development needed for a successful outcome.”

Saransh Mehta,
Tesco Labs Graduate Programme, 2017