Saturday, August 31, 2019

Free Project Management Professional (PMP) Certification Exam Questions Part 2



This question set is continuation of Free Project Management Professional (PMP) Certification Exam Questions


40. Defining the project and product requirements includes: (select all that apply) 

A. Documenting the requirements
B. Documenting requirement priorities
C. Input from only the most important Stakeholders
D. Only identifying the requirements for the end product/result/service
E. Traceability to the project objectives
F. Traceability to project deliverables

Ans: A, B, E, F

41. Identifying requirements is important because: (select all that apply) 

A. They are the basis from which the work is defined to deliver the project
B. We need to understand the most critical requirements
C. We need to be able to deliver all requirements that the Stakeholders want
D. We need to understand what to put in the Project Charter

Ans: A, B


42. The Project Scope Statement is an important project planning document because the Scope Statement: (select all that apply) 

A. Provides what will be delivered on the project
B. Provides what won't be delivered on the project
C. Provides the details of the financial scope of the project
D. Is more detailed than the Project Charter
E. Is only used by the project manager to understand what has to be delivered
F. Should never be changed once it is written
G. Aids in the control of the project scope during Execution

Ans: A,B,D, G


43. The project deliverables section of the Project Scope Statement includes: (select all that apply)
A. The final deliverables for the project correct
B. The deliverables needed to manage the project correct
C. The deliverables created during project planning correct
D. The deliverables created during project execution correct
E. The deliverables that will not be included in the project
F. The requirements for the project

Ans: A,B,C,D

44. Activity duration estimates are: (select all that apply)

A. Used to determine the project budget
B. Used to determine the project schedule correct
C. Related to the resources available for the project correct
D. The hours required to complete an activity

 Ans: B,C


45. Your team has estimated an activity to take 24 effort hours and 3 days in duration. You have one resource working on the activity. During the planning of the project, your Project Sponsor informs you that the resource you were expecting to use won't be available to you full time on the project. They will only be available for half of their time. 
What should you do with your estimate for the activity this resource is assigned to?
A. You don’t need to do anything because the activity can still be finished in 3 days.
B. You don’t need to do anything because the activity can still be finished in 24 effort hours.
C. You need to adjust the activity effort to 12 hours because the resource is only available for half of their time.
D. You need to adjust the activity duration to 6 days because the resource is only available for half of their time.
Ans: D








For training you can choose:

Wednesday, August 28, 2019

An Introduction to Asynchronous Programming. When and where to use Asynchronous Programming?


What is Asynchronous Programming?

When a computer is running a program, the operating system or the application allocates a group of resources; known as a thread; to run the application code.

In synchronous programming, all the code from on application is running on a single thread. Therefore, code has to execute synchronously which means code is executed in a one action at a time. One operation has to finish before the processor moves on to execute the next operation. That means if one operation is taking a long time, the program will freeze and stop waiting for it to finish before it moves to the next operation.

An asynchronous operation is an operation that runs on a separate thread that gets initiated from another thread. The thread that initiates an asynchronous operation does not need to wait for that operation to complete before it can continue. In that sense, resources can be allocated to other tasks that can be executed in the meantime.

Why use Asynchronous programming?

You might have already deduced this, asynchronous programming makes the best and most efficient utilization of the machine resources when it comes to having long running operations in an application. 

For a UI application, Asynchronous programming makes the application responsive because the UI thread is not blocked by a CPU or I/O heavy operation which makes it more interactive and user friendly. Asynchronous programming also takes advantage of parallel computing which is supported in most of today's machines. This helps programmers write parallel processing applications easily without having to write complicated code that is hard to maintain.

When to use Asynchronous Programming

As we mentioned, Asynchronous code is best used for long running operations. Those operations can be CPU bound or I/O bound operations. Examples of long running operations are:
  • I/O operations that include Network requests for data retrieval.
  • CPU heavy operations like scientific calculations using huge data sets.
  • I/O operations like disk access operations including reading and writing to disks.
If you have any I/O-bound needs (such as requesting data from a network or accessing a database), you'll want to utilize asynchronous programming so that your program UI does not freeze waiting for this operation to finish.

What applications are best candidates for asynchronous programming?

  • Desktop User Interface Applications, a desktop UI application is an application that is expected to be interactive, users should be able to interact and communicate with the various pieces of the application UI mostly at all times. Nothing is worse for an UI application than a frozen control that the user is unable to interact with because of a long running network operation like a web service call. The time spent waiting for information to travel across the network is blocking the UI resources and thus the application appears to be frozen or dead.

    Desktop / UI modern frameworks give special precedence to the thread that uses the UI. Async code is very important for these technologies to build better UI applications. Examples of UI technologies that use asynchronous programming are:
    • Windows Forms (WinForms)
    • Windows Presentation Foundation (WPF)
    • Universal Windows Platform (UWP)

  • Web Server Applications, a web server application does not deal with UI but often times, it needs to run remote database queries or run some calculations on large amounts of data to generate a data analysis report. Using Asynchronous programming for these tasks allows the server code to do the task efficiently specially that web servers are usually handling multiple requests from multiple clients at the same time. Asynchronous programming helps avoid situations where threads are simply waiting to do something while the rest of the application is getting overwhelmed by clients requests resulting in less than ideal performance as well as delayed responsiveness to clients requests.

