Thursday 23 May 2019

M.tech 2 sem MTCS042 Software Project Planning & Management


Software Quality Metrics
Software metrics can be classified into three categories −
·        Product metrics − Describes the characteristics of the product such as size, complexity, design features, performance, and quality level.
·        Process metrics − These characteristics can be used to improve the development and maintenance activities of the software.
·        Project metrics − This metrics describe the project characteristics and execution. Examples include the number of software developers, the staffing pattern over the life cycle of the software, cost, schedule, and productivity.
Some metrics belong to multiple categories. For example, the in-process quality metrics of a project are both process metrics and project metrics.
Software quality metrics are a subset of software metrics that focus on the quality aspects of the product, process, and project. These are more closely associated with process and product metrics than with project metrics.
Software quality metrics can be further divided into three categories −
  • Product quality metrics
  • In-process quality metrics
  • Maintenance quality metrics

Product Quality Metrics

This metrics include the following −
  • Mean Time to Failure
  • Defect Density
  • Customer Problems
  • Customer Satisfaction

Creating Strategic Metrics

The most powerful motive for creating strategic metrics is to improve the focus of your team. Measurement must be continuous, so a well-run organization needs to generate monthly financials and track metrics for SOs on a regular basis. The ongoing measurement and regular reporting serve to reinforce the drive to achieve strategic objectives and track progress toward the company’s goals.
So how do you establish strategic metrics to guide your long-term planning and minimizes entropy? First, consider that metrics are made up of measurements against a target or goal. To create clarity around desired outcomes, apply measurements that make sense toward a target goal. If a strategic objective is to increase sales, then use a simple metric like the increase in sales volume. Also, create benchmarks to make the goal achievable over time, rather than setting an unspecific strategic objective such as “increase sales by 15 percent.” Break the goal into measurable milestones, so your metrics become an increase of 1 percent the first month, 2 percent the second month, 5 percent the third, and so on to achieve the strategic objective. Adjust the targets as needed to achieve and even exceed your strategic goals.
Strategy-Based Performance Metrics
The most critical metrics for a business capability focus on the strategy for the business solution.  (Our deliverable for such strategy is called a Policy Charter.)  These metrics aim toward assessing the success (performance) of the strategy on a continuing basis.  Strategy-based metrics fall into two categories:  goal-based and policy-based.

People and Organizational Issues

POI focuses on interactions between people and technology, including designing, implementing, and deploying safe and usable health information systems and technology. The POIWG addresses issues such as how systems change us and our social and clinical environments, how we should change them, and what we need to do to take the fullest advantage of them to improve individual and population health and health care. As well as, to support healthcare providers, patients, and all other stakeholders, our members strive to understand, evaluate, and improve human-computer and socio-technical interactions.
We bring varied perspectives, methods, and tools from the humanities, social and cognitive sciences, computer science and informatics, and business disciplines to patient safety, workflow, collaborative work and decision-making, human-computer interaction and human factors, project and change management, adoption and diffusion of innovations, usability, unintended consequences, and policy.

12 Common mistakes when using Process Metrics

#1 – Being reactionless

If you collect metrics, you need to use them somehow. Therefore, one of the most common mistakes is doing nothing about the metrics you are seeing. Metrics can give you process improvement insights and, to react, you need to understand how they work and what they mean.
For more information on how to use them, check these blog posts:

#2 – Using metrics with few data

Another mistake is to use metrics without enough data to support them. At the beginning of a project, or when you just started using metrics, we are often anxious to start gathering results from them. However, with a low amount of data, metrics aren’t that trustworthy. A good hint is seeing if they are still changing over time or if they are steadier… When the latter happens, you are probably ready to start analyzing them and act based on results. More on how to act can be found on our metrics blog posts.
Another hint would be to try daily metrics, check our blog post on them: Pros and cons of using daily metrics

#3 – Using metrics without considering their context

This is a very common mistake, not only in software development but with every statistically built conclusion. Numbers alone are used just for algebra or calculus. You need the context in which they are inserted to understand them. With that in mind, to say if your throughput is healthy or not, to understand if your lead time variance is big or not, look. at. the. context.

#4 – Comparing metrics between teams

This problem is related to number 3. It doesn’t make any sense to say something like “team A is doing better than team B because they have a greater throughput”. What if team A has 10 people and team B has 3? What if team A is working in an easy website development while team B is working with complex deep learning stuff? Be careful.

