#Virtual #Reality #Basics – 2 – The final part

In this final part of this series, we shall see a couple of very important topics. They are

1. VR Applications
2. VR Development Process
3. VR the future.

1. VR Applications:

By far the most success VR has to see today is in Entertainment sector. Virtual Reality is changing the way we consume entertainment content. Technology growth has made VR deliver value in the business. Graphic Resolutions, Motion Tracking, Refresh Rates, Latency has dramatically improved has allowed VR to grow as what we see today. The cost of equipment required for virtual reality is becoming more affordable, which makes the technology more accessible to everyone.

In this scenario data becomes spatial allowing businesses to more effectively understand information. In business, VR is becoming the technology that provides legitimate value. VR helps businesses in the following ways.

1. Faster prototyping and design
Reduces product design risk

2. Reduce time to market
More efficient, better design

3. Increases business agility and flexibility
Ability to rapidly respond to changing market conditions

4. Testing products in a virtual environment

5. New Business models
Marking tool where customers can test-drive their products

6. Virtual talent development and training
VR as a simulation tool

7. Safety
Real-world aspect of the job may be hazardous, costly, or overly difficult to expose to a new individual

VR plays a major role in Journalism and Filmmaking. Bring real experience added to a virtual experience will provide a new way of consuming content. This is not just projecting content on a flat screen but immersing users to get that experience. The same goes for movies also instead of watching a movie you are immersed into that experience, you surrounded by the story.

VR Development Process:

Let’s see key points in the development process of VR applications that we need to keep in mind.

1. Know the user
What problem is the VR Application going to solve

2. Detailed Project Documentation
A clear and concise documentation should explain what to build to the developers.

3. Development Journey
Clearly mapped out direction of the development process

4. VR Equipment
What VR devices are you developing for

5. Hardware
How many high-end machines required for this project?
What platform is the VR application being built for?

6. Content
What data or content is required for your VR application?
Is it accurate to specifications required by that asset?

7. Development Time
When is the end date to release the VR application?
How much time is required to build?
How many developers are required during this time?

8. Testing
VR provides a natural and intuitive environment for testing products, designs, and application development
You can take advantage of VR to test the application every step of the way.

9. Post-development and maintenance
Care must be given to ensure user satisfaction

10. Content Creation

The key point you need to understand in VR is “what you see is what you get”. Here are few considerations for VR content creation.

1. Real-world scale.
If the scale or proportion is off, it can make the content unreal before users.

2. Lighting
Lighting has the major effect on the comfort level of a user.

3. GPU Performance
Items that are high GPU requirement will affect the user comfort on viewing the content.

following these rules will provide you the user with great content and viewing experience.

VR challenges for business:

1. Financial and Operational
Cost of equipment
Methods to measure impact on business
Cost of maintaining ownership of equipment
Return on investment

2. Technical
Access to knowledge and experience.
Effective and accurate content

3. Lack of standards
Acceptable formats for sharing data
Unified development pipelines
Security and sustainability

4. Hardware variations
Differences between VR devices and functionality
Different operating systems
Different interaction methods

VR the Future:

Virtual Reality and Augmented Reality sales are being predicted to hit 150 billion in the year 2020. VR is a disruptive technology changing positively healthcare and other industries, the way they do business. This apart from industries we saw above. VR is growing fast. VR is changing ways businesses design, develop, market and deliver services to their customers.

VR Standards:

Today the major challenge in VR development is the number of platforms and device available for us to develop content. The major challenges are

1. VR is still in the early stages of development
2. VR applications, games, and engines must all adhere to vendor-specific formats.
3. Each device can only run vendor specific applications

Developing standards that should be adhered by all content creators and write once and run on all hardware should be achieved. For this the first point arriving at a standard is a must.

Khronos a nonprofit organization has started a standardization project for VR and AR application development. You can learn more about this here. https://www.khronos.org/openxr

VR as a technology is still in its early days but growing very fast. In my opinion, this is the right time to get into VR field, if you want to create a career in this field.

Hope this series provided you with fundamental knowledge about Virtual Reality.

Will meet you with another technical series soon.

#Operations #Management Basics – 1

Define operations?