Asynchronous Programming is not always the solution

There are problems that asynchronous code does not solve. There are also problems that Asynchronous code can cause. For example:
  1. Asynchronous code does not automatically improve performance. If a network task takes a certain amount of time, asynchronous code is not going to change that. In fact, there is some amount of (small) overhead for the framework managing the process. Rather, asynchronous code helps manage resources more efficiently.
  2. Using Asynchronous code imposes an overhead on the system. When threads are used, the system needs a way to manage them like thread saving, scheduling, listening, locking, resuming, ...etc. There are two types of overhead that exist when using threads, memory overhead which every thread reserves from a machine's virtual memory when initiated, and a scheduler overhead which is the way the operating system uses to manage choosing which thread should be executed on which CPU and when. These overheads can slow down the entire system if threads are excessively used.
  3. If you don't have a desktop / UI application, or your code is not network- or I/O-bound, you won't see much benefit.
  4. If your application is CPU-bound (it is slowing down because of heavy compute processes), multi-threading / task-based asynchrony is a better solution.


Tuesday, August 27, 2019

How to get Client IP from ASP.NET Web API HttpRequestMessage


Some times you will want to track the client who is calling your API and from which IP address the client made the call. Following method might help you to get client IP:

using System.Net.Http;
using System.ServiceModel.Channels;
using System.Web;
using System.Web.Http;


        private static string GetClientIp(HttpRequestMessage request)
        {
            if (request.Properties.ContainsKey("MS_HttpContext"))
            {
                return ((HttpContextWrapper)request.Properties["MS_HttpContext"]).Request.UserHostAddress;
            }
            else if (request.Properties.ContainsKey(RemoteEndpointMessageProperty.Name))
            {
                RemoteEndpointMessageProperty prop = (RemoteEndpointMessageProperty)request.Properties[RemoteEndpointMessageProperty.Name];
                return prop.Address;
            }
            else if (HttpContext.Current != null)
            {
                return HttpContext.Current.Request.UserHostAddress;
            }
            else
            {
                return null;
            }
        }

In case of calling from local machine it will return ::1 otherwise the client IP address.

Happy Learning

Monday, August 26, 2019

Create a new text file and write or append text to the file using C#


Each time the C# code block is called it creates a file with file name built from current system date. If it is call multiple times it creates the file at first call and in subsequent calls it appends the texts to the files existing content. When date changes, it creates a new file on first call and then appends text.

            string date = DateTime.Now.ToString("yyyy-MM-dd");
            string filename = date + ".txt";
            string file = HttpContext.Current.Server.MapPath("~/App_Data/" + filename);
            bool exists = File.Exists(file);
            if (!exists)
            {
                FileStream fs = File.Create(file);
                fs.Close();
            }

          using (StreamWriter writer = File.AppendText(file))
            {
                writer.WriteLine("=========Text Block=========");
                writer.WriteLine("Date Time: " + DateTime.Now.ToString());
                writer.WriteLine("This is repeating text for testing");
                writer.Close();
            }



Thursday, August 22, 2019

What is REST? What is RESTful Web API? What are the contraints of REST that makeup RESTful Web API?



What is REST (the Concept of REST)

Nowadays we hear about REST or RESTful everywhere in the Web development world but we rarely think about what REST actually is, and in fact there are a lot of misunderstandings around REST such as:
  • REST is an architectural pattern for web applications like MVC
  • REST is a protocol like SOAP
  • If a web API is built on HTTP then it's a RESTful web API
  • If a web API uses JSON then it's a RESTful web API   etc.
The Definition of REST

REST is the abbreviation of Representational State Transfer. By definition:
  • REST is an architectural style for distributed systems. Here we consider a distributed system to be either a single client/server application, or multiple applications communicating through a network.
  • REST is a set of constraints. Some of them apply to the architecture level design and others to the API level design. If a distributed system applies these constraints, we call it a RESTful distributed system. 

Here are the constraints that make up the REST architectural style: 

1. Client-Server - REST must be applied on a client-server system. If a system is not a client-server architecture, no matter how big/complex it is, it's impossible to apply REST architecture. 

2. Stateless - in REST architecture, the client uses a request to access the target resource on the server and the server uses a response to return the proper result back to client. Each request from any client contains all the information necessary for the server to interpret the request and take the necessary actions. The server won't cache any client or session related data. If needed, the client can cache the data for future requests. Note the following two points:
  • Usually a RESTful system is built on HTTP, and HTTP is stateless, which means HTTP doesn't break the the stateless constraint in REST. But if you are a web developer, you may be aware that we can use the session object to keep some state between the web server and web client.
  • Stateless means there is no session state kept on the server. While the state in Representational State Transfer is not the session state, it's the state of resources that are carried by the representation.
3. Cache - in order to improve network efficiency, the client (or other components) has the ability to cache the responses.