#5 – Having individual metrics

This is a micromanaging problem. People, when trying to improve as much as possible the process, end up measuring individual metrics. This problem is related to #3 and #4. You cannot compare different people. Just don’t. If you do it, you’ll be harming your team’s environment and will even decrease their productivity. Moreover, the process’ metrics should be used to understand the health of the process.

#6 – Simplifying metrics reading too much

Still related to context, but now the numbers context. If you tell other people that a team delivers on average 4 stories a week, you are saying nothing. Maybe its delivery data is {0, 0, 0, 0, 0, 24}, maybe is {4, 4, 4, 4, 4, 4}. So, be sure that you are not simplifying your metrics reading. Make sure the whole toolset builds the image that you are trying to draw.

#7 – Using only the metrics you want

Related to the error before, sometimes we see people having to report their metrics to higher management showing only “good numbers”. So, if your throughput increases, you only show your throughput increase. If your backlog decreases, you just show that. Be transparent. Otherwise, they will be living a lie and, when the truth comes up, you won’t be able to explain yourself.

#8 – Using only the data you want

Another related problem is using metrics with only the data you want. Cropping your data to get only relevant results, like in a 10-month project consider only the last 2 months, may make sense since the context of the project changes with time and you wanna make sure you are getting the right context in your results. However, be very careful when doing that because you may actually hide a lot of useful information from yourself.

#9 – “Cooking” metrics

This is by far the most common thing I see. People are afraid of showing bottlenecks or problems and end up masking their results. People group stories into one to diminish their backlog, break stories into more to increase their throughput or even change story points to keep their velocity. With that, you are only fooling yourself and not improving your process.

#10 – Having metrics-based goals

This is a controversial topic. Metrics weren’t made to be goals. They were created to help the team understand the process and try to improve its flow. Metrics-related goals may put too much pressure on the team and have the opposite effect on them, making one metric reach the desired goal but affecting others. Therefore, before defining a metric-based goal, consider if it needs to be that “low-level” and, if it does, confirm with the team if it is actually possible to reach that goal or if there’s some process inherent impediment to it.

#11 – Trying to decrease lead time at all costs

Lead time (LT) is a metric used to understand how long an item takes to pass through your process. So, there are two different questions you can ask the data:
  • Is the LT too big?
  • Is the LT variance too big?
The second is often much more important to a team than the first. Having an LT distribution of {0, 5, 2, 8} is usually worse than having one like {4, 4, 4, 4}. That because, in the first, your data is not reliable enough to make predictions, while in the second you have a better probability of getting it right. However, don’t forget to look at your context.

#12 – Trying to increase throughput instead of being more efficacious

Being efficacious is doing the right thing. Throughput is not important if you are not doing the right thing. So, focus on your product, on what is best for it, before caring about how fast you will deliver it.
Checklist Structure
Besides providing activities for implementing the quality management system, this tool also contains a functionality to verify correct completion of the activities: checklists. Go to the checklists via the menu bar.

https://extranet.who.int/lqsi/sites/default/files/attachedfiles/image019.jpg

The checklists can be constructed by the user him/herself to get checklists tailor-made to the extent of implementing the quality management system using a matrix.

Clicking on a Phase-button leads you to a checklist for that phase. Clicking on a QSE button leads you to the checklist for that QSE. Clicking on one of the buttons in the columns leads you to a checklist with questions related to activities in a Phase-QSE combination. See the figure below:

https://extranet.who.int/lqsi/sites/default/files/attachedfiles/image021.jpg

Below you see part of the checklist for the QSE Customer Focus in phase 3 (which you get when clicking on the button between the QSE Customer Focus and Phase 3). On the right-hand side links to the activities are given to which these checklist questions are related. If you have to answer a question negatively, you can click on the Activity-link and see what you need to do in order to get a positive answer to that question.