Operations are the management of the systems that produce products and services. In other words, it’s the management of how we get things done. If we look deeply operations boils down to

More things are done at a lesser time, lesser effort with fewer resources and at a high quality. You see the last point high quality, yes, operations will never compromise on quality. We achieve a lot of high-quality stuff and still effort and time left for other priorities. That’s why companies love people who understand operations.

So our life and our organization is all about managing

1. Time
2. People
3. Materials
4. Quality
5. Movement.

Operations help you to understand all the moving parts in your organization.

1. Inventory
2. Manufacturing
3. Waiting for lines

along with you will be able to

1. Execute projects effectively
2. Improve quality
3. Satisfy customers
4. Improve productivity.

Whether you want to make your organization perform better and satisfy its customers, or create a better, productive life for yourself, learning about the fundamentals of operations is the key to your future success.

Providing Value:

Companies always strive to make investors, employees, managers, customers happy. Let’s take customers first. If customers are not happy with our products and services will they buy from us?
No right? so what do customers want?

Great products? even then if you have a product that is too costly will customers buy them? So what do customers want?

They want great products at great price. This is what is called as “Value”.

What value means?

It is the ratio of “what do I get” / “What did it cost me”. So when you say you are adding value to the customer you mean the following.

1. Increase the “What do I get”
Great Products
Make customer purchasing process comfort
Give Warranty
Provide excellent customer service

Another way you can increase value is by reducing “What did it cost me”

1. Decrease “What did it cost me?”

Cut the product price
Provide free delivery
Offer other free services
Reduce waiting for lines by having more cash registers

If you take your favorite company for example, why it’s your favorite you can analyze by what you have learned so far. Then you will realize that they strive hard to provide you their customer great value.

#Process #Improvement – 1 – #Measuring the process

Process improvement denotes continuous improvement, that pushes your organization forward to achieve its goal. You implement a strategy, monitor execution, find areas for improvement, improve and then start again. This is a cyclical process of improvement. There is no specific end when it comes to process improvement. Whatever stage your organization is today, if you know where to look, then you will figure out few areas of improvement.

So let’s learn in this series of posts, about process improvement, what it is? How to do it? and it benefits.

Measuring the process:

Before you can improve a process, you should know whether it needs improving. So how do you come to a conclusion that there needs an improvement? By measuring your process. If you can’t measure it, you can’t manage it. So everything boils down to a number right? Wait a minute. Let’s take a step back and ask ourselves, can everything be measured? Like design, culture etc,

What if we just assume things are ok as it seems on the surface and doesn’t make any efforts to collect meaningful data to analyze to make informed decisions?

This will become really bad right? if this goes wrong? So by measuring, analyzing and making decisions based on this concrete data, won’t that help us to take action even before we fail? Won’t that be the proactive measure?

So to answer the question can we measure certain processes is a big “YES”. We need to identify key areas and measure them. Then we should optimise. Optimization is not maximizing or minimizing but figuring out a place where it will be good for us to be.

How do we go about doing this? Scientific Management is the key.

Scientific Management: The most important question we as in this is “Where do you want to be?” and figure out what to measure, measure it and drive your actions based on decisions made based on these measurements.

Many organizations go on to do re-jig their processes in the name of reorganization, which is costly and time consuming for the organization to recover. Instead of this, why can’t we measure key processes, identify problem areas and act only on those problem areas? Won’t that be highly efficient and proactive for an organization? Once the actions that target to solve the problem areas has started it’s implementation, again, measure this progress and seek an answer whether these actions are actually solving the problem it’s intended to solve.

Measure the right thing:

We need to measure the right areas. We can’t measure everything. If we start measuring everything, then it will my time to consume, costly and we will end up with so many numbers we will not be able to figure out what to focus.

Never measure or interpret just one number without a context. For example, if your turnover has gone up what about profit? Has someone cut prices to sell more? So never measure just one number.

Never judge by measurements. Until you know the complete picture, judging a person or a business based on a single number will give you a wrong picture. So, take measurements as a starting point for asking “WHY?”

The best way to ask Why? is by getting a ratio.

1. Infections per operation
2. Days absent per student
3. Accidents per passenger mile

Then compare this ratio with similar organizations. Comparing ratios is the only way you can interpret statistics like this.