4. Uniform Interface - the emphasis on a uniform interface between components is the central feature that distinguishes the REST architectural style from other network-based styles. Actually, there are a lot of ways to unify the interfaces between web application components, but REST chooses the most natural way - to leverage HTTP methods. To achieve a uniform interface, there are some API level design constraints to follow:
  • Identification of resources
  • Manipulation of resources through representations
  • Self-descriptive messages
  • Hypermedia as the engine of application state (HATEOAS)

5. Layered System - to improve the scalability and reduce the dependency chaos of a large system, the best way is to organize components into different functional layers. Each layer has dedicated tasks, can share a cache, security, and load balancing.

6. Code on demand - REST allows client functionality to be extended by downloading and executing code in the form of applets or scripts. For example, there are some pre-implemented client side code snippets, such as JavaScript code, Flash content or Java Applets, stored on a server. The client can fetch these from the server and execute them to run the pre-defined logic. We consider this is an optional constraint because it's rarely seen in a web service system.

Applying REST Constraints
  • Roughly there are three generations of technology to build web APIs and expose the server side computing powers to clients across the web.
  • The first generation is known as Remote Procedure Call (RPC), such as Common Object Request Broker Architecture (CORBA).
  • The second generation is known as Web Services Description Language (WSDL) and Simple Object Access Protocol (SOAP) based technologies such as Windows Communication Foundation (WCF).
  • The third generation is a RESTful Web Service. Once we apply the constraints of REST architectural style correctly, when designing and implementing a web service, this web service becomes a RESTful Web Service. In daily communication, we still call those non-RESTful web services Web Service, and call RESTful Web Services RESTful Web API or just Web API.
There are a lot of technologies we can use to build RESTful Web APIs, such as ASP.NET Core, ASP.NET MVC, NodeJS, Spring MVC, etc.
When we apply the constraints of the REST architectural style, some of the constraints are necessary and others are optional. Here is a check list:
  1. Client-Server - as a web based system, this is, naturally, a MUST -have
  2. Stateless - MUST have
  3. Cache - nice to have, especially for large systems
  4. Uniform Interface - the central feature MUST-have
    • Identification of resources - MUST-have
    • Manipulation of resources through representations - MUST-have
    • Self-descriptive messages - MUST-have
    • Hypermedia as the engine of application state (HATEOAS) - nice to have
  5. Layered System - nice to have, especially for large systems
  6. Code on demand - optional

☺Happy Learning.


Wednesday, August 21, 2019

PMP Certification Exam questions with Answers & Explanation



Project Management Foundations

1. Your organization runs numerous projects and wants to choose the most appropriate resources for each project team. Which of the following is the best tool for identifying project resources?


A. scheduling software
B. a spreadsheet program
C. enterprise project management software
D. a collaboration tool
Ans: C
Enterprise project management software offers tools to find resources with the right skills and availability.



2. A project that you manage is behind schedule. You have identified an approach that would get the project back on track, but it would require you to break one of your organization's policies. What is the best course of action?

A. Determine if the rule is one that can be broken and come up with a plan of action if your approach doesn't work.
B. Inform the management team that there is no way to shorten the schedule given your constraints.
C. Move forward with your plan because you can ask for forgiveness later.
D. Ask the management team for permission to break the rule.
Ans: A
Some rules can't be broken without severe consequences. If you determine that the rule can be broken, you can deliver earlier with minor consequences. You must have a plan for what you will do if you break the rule and don't deliver earlier.


3. During the ---------- project management process group, you, as project manager, orient your team members to the project and the parts they play in it.

A. monitoring and controlling
B. initiating
C. planning
D. executing

Ans: D
At the beginning of the executing process group, you kick off the project, get resources on board, and explain the rules for the project.


4. Which of the following skills is not crucial for a project manager to possess?

A. accounting
B. business expertise
C. leadership
D. interpersonal skills

Ans: A
Project managers do need to understand aspects of finance, but accounting skills can be provided by others.


5. What are the components that differentiate a project from operational work?

A. a unique goal, temporary endeavor, and a budget
B .a unique goal, temporary endeavor, dedicated resources
C. a unique goal, deadline, specific objectives
D. specific requirements, set start and finish dates, budget
Ans: A
The definition of a project is "a temporary endeavor that has a unique goal and usually a budget."


6. Why is it important to document the project scope?

A. because it's a standard project management deliverable
B. to have a paper trail of the project boundaries
C. to remind stakeholders what they agreed to and to prevent scope creep
D. because it's needed for project contracts

Ans: C
With the project scope in writing, you will be able to identify whether requests are within scope or need to be handled by change management.


7. Why do you identify risks when you initially define a project?
A. so you have an idea of the accuracy with which you can estimate work, cost, and schedule
B. so management can determine the amount of contingency funds to set aside
C. so management can decide whether the risks are serious enough to warrant skipping the project
D. so you can prepare a risk management plan before getting approval to begin planning
Ans: C
If the project has numerous, serious risks, management might decide to choose a different project that offers benefits without so much uncertainty.