https://extranet.who.int/lqsi/sites/default/files/attachedfiles/image022.jpg
System configuration management
Whenever a software is build, there is always scope for improvement and those improvements brings changes in picture. Changes may be required to modify or update any existing solution or to create a new solution for a problem. Requirements keeps on changing on daily basis and so we need to keep on upgrading our systems based on the current requirements and needs to meet desired outputs. Changes should be analyzed before they are made to the existing system, recorded before they are implemented, reported to have details of before and after, and controlled in a manner that will improve quality and reduce error. This is where the need of System Configuration Management comes.
System Configuration Management (SCM) is an arrangement of exercises which controls change by recognizing the items for change, setting up connections between those things, making/characterizing instruments for overseeing diverse variants, controlling the changes being executed in the current framework, inspecting and revealing/reporting on the changes made. It is essential to control the changes in light of the fact that if the changes are not checked legitimately then they may wind up undermining a well-run programming. In this way, SCM is a fundamental piece of all project management activities.
Processes involved in SCM –
Configuration management provides a disciplined environment for smooth control of work products. It involves the following activities:
1.     Identification and Establishment – Identifying the configuration items from products that compose baselines at given points in time (a baseline is a set of mutually consistent Configuration Items, which has been formally reviewed and agreed upon, and serves as the basis of further development). Establishing relationship among items, creating a mechanism to manage multiple level of control and procedure for change management system.
2.     Version control – Creating versions/specifications of the existing product to build new products from the help of SCM system. A description of version is given below:

Suppose after some changes, the version of configuration object changes from 1.0 to 1.1. Minor corrections and changes result in versions 1.1.1 and 1.1.2, which is followed by a major update that is object 1.2. The development of object 1.0 continues through 1.3 and 1.4, but finally, a noteworthy change to the object results in a new evolutionary path, version 2.0. Both versions are currently supported.



3.     Change control – Controlling changes to Configuration items (CI). The change control process is explained in Figure below:

A change request (CR) is submitted and evaluated to assess technical merit, potential side effects, overall impact on other configuration objects and system functions, and the projected cost of the change. The results of the evaluation are presented as a change report, which is used by a change control board (CCB) —a person or group who makes a final decision on the status and priority of the change. An engineering change Request (ECR) is generated for each approved change.
Also CCB notifies the developer in case the change is rejected with proper reason. The ECR describes the change to be made, the constraints that must be respected, and the criteria for review and audit. The object to be changed is “checked out” of the project database, the change is made, and then the object is tested again. The object is then “checked in” to the database and appropriate version control mechanisms are used to create the next version of the software.
4.     Configuration auditing – A software configuration audit complements the formal technical review of the process and product. It focuses on the technical correctness of the configuration object that has been modified. The audit confirms the completeness, correctness and consistency of items in the SCM system and track action items from the audit to closure.
5.     Reporting – Providing accurate status and current configuration data to developers, tester, end users, customers and stakeholders through admin guides, user guides, FAQs, Release notes, Memos, Installation Guide, Configuration guide etc .
SCM Tools –

Different tools are available in market for SCM like: CFEngine, Bcfg2 server, Vagrant, SmartFrog, CLEAR CASETOOL (CC), SaltStack, CLEAR QUEST TOOL, Puppet, SVN- Subversion, Perforce, TortoiseSVN, IBM Rational team concert, IBM Configuration management version management, Razor, Ansible, etc. There are many more in the list.
It is recommended that before selecting any configuration management tool, have a proper understanding of the features and select the tool which best suits your project needs and be clear with the benefits and drawbacks of each before you choose one to use.

Metrics in software configuration management

Software configuration management (SCM) is a set of processes, policies, and tools that organizes the development process. It simultaneously maintains the current state of the software (called the “baseline”), while enabling developers to work on new versions for features or fixes.

Software Configuration Management Patterns

UNIT-II:

Risk Management

What is Risk Management?

Risk management is the process of identifying, assessing, and prioritizing the risks to minimize, monitor, and control the probability of unfortunate events.

Risk Management Process:

Risk Management process can be easily understood with use of the following workflow:
Risk Management in Test Life Cycle

Risk Management Practices:

·        Software Risk Evaluation (SRE)
·        Continuous Risk Management (CRM)
·        Team Risk Management (TRM)

Project Risk Management

Managers can plan their strategy based on four steps of risk management which prevails in an organization. Following are the steps to manage risks effectively in an organization:
·        Risk Identification
·        Risk Quantification
·        Risk Response
·        Risk Monitoring and Control

What is Risk Management?

Risk management is simply the identification, assessment and prioritization of risks, followed by a coordinated and economical application of resources to minimize or control the probability of occurrence and the impact of negative events, as well as to maximize the realization of opportunities. What is considered a risk? Risks can come from uncertainty in financial markets, project failures, legal actions, regulatory liabilities, accidents, and natural disasters as well as simple human error. 