When you get the required numbers you were seeking out, do not accept as it is. Always question data you are getting by asking the following questions.

1. Is the person who gave you the data has any reason to be biased?

2. How reliable is your source?

3. Is the data generated by chance?

4. Is the data collected reflects the whole picture?

5. Are you sure point A caused point B?

Your checklist to verify data should look like this.

1. Is it likely to be biased?

2. Is it a number or ration?

3. Is it significant? Could it have happened by chance?

4. What aren’t they measuring?

5. Can we be sure, that one thing really did cause the other?

Causation is tricky. Numbers might go up or down, and that might be because of a common cause but not any specific reason. If kids do well in education that might be because their family is well educated, but not because of specific cause – reading. Proving A caused B but not C is a very tricky one. You need to conduct controlled experiments to prove beyond doubt this causation.

Ask yourself, the following to ensure you measure the right areas.

1. Are you measuring just one thing, out of context?

2. Are you measuring too many things?

3. Are you measuring ratios rather than straight numbers?

4. Are you comparing them with similar organizations and periods?

5. Are you sure about your causations?

This is the fundamental basis for improving your process. You need to get your initial measurement right.

#Creating your #IT #Strategy – 1

The Role of IT:

In the past companies used IT primarily to automate finance activities, hence CIO’s actually reported to CFO’s. This continued until recent times. But now things have changed, IT has become strategic to the whole organization due to the fact, technology has become more pervasive.

Second key point is business trends are driving innovations. For example, your organization is already leveraging or plans to leverage data analytics, social media, and mobile solutions to name a few.

You and your colleagues should take a cue from these changes to chose a topic and lead the change.

The third point that drives this change is Cyber Security. This is becoming more important day by day.

IT has become the central nerve system for an organization and all your organizations internal and external interaction happens through technology developed in-house or using existing IT approved technology. Hence IT as a support department has vanished and IT has a new vision.

1. Increased Criticality
2. Glue holding the company together
3. Filter through which new insights can be identified
4. The defense against bad actors.

The best way IT can be effective in your organization is for you as an IT leader to think strategically. Think how all your organization’s departments are strategically planning and how your department can breathe life into those strategies to achieve what has been envisioned.

Define your IT strategy to provide clarity to your team, provide clarity on what can be expected from IT to other departments and how IT is going to evolve in the foreseeable future.

Dedicate time to research and development, you need to figure out where technology is going, what new technology trends are emerging, how that is affecting or going to affect your business domain.

IT is Strategic:

Today all companies are technology companies powered by people, failing to understand this and to harness technology will make your organization a follower in an industry not a shaper of it.

IT used tactics in the past to effectively and efficiently complete orders they get from other departments. The major change happened now is IT departments are strategical ones. They drive initiatives that in turn help other departments to achieve goals.

In the tactical days, IT’s metrics were

1. System Uptime
2. On time delivery
3. On-budget projects

But in a strategic perspective, IT is not a support organization. But should move from the side to middle stage, to drive businesses to achieve their goals. So, as an IT leader, you should start with capturing leadership priorities in your organization.

What is the overall strategic goal for your organization?
How are these goals translating into individual goals per department?
So what will be the priorities of these departments?

Many leaders will have these priorities but there might be organizations that are poor in planning. In this case, you as a leader need to engage with other departmental heads to get these priorities from them. You can ask these questions to them to get what you want, their priorities.

1. What opportunities excite you in the next 12 to 24 months?
2. What threats make you lose sleep?
3. What technology do you need?
4. How will success look like from your perspective?

IT should then deliver the HOW to seize opportunities and avoid threats.

Document inputs you get in a standard format. By capturing these points you get an opportunity to have a discussion internally to decide how IT can help push these tactics forward to meet departmental goals. For example creative IT projects. By doing this activity across your organization, you get the big picture of where your organization is planning to, common areas IT can help will benefit the entire organization.

You will be at the forefront to carry your organization’s strategic goals forward.

#Virtual #Reality #Basics – 1

Virtual reality means technically something is not there but it is there. Confusing right? Some of us will have an urge to visit Mars, or perform a daring stunt or visit a fantasy place right? Virtual reality creates a new world through the help of technology so that we can go to mars, perform a stunt, visit a fantasy place without leaving the comfort of our home.