8. In a project you manage, it is taking much longer than expected for the customer to approve project deliverables. What is the most likely reason for these delays?

A. The success criteria aren't clear and quantifiable.
B. The deliverables are truly not acceptable.
C. Your testing process is flawed.
D. The customer isn't sure what they want.
Ans: A
Success criteria that are unclear or not quantifiable can make it difficult to determine whether deliverables are acceptable.


9. Project objectives help you flesh out a project by _____ and _____.

A. defining project scope; identifying the best approach to use to achieve the goal and objectives
B. breaking the goal down into its components; identifying the work that needs to be done to deliver those components
C. describing the challenges the organization faces; identifying what must be done to address those challenges
D. defining the project deliverables; identifying the work needed to complete deliverables

Ans: A
Project objectives help identify the items you include in scope. They help identify the approach that best satisfies the objectives.


10. Several stakeholders for a project disagree on the priorities of several project objectives. You ask the _____ to help you resolve this issue.

A. a functional manager
B. project customer
C. the most outspoken stakeholder in the disagreement
D. project sponsor

Ans: D
The project sponsor wants the project to succeed and has enough authority to help you resolve issues, particularly with other stakeholders.


11. Why is it important to define a project?
A. so the project team knows what work to do
B. so the customer can decide which project manager to assign to the project
C. so the customer or sponsor can decide whether to approve the project
D. so the customer can create the project charter

Ans: C
By defining the project, the customer can make an informed decision whether the project makes sense for the organization.


12. Why is a face-to-face meeting the best approach for obtaining approval to proceed?

A. It's easier to get everyone's signature.
B. You can observe people's facial expressions and body language.
C. You can ensure that stakeholders understand the project plan before they formally commit to it.
D. Stakeholders can review the plan before signing.
Ans: C
Obtaining approval is about buy-in. The approval meeting gives you a chance to present the plan, answer stakeholder questions, and resolve any final issues.

13. The IT department says that there are several products on the market that do what the project needs. What is the most important thing you need to ensure that you select the product that best meets the project requirements?

A. descriptions of your procurement processes
B. clear and prioritized requirements
C. a clearly defined make-or-buy decision process
D. information from potential vendors describing their products' capabilities
Ans: B
Clear and prioritized requirements make it easier to choose the product that meets the requirements and doesn't provide more than is needed.

14. The change review board can't get through all the change requests that are submitted. They want to focus on requests with significant impact. What is the easiest way to allow the review board to focus on significant changes?

A. Allow for occasional halts to submitting change requests until the review board has caught up.
B. Allow for emergency meetings of the change review board when change requests are outstanding.
C. Ask the change review board to meet more frequently.
D. Set thresholds so you or team leads can decide what to do with small change requests.
Ans: D
Setting thresholds for time and cost will reduce the number of change requests that the review board has to handle.

15. The development team has a problem with one of the software features and needs to quickly brainstorm a solution with the vendor team, which is not local. What method of communication would you choose for the brainstorming session?

A. face-to-face meeting
B. conference call
C. videoconferencing
D. online chat session
Ans: C
Videoconferencing is the ideal method because people can see and hear other people's reactions and the session can be scheduled quickly.


16. One risk to your schedule is that a hard drive with customized software fails and you lose the work that was done. The development team regularly backs up their work so they can resume work quickly after a hard drive failure. What type of risk management strategy do backups represent?

A. risk acceptance
B. risk transfer
C. risk avoidance
D. risk mitigation
Ans. D
Backups mean that you can restore the files you need, so you lessen the impact of a hard drive failure. Risk mitigation means that you limit the impact or probability of the risk.


17. To get early warning that a risk might occur, what is the key item to document in your risk information forms?

A. data from similar projects about when the risks occurred
B. a forecast of when the risk is most likely to occur
C. the events that might trigger the risk
D. who owns the risk so you know who to email with status requests
Ans: C
If an event might trigger a risk, documenting these events will give you early warning. The event doesn't mean the risk will definitely occur.


18. To create a project schedule, you need to perform several tasks. Which choice is not one of these tasks?

A. Assign resources to activities.
B. Set a deadline for the project.
C. Estimate the effort activities will take.
D. Put activities into sequence.
Ans: B
Management might set a deadline for your project, but that isn't needed to build the schedule. You build the schedule first and then adjust it, if necessary, to meet the deadline.

19. Which estimate on a normal distribution provides the best chance for a project being selected and completed successfully?

A. the best-case value
B. the worst-case value
C. the average of the worst-case value and the 50% probability value on the normal distribution
D. the 50% probability value on the normal distribution
Ans: C
This choice is not so high that the project won't get selected, yet it provides an 86% chance of delivering at or below your estimates.

20. When would you create a work package that describes the work to be done in explicit detail?

A. the work is complex
B. several people will perform the work
C. the assigned resource is inexperienced
D. the work is crucial to project success

Ans: C
A detailed work package can provide an inexperienced person with guidance on what needs to be done, how it needs to be done, how to tell that the work is complete and completed correctly.