The definition of risk is generally compartmentalized based upon whether the risk is in the context of business continuity, project management, security, engineering, industrial processes, financial portfolios, actuarial assessments, or public health and safety. The potential list is finite, but is certainly overwhelming. Within the context of Reliability Excellence and effective continuous improvement, risk management can be limited to two major categories: business and asset risk.


Risk Management - Lifecycle

Risk Management - Lifecycle

The following diagram shows the flow of Risk Management life-cycle:

Risk identification
 is the process of determining risks that could potentially prevent the program, enterprise, or investment from achieving its objectives. It includes documenting and communicating the concern.
Risk quantification
 is a process to evaluate identified risks to produce data that can be used in deciding a response to corresponding risks. ... The process of risk quantification is an important step of the risk management process and therefore, important to ensuring the success of a project.

Risk Mitigation Planning, Implementation, and Progress Monitoring

Risk mitigation planning is the process of developing options and actions to enhance opportunities and reduce threats to project objectives [1]. Risk mitigation implementation is the process of executing risk mitigation actions. Risk mitigation progress monitoring includes tracking identified risks, identifying new risks, and evaluating risk process effectiveness throughout the project 

Software Requirements
The software requirements are description of features and functionalities of the target system. Requirements convey the expectations of users from the software product. The requirements can be obvious or hidden, known or unknown, expected or unexpected from client’s point of view.

Requirement Engineering

The process to gather the software requirements from client, analyze and document them is known as requirement engineering.
The goal of requirement engineering is to develop and maintain sophisticated and descriptive ‘System Requirements Specification’ document.

Requirement Engineering Process

It is a four step process, which includes –
  • Feasibility Study
  • Requirement Gathering
  • Software Requirement Specification
  • Software Requirement Validation
Let us see the process briefly -

Feasibility study

When the client approaches the organization for getting the desired product developed, it comes up with rough idea about what all functions the software must perform and which all features are expected from the software.
Referencing to this information, the analysts does a detailed study about whether the desired system and its functionality are feasible to develop.
This feasibility study is focused towards goal of the organization. This study analyzes whether the software product can be practically materialized in terms of implementation, contribution of project to organization, cost constraints and as per values and objectives of the organization. It explores technical aspects of the project and product such as usability, maintainability, productivity and integration ability.
The output of this phase should be a feasibility study report that should contain adequate comments and recommendations for management about whether or not the project should be undertaken.

Requirement Gathering

If the feasibility report is positive towards undertaking the project, next phase starts with gathering requirements from the user. Analysts and engineers communicate with the client and end-users to know their ideas on what the software should provide and which features they want the software to include.

Software Requirement Specification

SRS is a document created by system analyst after the requirements are collected from various stakeholders.
SRS defines how the intended software will interact with hardware, external interfaces, speed of operation, response time of system, portability of software across various platforms, maintainability, speed of recovery after crashing, Security, Quality, Limitations etc.
The requirements received from client are written in natural language. It is the responsibility of system analyst to document the requirements in technical language so that they can be comprehended and useful by the software development team.
SRS should come up with following features:
  • User Requirements are expressed in natural language.
  • Technical requirements are expressed in structured language, which is used inside the organization.
  • Design description should be written in Pseudo code.
  • Format of Forms and GUI screen prints.
  • Conditional and mathematical notations for DFDs etc.

Software Requirement Validation

After requirement specifications are developed, the requirements mentioned in this document are validated. User might ask for illegal, impractical solution or experts may interpret the requirements incorrectly. This results in huge increase in cost if not nipped in the bud. Requirements can be checked against following conditions -
  • If they can be practically implemented
  • If they are valid and as per functionality and domain of software
  • If there are any ambiguities
  • If they are complete
  • If they can be demonstrated

Requirement Elicitation Process

Requirement elicitation process can be depicted using the folloiwng diagram:
Requirement elicitation process
  • Requirements gathering - The developers discuss with the client and end users and know their expectations from the software.
  • Organizing Requirements - The developers prioritize and arrange the requirements in order of importance, urgency and convenience.
·        Negotiation & discussion - If requirements are ambiguous or there are some conflicts in requirements of various stakeholders, if they are, it is then negotiated and discussed with stakeholders. Requirements may then be prioritized and reasonably compromised.
The requirements come from various stakeholders. To remove the ambiguity and conflicts, they are discussed for clarity and correctness. Unrealistic requirements are compromised reasonably.
  • Documentation - All formal & informal, functional and non-functional requirements are documented and made available for next phase processing.

