In: Computer Science
Scenario Please read this scenario and job description carefully. You are involved in the prestigious but often challenging Google recruitment process. As part of this process you are required to respond to several questions and activities. All your answers must address the context of this scenario and the information given in the individual questions
. Job description - Software development professional at Google There's no such thing as “a normal day" at Google. We work to create and maintain the safest operating environment for Google's users and developers. Users come first at Google! As part of your work at Google, on any day you might be exposed to the full suite of Google products. You will be working on some exciting new products at Google, such as Google Digital Garage, our online learning platform. You will also be working across a growing Internet of Things (IoT) portfolio. You will also work as part of our Advertising and Commerce team: we believe that ads and commercial information can be highly useful to our users if that information is relevant to what our users wish to find or do. Advertisers worldwide use Google Ads to promote their products; publishers use AdSense to serve relevant ads on their website; and business around the world use our products (like Google Shopping, and Google Wallet) to support their online businesses and bring users into their offline stores. We are constantly innovating to deliver the most effective advertising and commerce opportunities of tomorrow. This is “hands-on” work with other systems and security engineers, to proactively identify and fix bugs, flaws and vulnerabilities in our software products. You will be placed in a specialist team where you will focus on the creation of software product development plans, software design reviews, and software development testing design across various Google products. In this role, you will often be analysing software designs and implementations from a user experience (UX) perspective and working to cultivate software development best practices across the company. You will develop solutions to help mitigate software vulnerabilities and promote excellent design and usability for users across Google products. You will work closely with other software engineers, programmers, product managers, legal and policy teams to build new features. The team are advocates of Agile software development but are also versatile enough to work with more traditional development approaches across the organisation and with other partners.
question 4
As you know from the job description given at the start of this paper, the Google development team are advocates of Agile software development. A Google dev team is working on a customer relationship management system for one of their new financial technology products that will be deployed to global banking institutions. They will be using the Scrum process management methodology. The CEO wants to see this product rolled out in 12 months. Based on this information, describe and explain possible difficulties or problems that may occur during the development process.
The team is working on a customer relationship system to be employed in financial technology products for global banking institutions. They are using agile software development model and scrum process management.
Difficulties in the project:
· Difficulties because of adopting agile software development model:
1. This is a kind of incremental model, where the project is developed by adding on small increments, that is each part of the software is developed , tested and then added to the previous parts. So there is a difficulty arising, because as this is incremental model, considering large projects , the team may not be able to calculate the total effort needed at the beginning, as this cannot be assessed initially.
2. Also since these project model cannot show the structure of the final output fastly, the customer may not be able to understand anything about the project if he enquires in between during the whole project life cycle.
3. Adding any new feature is difficult as this method completes a part and move on, redesigning may be very much time consuming and can cause many interruptions in between as it may delay the ongoing software part development as the part which needed to be redesigned is also needed to test for the current developing part.
4. This method require great expertise in software development, as any small fault in decision making may harm the whole project as correcting a previously happened mistake is very difficult if the development had passed many number of stages in its whole journey.
5. There is less emphasise on the importance of documentation.
6. There is also difficulty in calculating the resource requirement prior to the development as the requirement for resources may be known only at the time of need during the software part production phase.
· Difficulties because of adopting the scrum process management model:
1. Experience is a matter in scrum process management methodology as, the method involves breaking down big tasks into small crumbs and then prioritizing the parts to be executed first. So experience is a big factor for handling these functions.
2. All the tasks involved should be clearly defined and mentioned, else it can ruin the whole process.
3. Also the team involved should be very committed to the duties assigned and also the tasks to be performed by each team member should be cleared to them, else it will create dilemma in between.
4. The team need daily meetings and frequent reviews are needed which is really time consuming.
5. There is long discussions needed between the client and the scrum process head to study about the time limit and requirement of the project.
· The time limit given 12 months should be re-checked whether it’s optimum time required to complete the product design and also testing and implementation.