21. A work breakdown structure diagram shows work broken down into manageable pieces, which provides several benefits for managing projects. Which choice is not a benefit?


A. assigning work to resources
B. identifying deliverables
C. estimating time and cost
D. measuring progress

Ans:B
Deliverables drive the creation of the work breakdown structure, not the other way around.



22. When you start a project plan, what information do you identify first because it drives most of the plan?

A. the resources assigned to the project
B. the work that must be done
C. the budget
D. the processes you'll use to run the project

Ans:B
The work that must be done determines the skills and resources you need, the effort the work will take, the cost, and so on.


23. The project customer and other stakeholders have approved your project plan. After you save the project baseline, those documents will be under the control of the _____.
A. quality management process
B. communication management process
C. change management process
D. scope management process
Ans. C
The baseline documents represent anything that you want to control with change management. Any changes to the baseline are change requests.


24. The critical chain approach can help prevent delays and even deliver a project earlier than with other approaches. Which choice is not part of the critical chain approach?
A. Schedule from the project finish date.
B. Add buffers to task sequences on the critical path.
C. Add buffers to task sequences.
D. Focus on the most limited resources first.
Ans. B
Actually, you add buffers to every task sequence in the schedule as well as at the end of the project, so tasks share buffers.


25. Now that your project is underway, all resource assignments are running late. What is the most likely cause?

A. not taking into account resource productivity when assigning resources
B. poor estimating
C. not taking into account the hours that resources spend on non-project work each day
D. assigning resources to too many simultaneous tasks
Ans. C
Non-project time affects everyone in the organization, which is why this is the most likely cause of every resource being behind schedule.



26. Milestones can be used in many ways. What is not something that milestones do?

A. summarize schedule and cost performance
B. indicate completion
C. reschedule
D. show progress

Ans. A
Milestones don't have duration or assigned resources, so they can't summarize cost. However, looking at only milestones does provide a high-level summary of the schedule.


27. When you assign resources to a task, what do you need to know to determine how long the task might take?

A. how many people are allocated to work on the task
B. days that people are available to work on the task
C. the number of people assigned to the task
D. all of these answers
Ans: D
Duration is determined by how many hours of work can be performed in a day, which depends on the number of people assigned, the percentage of their regular work schedule allocated to the task. Duration is also affected by days that resources are or are not available to work.


28. Which activity is not part of the Adapt stage?

A. Review what was completed to ensure that it does what it is supposed to.
B. Compare what was planned for the iteration to what was completed.
C. Review what has been completed and what is still on the backlog to choose the features for the next iteration.
D. Hold a lessons-learned session.

Ans: C
Although the Adapt stage includes a review of what was completed, you do not choose the features for the next iteration.


29. The customer has identified several new features since the original backlog was built. What do you do to address them?


A. At the beginning of the next iteration, re-estimate, reevaluate, and re-prioritize the backlog features to decide which ones to include in the iteration.
B. Talk to the customer about adding the features to a future project.
C. Estimate and prioritize the features, and start work on high-priority features immediately.
D. Add the features to the end of the backlog.

Ans. A
The customer can add features at any time, at which point you estimate and prioritize them in the backlog. Because things can change, at the beginning of each iteration, you re-estimate, reevaluate and reprioritize backlog features before you decide which ones to add to that iteration.


30. The Agile project management life cycle _____.

A. includes activities similar to a Waterfall approach but performed in a different order and with different emphasis
B. includes the same activities as a Waterfall approach performed in a different order
C. is totally different than a Waterfall approach
D. is shorter than the Waterfall project management life cycle

Ans. A
Agile project management includes activities similar to Waterfall. In Agile, planning, execution, control, and closing are performed in iterations. In addition, Agile project management activities emphasize things differently, such as interacting and documenting when needed.


31. Which choice is not a characteristic of Agile project management?


A. more emphasis on people and interaction
B. no documentation
C. customer is more engaged
D. appropriate when business needs change
Ans: B
Agile projects produce less documentation than a traditional Waterfall approach. They do not totally eliminate documentation.




Email scheduler for gmail



How to use email scheduler for gmail. Gmail schedule email sending options allows you to send email in your preferred time instead of sending instantly.

Please watch till the end of the video, I hope you will enjoy it.

If you have enjoy  the video, please go ahead and like it.

Write us in comment how helpful this video for you. If you think this might be helpful for your friends, Please share the video with your friends.

If you have any question, regarding the video, Please write us through comments.

Please join in our community through subscription of channel and subscription of video notification.

In triksbuddy channel, you will get different interesting tech stuffs that will help you enrich your technology knowledge. Please subscribe our channel to get updates of our videos. Subscription link: https://goo.gl/GE4g8v

Please subscribe in below link and like our video.

Subscription URL: https://goo.gl/GE4g8v
Channel URL: https://goo.gl/VYi58K
Most Recent Videos: https://goo.gl/hXFN4w
Most Popular Video: https://goo.gl/7u7B1x

Social:
Facebook: https://www.facebook.com/triksbuddy/
Linked in: https://www.linkedin.com/company/triksbuddy/
Blog: https://triksbuddy.blogspot.com/
Tumblr: https://imrulquaes89.tumblr.com/
RSS Feed: https://www.youtube.com/feeds/videos.xml?channel_id=UCKFouta2JOolZmAmHeo3ZKw

Referral links that will not charge you but help me earning commissions:
Buy tubebuddy for your channel: https://bit.ly/2HP5lJR

#gmail, #schedule

Wednesday, August 7, 2019

Google Analytics Interview Questions



1. What is Google Analytics?
Ans:
Google Analytics is a freemium web analytics service offered by Google that tracks and reports website traffic, currently as a platform inside the Google Marketing Platform brand. It provides statistics and basic analytical tools for search engine optimization (SEO) and marketing purposes. The service is available to anyone with a Google account.

2. When and How Google started Google Analytics service?
Ans:
Google launched the service in November 2005 after acquiring Urchin. Google Analytics is now the most widely used web analytics service on the Internet.Google continued to sell the standalone, installable Urchin WebAnalytics Software through a network of value-added resellers until discontinuation on March 28, 2012. The Google-branded version was rolled out in November 2005 to anyone who wished to sign up.The newer version of Google Analytics tracking code is known as the asynchronous tracking code, which Google claims is significantly more sensitive and accurate, and is able to track even very short activities on the website.

In March 2016, Google released Google Analytics 360, which is a software suite that provides analytics on return on investment and other marketing indicators.

In October 2017 the newest version of Google Analytics was announced, called Global Site Tag. Its purpose was to unify the tagging system to simplify implementation.

3. What is current state of Google Analytics within Google services?
Ans:
In June 2018, Google introduced Google Marketing Platform, an online advertisement and analytics brand.Google Marketing Platform brings together DoubleClick Digital Marketing and the Google Analytics 360 Suite to help you plan, buy, measure and optimize digital media and customer experiences in one place. Google Marketing Platform helps you deliver more relevant and effective marketing, while ensuring that you respect your customers’ privacy and give them control over their data.

4. What are features of Google Analytics?
Ans:
Google Analytics features include:
• Data visualization tools including a dashboard, scorecards and motion charts, which display changes in data over time.
• Segmentation for analysis of subsets, such as conversions.
• Custom reports.
• Email-based sharing and communication.
• Integration with other Google products, such as AdWords, Public Data Explorer and Website Optimizer.

5. Why Google Analytics is critical for business?
Ans:
Google Analytics is a free web analytics tool offered by Google to help you analyze your website traffic.

Even though “web analytics” sounds like a very small area of your digital presence, the implications of Google Analytics are in fact huge.

This is because for most companies, your website serves as a hub for all of your digital traffic. If you are running any marketing activities such as search ads or social media ads, your users are most likely going to visit your website somewhere along their user journey.

Given that your website is the central hub of your digital presence; your website is the best way to give you a holistic view of the effectiveness of all the campaigns you are running to promote your product/services online. Google Analytics is a free tool that can help you track your digital marketing effectiveness.

That’s why over 50 million websites around the world uses Google Analytics. If you are not using it, you should set it up right now.

6. How Google Analytics works?
Ans:
Simply put, Google Analytics puts several lines of tracking code into the code of your website. The code records various activities of your users when they visit your website, along with the attributes (such as age, gender, interests) of those users. It then sends all that information to the GA (Google Analytics) server once the user exits your website.

Next, Google Analytics aggregates the data collected from your website in multiple ways, primarily by four levels:
  • User level (related to actions by each user)
  • Session level (each individual visit)
  • Pageview level (each individual page visited)
  • Event level (button clicks, video views, etc)


7. What are the differences between Metrics and Dimensions in Google Analytics?
Ans:
The way I think about the differences between metrics and dimensions is that metrics are actual statistics Google collected about user behavior on your website, and dimensions are the various ways you can view those numbers based on the business questions you’re trying to answer.

For example, just knowing the total amount of people visiting your website is not very helpful to your business. Knowing how many people visit your website by age or location, on the other hand, is very helpful to figure out who your core audiences are on the internet. You may learn, for instance, that 80% of your visitors are women between 25–35 in east coast cities (NYC, DC, Boston) — that’s extremely useful and actionable information about who you should be targeting with your digital marketing.

8. What kind of data available on Google Analytics and what you can do with them?
Ans:
There are two types of data that you can collect in Google Analytics:
User Acquisition Data: data about your users before they visit your website
User Behavior Data: data about your users when they visit your website

(1) User Acquisition Data
Before users visit your website: you can access data about your user demographics before they visit your website (e.g. their age, gender, and interests). You can also get data about where they are coming from, whether that’s Facebook, other websites, or Google search. I call these data “user acquisition data” because they can help you figure out which user group and channels to target.

(2) User Behavior Data
The second group of data are “user behavior” data, which are collected during a user’s session on your website. “User behavior” data include:
how long a user stayed on your website
what is their first and last page on your website
the most common “pathway” through which they go through your website