Requirement Elicitation Techniques

Requirements Elicitation is the process to find out the requirements for an intended software system by communicating with client, end users, system users and others who have a stake in the software system development.
There are various ways to discover requirements

Interviews

Interviews are strong medium to collect requirements. Organization may conduct several types of interviews such as:
  • Structured (closed) interviews, where every single information to gather is decided in advance, they follow pattern and matter of discussion firmly.
  • Non-structured (open) interviews, where information to gather is not decided in advance, more flexible and less biased.
  • Oral interviews
  • Written interviews
  • One-to-one interviews which are held between two persons across the table.
  • Group interviews which are held between groups of participants. They help to uncover any missing requirement as numerous people are involved.

Surveys

Organization may conduct surveys among various stakeholders by querying about their expectation and requirements from the upcoming system.

Questionnaires

A document with pre-defined set of objective questions and respective options is handed over to all stakeholders to answer, which are collected and compiled.
A shortcoming of this technique is, if an option for some issue is not mentioned in the questionnaire, the issue might be left unattended.

Task analysis

Team of engineers and developers may analyze the operation for which the new system is required. If the client already has some software to perform certain operation, it is studied and requirements of proposed system are collected.

Domain Analysis

Every software falls into some domain category. The expert people in the domain can be a great help to analyze general and specific requirements.

Brainstorming

An informal debate is held among various stakeholders and all their inputs are recorded for further requirements analysis.

Prototyping

Prototyping is building user interface without adding detail functionality for user to interpret the features of intended software product. It helps giving better idea of requirements. If there is no software installed at client’s end for developer’s reference and the client is not aware of its own requirements, the developer creates a prototype based on initially mentioned requirements. The prototype is shown to the client and the feedback is noted. The client feedback serves as an input for requirement gathering.

Observation

Team of experts visit the client’s organization or workplace. They observe the actual working of the existing installed systems. They observe the workflow at client’s end and how execution problems are dealt. The team itself draws some conclusions which aid to form requirements expected from the software.

Software Requirements Characteristics

Gathering software requirements is the foundation of the entire software development project. Hence they must be clear, correct and well-defined.
A complete Software Requirement Specifications must be:
  • Clear
  • Correct
  • Consistent
  • Coherent
  • Comprehensible
  • Modifiable
  • Verifiable
  • Prioritized
  • Unambiguous
  • Traceable
  • Credible source

Software Requirements

We should try to understand what sort of requirements may arise in the requirement elicitation phase and what kinds of requirements are expected from the software system.
Broadly software requirements should be categorized in two categories:

Functional Requirements

Requirements, which are related to functional aspect of software fall into this category.
They define functions and functionality within and from the software system.

EXAMPLES -

  • Search option given to user to search from various invoices.
  • User should be able to mail any report to management.
  • Users can be divided into groups and groups can be given separate rights.
  • Should comply business rules and administrative functions.
  • Software is developed keeping downward compatibility intact.

Non-Functional Requirements

Requirements, which are not related to functional aspect of software, fall into this category. They are implicit or expected characteristics of software, which users make assumption of.
Non-functional requirements include -
  • Security
  • Logging
  • Storage
  • Configuration
  • Performance
  • Cost
  • Interoperability
  • Flexibility
  • Disaster recovery
  • Accessibility
Requirements are categorized logically as
  • Must Have : Software cannot be said operational without them.
  • Should have : Enhancing the functionality of software.
  • Could have : Software can still properly function with these requirements.
  • Wish list : These requirements do not map to any objectives of software.
While developing software, ‘Must have’ must be implemented, ‘Should have’ is a matter of debate with stakeholders and negation, whereas ‘could have’ and ‘wish list’ can be kept for software updates.

User Interface requirements

UI is an important part of any software or hardware or hybrid system. A software is widely accepted if it is -
  • easy to operate
  • quick in response
  • effectively handling operational errors
  • providing simple yet consistent user interface
User acceptance majorly depends upon how user can use the software. UI is the only way for users to perceive the system. A well performing software system must also be equipped with attractive, clear, consistent and responsive user interface. Otherwise the functionalities of software system can not be used in convenient way. A system is said be good if it provides means to use it efficiently. User interface requirements are briefly mentioned below -
  • Content presentation
  • Easy Navigation
  • Simple interface
  • Responsive
  • Consistent UI elements
  • Feedback mechanism
  • Default settings
  • Purposeful layout
  • Strategical use of color and texture.
  • Provide help information
  • User centric approach
  • Group based view settings.

Software System Analyst

System analyst in an IT organization is a person, who analyzes the requirement of proposed system and ensures that requirements are conceived and documented properly & correctly. Role of an analyst starts during Software Analysis Phase of SDLC. It is the responsibility of analyst to make sure that the developed software meets the requirements of the client.
System Analysts have the following responsibilities:
  • Analyzing and understanding requirements of intended software
  • Understanding how the project will contribute in the organization objectives
  • Identify sources of requirement
  • Validation of requirement
  • Develop and implement requirement management plan
  • Documentation of business, technical, process and product requirements
  • Coordination with clients to prioritize requirements and remove and ambiguity
  • Finalizing acceptance criteria with client and other stakeholders

Software Metrics and Measures

Software Measures can be understood as a process of quantifying and symbolizing various attributes and aspects of software.
Software Metrics provide measures for various aspects of software process and software product.
Software measures are fundamental requirement of software engineering. They not only help to control the software development process but also aid to keep quality of ultimate product excellent.
According to Tom DeMarco, a (Software Engineer), “You cannot control what you cannot measure.” By his saying, it is very clear how important software measures are.
Let us see some software metrics:
·        Size Metrics - LOC (Lines of Code), mostly calculated in thousands of delivered source code lines, denoted as KLOC.
Function Point Count is measure of the functionality provided by the software. Function Point count defines the size of functional aspect of software.
  • Complexity Metrics - McCabe’s Cyclomatic complexity quantifies the upper bound of the number of independent paths in a program, which is perceived as complexity of the program or its modules. It is represented in terms of graph theory concepts by using control flow graph.
·        Quality Metrics - Defects, their types and causes, consequence, intensity of severity and their implications define the quality of product.
The number of defects found in development process and number of defects reported by the client after the product is installed or delivered at client-end, define quality of product.
  • Process Metrics - In various phases of SDLC, the methods and tools used, the company standards and the performance of development are software process metrics.
  • Resource Metrics - Effort, time and various resources used, represents metrics for resource measurement.
·         ·         6 Effects of the Internet of Things on Project Management

At least six things will change, which will require project managers to adapt both technically and systematically.

1. IoT enables hyperspeed reporting

IoT substantially reduces the cost of communication.
The hyperconnected devices and constant flow of data that automate systems will speed things up considerably. No more idle times are required in between activities. No more silos from support systems such as databases, storage, and IT operations.
 IMPACT  Say you’re an IT project manager, and you need to run a status report on all of your organization’s desktop and laptop computers and tablets and mobile devices. In the past, this process might take weeks. But with the IoT, a project manager could run a report on the quantity and condition of all of those pieces in an instant.

2. IoT allows complete monitoring and process control

IoT allows project managers, management, and stakeholders to monitor and control activities in real time. The overall snapshot of a comprehensive system is monitored on a single screen, which allows overseers to immediately attend to any interruptions.
 IMPACT  Using equipment as an example, sensors will be used for monitoring and predicting maintenance needs throughout a project’s lifetime. The scope of devices, activities, and conditions that need to be tested will increase exponentially as projects become more complex. Ease of use and environments suddenly become critical.

3. IoT creates an explosion of valuable project data

In the past, archiving historical data was a time- and labor-intensive process. With the IoT, historical data will become available immediately, which is extremely helpful for current and future projects.
Everything from budgeting to individual meetings with team members will be recorded in great detail, providing a solid foundation for future decisions.
 IMPACT  Project management tools will need to be more responsive and scalable to accommodate this data explosion. Organizations need to make sure that their project management software package is capable of growing to accommodate this incoming flood of data. They also need to know when it’s time to upgrade—for example, if your team is capping out on your storage allowance each month.

4. IoT allows super-deep data analytics

With the IoT comes advanced data analytics, and advanced data analytics require advanced interpretations and management.
 IMPACT  Project managers must upgrade their skills related to data handling, which could mean increasing spend and resources toward data management, hiring experienced data analysts, and accounting for data analysis when creating the project timeline.
In other words, the more familiar project managers are with the importance of advanced data analysis, the better the chances for project success.

5. IoT ushers in stricter ethical and legal implications