So the virtual reality is creating a reality for us. A world where we can escape from our daily life stress. Virtual reality is the future and already many industries have started using this technology.

How do we define virtual reality then?

By two ways. One, Psychological and two, Technical.

1. Psychological: Virtual reality is an emulation of a situation that we understand, or perceive to be real.

2. Technical: Virtual reality is the term used to describe a digital environment that can be explored and experienced by a person.

For a virtual reality experience to be successful, it should satisfy four parameters

1. Believable – you need to feel like you are there

2. Interactive – the VR world needs to match your movements

3. Explorable – allow you to experience it from any angle

4. Immersive – this is the combination of believable and interactive.

History of Virtual Reality:

Believe me when I say virtual reality has a 100-year history starting from Edison inventing Kinetograph & Kinetoscope from that point various scientists and computer specialists have worked in this area and virtual reality has grown from strength to strength. With Facebook acquiring Oculus Rift during 2014 for 2 billion dollars, VR has come a long way. Now many companies are manufacturing overhead display and delivering VR content to the masses. The future for VR is literally taking off due to the technological development happened in recent years.

How is VR content being created?

There are two ways VR content is being created.

1. Real-world content: content captured via film or 360-degree video and stitched together seamlessly.

2. 3D computer generated content – These are truly virtual content as they are not real but generated by a computer.

Both ways of generating VR content is challenging. The other challenge is to edit those content. Special software is used to edit Real-world content. In case of 3D generated content, this should match the real world.

Irrespective of these challenges, still, mind-blowing VR content is being created.

Different Types of VR experiences:

1. Collaborative – VR content sharing irrespective of whether its a design project, gaming or movies.

2. Non immersive – 3D content that is displayed on a flat surface. Like, a pre-rendered architecture walk-through, first-person storytelling are all examples of immersive experience.

3. Fully Immersive – This provides a full experience to the users. When the user moves, video and audio moves along with the user. A head-mounted display complete with surround sound headphones is required to provide a fully immersive experience.

Virtual Reality Equipment:

 

1. Head Mounted Display – Either fully equipped VR display or a dock where VR enabled phone can be fit into.

2. Stereo Headphones – Audio is incredibly important for a VR experience.

3. Controllers – Handheld controllers allow you to interact in the virtual world. Controllers bring users hands into the experience.

4. Haptic gear – Allows users to get sensory feedback.

5. High-performance GPU – VR needs high-performance GPU based computers to provide a smooth experience.

#Key #skills required to become a #CEO

In my previous post, I explained my life past 6 months and my goal. I also told that in the next post I will list skills that are key to become a CEO.

Without much ado, here you go with the list. This list was not compiled with any order of importance in my mind. I compiled to have a list, that forms the bedrock for anyone who wants to become a CEO.

1. Innovation
Problem Solving

2. Strategy

3. Sales

4. Management
   Risk Management
     Project/Program Management
     Change Management
     People Management
     Leadership

5. Professional Skills
 Positive Thinking
     Decision Making
     Trust
     Emotional Intelligence
     Communication
     Collaboration

5. Technology

6. Operations

7. Finance

8. Process

I am good at few of these and need to develop from basics on the rest. I think you should also be like this. So don’t worry just by looking at the size of this list. We need to look at a T model for our learning.

T model of learning means. One or two areas you should go in depth, the stem of the letter T and the rest you should know just enough to make sure you know what you are talking and doing, that forms the top bar on the T.

So which areas you want to go in-depth and which areas you want to do generalized learning, is for you to decide.

One skill is non-negotiable and out of the T model is “Professional Skills” This everyone should have and be good at it.

If you take me, I am good at Technology, Sales, and Management, this forms my stem in the T model. The rest I need to learn enough to become knowledgeable and execute my thoughts.

As an exercise, you decide which skills will be your core skills and those that will become your secondary skills.

This exercise is very important before you start on this journey.

A #Confession and A #Major #Announcement

I quit my job 6 months ago. I did it because I was not myself. I was not enjoying what I was doing. I was going nowhere in my career on that company.

This created a huge internal conflict within myself, that kept asking me one question. “What is my self-worth?” At the point I was so depressed, I literally put my self-worth at “0”.