9. How much does it costs to use Google Analytics?
Ans:
Google Analytics standard version is free of charge. The only “cost” is your data shared with Google.
Google Analytics 360 (previously Google Analytics Premium) hasn’t announced pricing for its product yet. It used to be $150k a year for Premium, but now, GA 360 offers the whole stack with Tag Manager, DouleClick and other Google products.

Freemium version will be great if your website doesn’t reach 10k sessions per month. If you hit that limit, you will experience sampling issues which may skew your reports. If your reports are based on 90% of traffic, the problem is not huge and you can still rely on your data. But if they are based on less than 50%, your analytics may be mission the point.

10. What can you track with Google Analytics?
Ans:
Google Analytics tracks all of its data by a unique tracking code that you install on every page of your website. This code is a small snippet of Javascript, or a coding language that runs in viewers’ browser when they visit those pages.

11. What does Bounce Rate means in Google Analytics?
Ans:
Bounce rate is the percentage of single page visits (or web sessions). It is the percentage of visits in which a person leaves your website from the landing page without browsing any further. Google analytics calculates and report the bounce rate of a web page and bounce rate of a website.

12. What is Google Analytics SEO?
Ans:
Optimize Your Website For SEO Using Google Analytics. Search Engine Optimization. For many of us, these three words hang over our heads daily. They are the words that confound and confuse, and for many marketers and business owners, beginning to optimize SEO is one of the last things you decide to take care of.

13. How do you implement Google Analytics? How to use Google Analytics on your website?
Ans:
Create or sign in to your Analytics account:
Go to google.com/analytics
Do one of the following:
To create an account, click Start for free.
·        To sign in to your account, Click Sign in to Analytics.

·        Set up a property in your Analytics account. A property represents your website or app, and is the collection point in Analytics for the data from your site or app.

·        Set up a reporting view in your property. Views let you create filtered perspectives of your data; for example, all data except from your company’s internal IP addresses, or all data associated with a specific sales region.

·        Follow the instructions to add the tracking code to your website or mobile app so you can collect data in your Analytics property.


14. What does a session mean in Google Analytics?
Ans:
A session is defined as a group of interactions one user takes within a given time frame on your website. Google Analytics defaults that time frame to 30 minutes. Meaning whatever a user does on your website (e.g. browses pages, downloads resources, and purchases products) before they leave equals one session.