Today’s internet-connected devices send data to each other extremely fast. We’re not dealing with dial-up modems anymore. One error could create a domino effect that could topple an entire project or, in extreme cases, an entire career before you can say “Enron.”
 IMPACT  Businesses of all sizes need to impose stricter ethical and legal implications on any slight mistake or oversight. Project managers and team members should be aware of this early on so that the project can be completed with minimal ethical and legal risks.

6. IoT raises expectations for all stakeholders

Once companies adopt IoT, the marketplace will be transformed into a level playing field. Only the strongest and the fittest will survive. No longer can organizations hide behind old excuses such as, “We don’t have access to that data” or, “We need a few weeks to get that report back.”
 IMPACT  Project managers need to lead the charge when it comes to raising standards in the IoT era. As a project manager, your job is to be aware of the most useful technology available and enable your team to use it.

Are you ready for the IoT revolution?

The IoT will change how we interact, how we work, and how we push ourselves to survive in business. In fact, this transformation has already begun.
IoT will level out the overall competition, leaving those who continuously upgrade our project management skills, both technical and soft, to thrive.
As a project manager, here are some key takeaways you can use to be ready:
  • Read up on the IoT so that you can talk to your team about it.
  • Consult your IT department to determine the extent of connected devices already in use on your network.
  • Set up automatic reports leveraging IoT data.
  • Look into upgrading your project management software so that it’s ready for the influx of data from the IoT.
  • Beef up your data analysis knowledge and look into adding full-time data analysts to your team.
  • Do a cybersecurity audit and make sure your data protection is airtight.
The IoT may seem futuristic now, but decades from now it could be as ubiquitous as the internet itself.

What is Capability Maturity Model?

The Software Engineering Institute (SEI) Capability Maturity Model (CMM) specifies an increasing series of levels of a software development organization. The higher the level, the better the software development process, hence reaching each level is an expensive and time-consuming process.

Levels of CMM

·        Level One :Initial - The software process is characterized as inconsistent, and occasionally even chaotic. Defined processes and standard practices that exist are abandoned during a crisis. Success of the organization majorly depends on an individual effort, talent, and heroics. The heroes eventually move on to other organizations taking their wealth of knowledge or lessons learnt with them.
·        Level Two: Repeatable - This level of Software Development Organization has a basic and consistent project management processes to track cost, schedule, and functionality. The process is in place to repeat the earlier successes on projects with similar applications. Program management is a key characteristic of a level two organization.
·        Level Three: Defined - The software process for both management and engineering activities are documented, standardized, and integrated into a standard software process for the entire organization and all projects across the organization use an approved, tailored version of the organization's standard software process for developing,testing and maintaining the application.
·        Level Four: Managed - Management can effectively control the software development effort using precise measurements. At this level, organization set a quantitative quality goal for both software process and software maintenance. At this maturity level, the performance of processes is controlled using statistical and other quantitative techniques, and is quantitatively predictable.
·        Level Five: Optimizing - The Key characteristic of this level is focusing on continually improving process performance through both incremental and innovative technological improvements. At this level, changes to the process are to improve the process performance and at the same time maintaining statistical probability to achieve the established quantitative process-improvement objectives.


Organizational Behavior - Models

Organizational behavior reflects the behavior of the people and management all together, it is considered as field study not just a discipline. A discipline is an accepted science that is based upon theoretical foundation, whereas OB is an inter-disciplinary approach where knowledge from different disciplines like psychology, sociology, anthropology, etc. are included. It is used to solve organizational problems, especially those related to human beings.
There are four different types of models in OB. We will throw some light on each of these four models.

Autocratic Model

The root level of this model is power with a managerial orientation of authority. The employees in this model are oriented towards obedience and discipline. They are dependent on their boss. The employee requirement that is met is subsistence. The performance result is less.
The major drawbacks of this model are people are easily frustrated, insecurity, dependency on the superiors, minimum performance because of minimum wage.

Custodial Model

The root level of this model is economic resources with a managerial orientation of money. The employees in this model are oriented towards security and benefits provided to them. They are dependent on the organization. The employee requirement that is met is security.
This model is adapted by firms having high resources as the name suggest. It is dependent on economic resources. This approach directs to depend on firm rather than on manager or boss. They give passive cooperation as they are satisfied but not strongly encouraged.

Supportive Model

The root level of this model is leadership with a managerial orientation of support. The employees in this model are oriented towards their job performance and participation. The employee requirement that is met is status and recognition. The performance result is awakened drives.
This model is dependent on leadership strive. It gives a climate to help employees grow and accomplish the job in the interest of the organization. Management job is to assist the employee’s job performance. Employees feel a sense of participation.