I was so low in my confidence and had fear that I might lose my job. I want to conquer both. Improve my confidence and shed that fear of losing one’s job.

That’s when I decided to say goodbye to my job and started a journey to re-discover myself.

It took several months before I came back to normal on the self-worth scale.

Then I decided I need to have a medium to share my knowledge, present, and future.

That’s how my blog “sriramislearning.com” came into existence on December 11th, 2017

In next three days, I am going to complete 1 month on this journey.

I have written around 50+ posts on this blog currently. I initially wanted to use this blog as a tool to get a job. To prove my skill level in areas I am claiming that I have a good experience.

With this 1-month experience writing continuously, made me think to have a goal that is much bigger than I have dreamt so far. Take my learning journey towards that goal, leave a trail along the way for others to follow.

This way, I can showcase this blog during my job hunting (which is happening now) and at the same time, equip myself and help others who are on this journey towards this goal.

Two things I do very well. I quickly and effectively learn anything thrown at me, or I choose, and I write about what I learned effectively.

Why not use these strengths to build a blog that becomes the beacon of light for those who are also treading on the same road?

The goal I set myself today and going to work hard towards achieving is to become CEO of a company.

After I got this clarity on my goal, I took a skill inventory that is required for one to lead a company. My focus, energy will be 100% invested in sharpening skills that I am already good at and developing skills that I need to acquire.

I strongly believe in hard work. Nothing in this world can be achieved without working hard. This journey is going to be hard. So get the mindset ready before you even start following me.

So a confession has been made and an announcement has also been made, let’s start this journey NOW.

In the next post, I will write in detail about the key skills we need to get to lead a company.

#Learn to #Program #R – 1 – Introduction

R language was developed by Ross Ihaka and Robert Gentleman, a statistics professor from University of Auckland, NewZealand. When they publicly announced during 1993 about R language, they were encouraged to make R an open source project. Their main goal is to make R work well with statistics.

With an early Alpha release in 1997, R has grown quickly in the past 20 years to version 3.4.3 now. R has seen a widespread adoption.

Unlike other statistical programs, like SPSS, SAS which is very costly, R is a free and open source. R is a command-line language, but there are shells available for use on top of this. RStudio is one such shell. R is flexible enough to integrate with other packages and languages like Excel, SAS, SPSS etc.,

Much has been said about R language, now let’s install R language on our computer. I am doing in my Windows 10 Laptop, but the steps are the same for Linux or MacOS.

First, we should go to https://www.r-project.org/

 

then click on the “CRAN” link will take to this page

Select the download server you want. In my case, I have chosen the marked one

 

This will take you to the page where you should chose the “base” R download

Select installable and install R

Once installed, you should see the default R Shell as given below.

Eventhough R is coming with it’s own shell, we have a better option called “RStudio”.

Let’s install that now.

Go to RStudio home page to download R Studio.

Once you have successfully installed RStudio and opened it for the first time, RStudio UI should look like this.

We have successfully installed R Language and RStudio. From the next post let’s get started in R.

 

#Agile #Business #Analysis Series – 2 – The 12 #Principles

In this post, let’s see how Agile Principles are mapped to business analysis.

1st Principle:

Our highest priority is to satisfy the customer through the early and continuous delivery of valuable software.

Business Analysts enable continuous delivery by breaking down the requirements into smaller chunks, prioritize them to enable the team to develop those functionalities. Business Analysts are the bridge between the Product Owner and the technical team. Thus playing a vital role in the continuous delivery of valuable software.

2nd Principle:

Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.

External environment and stakeholder thoughts continuously change requirements. Business Analysts play the key role in incorporating these changes into the product requirements and help the team to focus on developing the prioritized chunks of functionality.

3rd Principle:

Deliver working software frequently from a couple of weeks to a couple of months, with preference to the shorter timescale.

Business Analysts are key to make customers and business leaders understand the intended benefits of the product. BA’s slice requirements into smaller chunks, that enables the team to analyze business value, technical dependencies, and technical debt. BA’s make the customers and team see the value of the product they are developing.

4th Principle:

Business people and developers must work together daily throughout the project.