15. What are limitations of Google Analytics?
Ans:
Google Analytics for Mobile Package allows Google Analytics to be applied to mobile websites.
The Mobile Package contains server-side tracking codes that use PHP, JavaServer Pages, ASP.NET, or Perl for its server-side language.[30] However, many ad filtering programs and extensions (such as Firefox's Adblock, and NoScript) and the mobile phone app Disconnect Mobile can block the Google Analytics Tracking Code. This prevents some traffic and users from being tracked and leads to holes in the collected data. 

Also, privacy networks like Tor will mask the user's actual location and present inaccurate geographical data. Some users do not have JavaScript-enabled/capable browsers or turn this feature off. However, these limitations are considered small—affecting only a small percentage of visits.


Sunday, August 4, 2019

What are Project Management Life Cycle Phases? What are the activities performed in each phases of Project Management?



PROJECT MANAGEMENT PHASES

A standard project typically has the following major phases:
  •     Initiation Phase,
  •     Planning Phase,
  •     Execution Phase (monitoring and control)
  •     Closure Phase.


INITIATION PHASE
  • The project objective or need is identified; this can be a business problem or opportunity that must be solved.
  • The Project Manager is assigned.
  • The project purpose, objectives and high level requirements are identified and captured in a Project Charter.
  • This includes identifying the project Stakeholders and understanding their role in the project.
  • The Project Charter serves as the basis for the approval of the project to move into the Planning Phase.

PLANNING PHASE
  • The project solution is further developed in as much detail as possible and the steps necessary to meet the project's objective are planned.
  • The team identifies all of the work to be done.
  • The project's activities and resource requirements are identified, along with the strategy for producing them. This is also referred to as "scope management.".
  • A Project Plan is created outlining the activities, dependencies, and time frames.
  • The Project Manager coordinates the preparation of a project budget by providing cost estimates for the labor, equipment, and materials costs. The budget is used to monitor and control cost expenditures during Project Execution.
  • Once the project team has identified the work, prepared the schedule, and estimated the costs, the three fundamental components of the planning process are complete.
  • This is an excellent time to identify and try to deal with anything that might pose a threat to the successful completion of the project. This is called risk management.
  • In risk management, "high-threat" potential problems are identified along with the action that is to be taken on each high-threat potential problem, either to reduce the probability that the problem will occur or to reduce the impact on the project if it does occur.
  • This is also the time to document all project Stakeholders and establish a Communication Plan describing the information needed and the delivery method to be used to keep the Stakeholders informed.
  • You will want to document your Resource Plan to identify the materials, supplies, services, and personnel required to ensure a successful project.
  • The Resource Plan includes a Team Plan that documents the availability of the team and how you will create a positive team environment.
  • You will also want to include a Procurement Plan if you plan to procure services or materials.
  • Finally, you will want to document a Quality Plan, providing quality targets, assurance, and control measures, along with an Acceptance Plan, listing the criteria to be met to gain customer acceptance.
  • At this point, the project would have been planned in detail and is ready to be executed.


EXECUTION PHASE (MONITORING AND CONTROL)
  • The project plan is put into motion and the work of the project is performed.
  • It is important to maintain control and communicate as needed during Execution.
  • Progress is continuously monitored and appropriate adjustments are made and recorded as variances from the original plan. In any project, a Project Manager spends most of the time in this phase.
  • During project execution, people are carrying out the activities, and progress information is being reported through regular team meetings.
  • The Project Manager uses this information to maintain control over the direction of the project by comparing the progress reports with the project plan to measure the performance of the project activities and take corrective action as needed.
  • The first course of action should always be to bring the project back on course (i.e., to return it to the original plan). If that cannot happen, the team should record variations from the original plan, and record and publish modifications to the plan.
  • Throughout this step, Project Sponsors and other key Stakeholders should be kept informed of the project's status according to the agreed-on frequency and format of communication.
  • Status reports should always emphasize the anticipated end point in terms of cost, schedule, and quality of deliverables.
  • Each project deliverable produced should be reviewed for quality and measured against the acceptance criteria.
  • Once all of the deliverables have been produced and the customer has accepted the final solution, the project is ready for Closure.

CLOSING PHASE
  • The emphasis is on releasing the final deliverables to the customer, handing over project documentation to the business, terminating supplier contracts, releasing and reassigning project resources to other work or projects, and communicating the closure of the project to all Stakeholders.
  • The last remaining step is to conduct lessons-learned studies in a post project review to examine what went well and what didn't. Through this type of analysis, the wisdom of experience is transferred back to the project organization, which will help future project teams.






Wednesday, July 24, 2019

An introduction to Continuous Integration (CI), its benefits and tools used


What is Continuous Integration?


Continuous Integration is a development practice that requires developers to integrate code into a shared repository several times a day. Each commit is then verified by an automated build, allowing team to detect problems early.



Continuous Integration (CI) is the process of automating the build and testing of code every time a team member commits changes to version control. CI encourages developers to share their code and unit tests by merging their changes into a shared version control repository after every small task completion. Committing code triggers an automated build system to grab the latest code from the shared repository and to build, test, and validate the full master branch (also known as the trunk or main).

CI emerged as a best practice because software developers often work in isolation, and then need to integrate their changes with the rest of the team’s code base. Waiting days or weeks to integrate code creates many merge conflicts, hard-to-fix bugs, diverging code strategies, and duplicated efforts. CI requires the development team’s code to be continuously merged to a shared version control branch to avoid these problems.

CI keeps the master branch clean. Teams can leverage modern version control systems such as Git to create short-lived feature branches to isolate their work. A developer submits a “pull request” when the feature is complete and, on approval of the pull request, the changes get merged into the master branch. Then the developer can delete the previous feature branch. Development teams repeat the process for additional work. The team can establish branch policies to ensure the master branch meets desired quality criteria.

Teams use build definitions to ensure that every commit to the master branch triggers the automated build and testing processes. Implementing CI as described here ensures bugs are caught earlier in the development cycle, which makes them less expensive to fix. Automated tests run for every build to ensure builds maintain a consistent quality.


Benefits of Continuous Integration

Continuous Integration (CI) provides many benefits to the development process, including:
  • Improving code quality based on rapid feedback
  • Triggering for automated testing for every code change
  • Reducing build times for rapid feedback and early detection of problems (risk reduction)
  • Better managing technical debt and conducting code analysis
  • Reducing long, difficult, and bug-inducing merges
  • Increasing confidence in code base health long before production
  • Key Benefit: Rapid Feedback for Code Quality

Possibly the most important benefit of continuous integration is rapid feedback to the developer. If the developer commits something and it breaks the code, he or she will know that almost immediately from the build, unit tests, and through other metrics. If successful integration is happening across the team, the developer is also going to know if her or his code change breaks something that another team member did to a different part of the code base. This process removes very long, difficult, and drawn out bug-inducing merges, which allows organizations to deliver in a very fast cadence.

Continuous integration also enables tracking metrics to assess code quality over time, such as unit test pass rates, code which breaks frequently, code coverage trends, and code analysis. It can be used to provide information on what has been changed between builds for traceability benefits, as well as for introducing anecdotal evidence of what teams do in order to have a global view of build results.


Three Pillars of Continuous Integration


Continuous Integration relies on three foundational elements for successful implementation. For each element, your team needs to select the specific platforms and tools they will use, but you must ensure that you have established each pillar in order to proceed. The Three Pillars of Continuous Integration are:
  • A Version Control System
  • A Continuous Integration System
  • An Automated Build Process

Tools used for Continuous Integration:

SL.Version ControlContinuous IntegrationAutomated Build Process
1GitJenkinsMaven
2T-SVNBambooTeam Build
3PerforceTeamCityApache ANT
4CVSVisual Studio Team ServicesGradle