Collegial Model

The root level of this model is partnership with a managerial orientation of teamwork. The employees in this model are oriented towards responsible behavior and self-discipline. The employee requirement that is met is self-actualization. The performance result is moderate zeal.
This is an extension of supportive model. The team work approach is adapted for this model. Self-discipline is maintained. Workers feel an obligation to uphold quality standard for the better image of the company. A sense of “accept” and “respect” is seen.
Successful CRM is about competing in the relationship dimension. Not as an alternative to having a competitive product or reasonable price, but as a differentiator. If your competitors are doing the same thing as you are (as they generally are), product and price won’t give you a long-term, sustainable competitive advantage. But if you can get an edge based on how customers feel about your company, it’s a much stickier–sustainable–relationship over the long haul.”
− Bob Thompson, CustomerThink Corporation
Business people started using the term Customer Relationship Management (CRM) since the early 1990s when the concept of business started to change from being transactional to relational. CRM directly contributes towards customer benefits and the growth of businesses.
Information Technology plays a very critical role in identifying, acquiring, and retaining the customers, and thereby managing a healthy relationship with them.
Here in this chapter, we will discuss the very basics of CRM.

What is CRM?

There can be multiple definitions of CRM from different perspectives −
  • From the viewpoint of the Management, CRM can be defined as an organized approach of developing, managing, and maintaining a profitable relationship with customers.
  • By equating the term with technology, the IT organizations define CRM as a software that assists marketing, merchandising, selling, and smooth service operations of a business.
  • As per Franics Buttle, World’s first professor of CRM, it is the core business strategy that integrates internal processes and functions, and external networks, to create and deliver value to a target customer at profit. It is grounded on high quality customer data and information technology.
The primary goal of CRM is to increase customer loyalty and in turn improve business profitability.

Ingredients of CRM

Take a look at the following illustration. It shows the ingredients that work together to form a successful CRM system.
Ingredients of CRM
Here are some of the important ingredients of CRM −
  • Analytics − Analytics is the process of studying, handling, and representing data in various graphical formats such as charts, tables, trends, etc., in order to observe market trends.
  • Business Reporting − Business Reporting includes accurate reports of sales, customer care, and marketing.
  • Customer Service − Customer Service involves collecting and sending the following customer-related information to the concerned department −
    • Personal information such as name, address, age
    • Previous purchase patterns.
    • Requirements and preferences.
    • Complaints and suggestions.
  • Human Resource Management − Human Resource Management involves employing and placing the most eligible human resource at a required place in the business.
  • Lead Management − Lead Management involves keeping a track of the sales leads and distribution, managing the campaigns, designing customized forms, finalizing the mailing lists, and studying the purchase patterns of the customers.
  • Marketing − Marketing involves forming and implementing sales strategies by studying existing and potential customers in order to sell the product.
  • Sales Force Automation − Sales Force Automation includes forecasting, recording sales, processing, and keeping a track of the potential interactions.
  • Workflow Automation − Workflow Automation involves streamlining and scheduling various processes that run in parallel. It reduces costs and time, and prevents assigning the same task to multiple employees.

Objectives of CRM

The most prominent objectives of using the methods of Customer Relationship Management are as follows −
  • Improve Customer Satisfaction − CRM helps in customer satisfaction as the satisfied customers remain loyal to the business and spread good word-of-mouth. This can be accomplished by fostering customer engagement via social networking sites, surveys, interactive blogs, and various mobile platforms.
  • Expand the Customer Base − CRM not only manages the existing customers but also creates knowledge for prospective customers who are yet to convert. It helps creating and managing a huge customer base that fosters profits continuity, even for a seasonal business.
  • Enhance Business Sales − CRM methods can be used to close more deals, increase sales, improve forecast accuracy, and suggestion selling. CRM helps to create new sales opportunities and thus helps in increasing business revenue.
  • Improve Workforce Productivity − A CRM system can create organized manners of working for sales and sales management staff of a business. The sales staff can view customer’s contact information, follow up via email or social media, manage tasks, and track the salesperson’s performance. The salespersons can address the customer inquiries speedily and resolve their problems.

History of CRM

History of CRM




No comments:

Post a Comment

Featured post

Life Infotech now a leading brand in the field of technology training

  Life Infotech now a leading brand in the field of technology training & its invites students around the nation to be a part of the Tra...