BA’s are engaged and available daily through the project to the team. BA’s communicate and collaborate with the team effectively. When this happens team learns fast. The documentation is kept lightweight, as the focus is on dialog rather than creating extensive documentation.

5th Principle:

Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

BA’s serve the user, customer, and the organization. They help the product owner to prioritize requirements and align with the project vision. BA’s enable deep conversations within the team. BA’s create an environment within the team, that helps to have effective conversations, help product owner to focus more towards the project vision.

6th Principle:

The most efficient and effective method of conveying information to and within a development team is face-to-face conversion.

In an agile project, BA’s don’t hand-off requirements to the team. Requirements are based on conversations. Details typed into a tool are the details of the conversations had, and will also have a placeholder for having future conversations. Agile teams value face to face conversation more than documents and hand-off.

7th Principle:

Working software is the primary measure of progress.

An agile project is measured by demonstrated working software. A BA incorporates feedback got from every demo session so that requirements are up to date as per the direction provided by the stakeholders.

8th Principle:

Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

BA’s work on requirements just in time. They do not do a reactive work, but proactive. BA’s enable product owner to see the big picture view and also detailed view when it comes to the product backlog. BA’s help team to size and estimate requirements. When a backlog is well refined, planning and execution happen at a steady, manageable pace.

9th Principle:

Continuous attention to technical excellence and good design enhances agility.

BA’s work with the team to understand technical risks, architecture, and technical debts. They help the team and product owner to manage these effectively by guiding them towards achieving the project vision.

10th Principle:

Simplicity – the art of maximizing the amount of work not done – is essential.

BA’s work with the product owner to make sure many of the product backlog items are not done. The reason, BA’s drive product owners to focus only on an important and absolutely key requirement.

11th Principle:

The best architectures, requirements, and designs emerge from self-organizing teams.

BA’s play a major role in prioritizing what the team should work on. To do this, BA’s should work on identifying changes and prioritizing them. Requirements, Architectures, and designs will keep changing. The team has to work hard to accommodate these changes and BA’s give them the required direction.

12th Principle:

At regular intervals, the team reflects on how to become effective, then tunes and adjusts it’s behavior accordingly.

BA’s participate in the team’s retrospectives. Retrospectives drive continuous improvements and change the way team works to maximize value to the users and organization. BA’s do a self-introspection to understand what went well, what can be done better and what should be avoided. Few questions they might find answer to are,

1. Did we, as a team, engage in deep dialog and discovery of requirements?

2. Did I do lightweight modeling and did it help the dialog with the team?

3. Was I focused on value to the customer?

We have seen 12 agile principles, that give BA’s guidance on how to demonstrate agile values. Agile is all about these principles. You as a BA can bring more agility to any project you work on by following these principles.

#Learning #OpenCV – 1

As a Python developer, I wanted to learn OpenCV as image processing and gathering intelligence from images is a field which is growing fast. Have you seen the iPhone X advertisement, that displays its face recognition technology? OpenCV is an opensource framework that enables such awesome features. As a developer getting ready to meet the new feature, I am learning OpenCV, which is the future.

The first sample is a very simple one, that opens an image, displays and writes that image into a new file with different extension.

You can try this in your Python console

Before you jump into coding, you should have installed NumPy and OpenCV on your machine. There are lots of tutorials for this so, I am not going to cover this. My environment is Windows 10, python 3.6.3, NumPy 1.13.3 and OpenCV version 3.4.0


# import numpy package
import numpy as np 

# import OpenCV
import cv2 

# Read "opencv-logo.png" image and store it in "img" variable
img = cv2.imread("opencv-logo.png")

# We need a window to display this image. So "namedWindow" method creates this window with the
# title "Image" and window behaviour which is normal
cv2.namedWindow("Image", cv2.WINDOW_NORMAL)

# Let's display the image using "imshow" method. We need to tell
# this method which window to display as the first parameter and image
# source as the second parameter
cv2.imshow("Image", img)

# You don't want the window to close immediately right. You need to see the displayed image
# waitKey method with 0 as parameter will wait for your key input, this can be anykey.
cv2.waitKey(0)

# Write this image into a new file called "output.jpg" using "imwrite" method. 
cv2.imwrite("output.jpg", img)

%d bloggers like this: