понедельник, 26 октября 2020 г.

Techniques to Prioritize Requirements

 Large software systems have a few hundred to thousands of requirements. Neither are all requirements equal nor do the implementation teams have resources to implement all the documented requirements. There are several constraints such as limited resources, budgetary constraints, time crunch, feasibility, etc., which brings in the need to prioritize requirements.

Most customers on their part have a reasonable idea of what they need and what they want. But during requirements elicitation the customer provides the Business Analyst (BA) with all the requirements that he feels will make his work easier. The customer is not wrong on his part; the BA needs to understand the needs of the business to prioritize the requirements.

Prioritization means “Order of importance”. BABOK 3.0 suggests 8 factors that influence the prioritization of requirements.

  1. Benefit - It is the advantage that the business accrues as a result of the requirement implementation. The benefit derived can refer to functionality, quality or strategic / business goals.
  2. Penalty - It is the consequence of not implementing a requirement. It can refer to the loss in regulatory penalties, poor customer satisfaction or usability of the product.
  3. Cost - It is the effort and resources that are required to implement a requirement. A resource can refer to finance, man-power or even technology.
  4. Risk - It is the probability that the requirement might not deliver the expected value. This can be due to various reasons ranging from difficulty in understanding the requirement to implementing the requirement.
  5. Dependencies - It is the relationship between requirements. As such, a requirement will require the completion of another requirement for its implementation.
  6. Time Sensitivity - Everything comes with an expiry date. There has to be mention of what time the requirement will expire or also if the requirement is seasonal.
  7. Stability - It refers to the likelihood of the requirement remaining static.
  8. Regulatory/Policy Compliance – Those requirements that must be implemented to meet the regulatory requirements.

Prioritizing requirements is fraught with challenges – prioritization of requirements requires a good combination of both analytical and social skills. Most customers will put their foot down and demand that all their requirements be implemented and the do-it all developers would be willing to provide the customer with any feature he desires. But, in reality there are only so many requirements that can be developed because of various constraints such as time, resources, etc. Hence, prioritization is an important activity that defines what goes into the product and what does not.

Whose responsibility is it to prioritize?

Prioritization of requirements cannot be done by the BA alone based on his understanding of the project scope. He needs to bring in various stakeholders into the process and get their agreement on the priority of requirements. The BA can use any of the prioritization techniques to statistically prioritize the requirements. But, before prioritizing the requirements, the BA needs to understand the dependencies between the requirements. Creating a dependency map helps the cause.

The requirements dependency map

Most requirements are interdependent and you will hardly find any requirement that exists independently. To understand why we need a dependency map – let us take a scenario where you have 8 requirements X,Y,Z,P,Q,R,M,O and N with priorities, on a 5- level scale where 1 is most critical and 5 least critical, as 1,2,1,4,5,1,2,2,3. So, with these priorities it would be logical to begin with requirements X, Z and R.

Now, consider the below dependency chart for the above requirements. The chart clearly brings out the idea that we need to complete X before commencing with Y, although X and Y have the same priority levels. Similarly, we need to complete O before commencing R, although when R has higher priority than O.

Figure 1:Dependency Map - In the above requirements dependency map - requirements on the left are the root requirements. Requirements that are connected to the requirements on the left are dependent on them.

Understanding the requirements dependency is as just as important as prioritization. Without understanding the requirements dependency, it is highly unlikely that you will arrive at the right order of requirements implementation. So, it is a good idea to have the requirements dependency map in place before prioritizing the requirements.

There are numerous prioritization techniques that are used in the market today; we have listed some of the more frequently used techniques below:

1. Decision Analysis – Decision Analysis can be traced back to Bernoulli in the 1700s. It was an academic pursuit until the evolution of computers which has made decision analysis possible. Decision analysis is one of the most widely used decision making techniques, from the stock market to the battle grounds, to choose the from the given alternatives. Decision analysis is popular because it provides a scientific approach to arrive at a decision by breaking down the most complex of problems into small manageable problems. There are different types of decision making techniques. In this article I will only touch upon the decision tree technique (it is easier to understand).

A decision tree is a visual analytical tool. It is a flow-chart like structure with 3 different types of nodes -

  1. Decision nodes denoted by squares - at these nodes a decision needs to be made choosing among the different alternatives.
  2. Chance nodes denoted by circles - these are also called the event node. It is the event that happens when a decision is made.
  3. End nodes denoted by triangles are also known as the terminal nodes. This is the final decision point that is arrived at based on various decisions taken.

Other information such as the value, risk, probability, etc. can be added to aid in the computation of the result.


Figure 2: Decision Tree

In the above decision tree the user traverses from the left to right. The user needs to make a decision at A, B, C and to choose from the alternatives, 1, 2, 3, 4, 5, and 6. Based on the decisions that the user makes the user gets to points @, $, #, %.

Decision tree is popular as value, risk, probability, etc., can be set against each of the alternatives and the same be analyzed statistically. The statistical analysis will provide us with insights to make the best decision possible with the present understanding of requirements.

2. MoSCoW – This prioritization technique was developed by Dai Clegg of Oracle UK Consulting, who later donated the intellectual rights to Dynamic Systems Development Method (DSDM) Consortium. Though the technique has been criticized for its lack of clarity in distinguishing the priority of requirements, it is one of the more widely used techniques for its simplicity and ease of use. The letters of the word MoSCoW stand for Must, Should, Could and Won’t.

Must have (or Minimum Usable Subset) – These are features that must be included before the product can be launched.

Some of the common guidelines for Must haves are as follows:

  • Cannot deliver on target date without this data
  • Not legal without it (Define it)
  • Unsafe without it
  • Cannot deliver the Business Case without it

Should haves are features that are not critical for the launch, but are considered to be important and of a high value to the user.

  • Important but not vital
  • Solution viable without the requirement
  • Work around available for the requirement.

Could haves are features that are nice to have and could potentially be included without incurring too much effort or cost.

  • Wanted or desirable but less important
  • Workaround available for the requirement.
  • Less impact if left out

Should and Could are differentiated by the relativity of importance. The ones that have higher business impact are categorized under Should.

Won’t have - are features that have been requested but are explicitly excluded from scope for the planned duration and may be included in a future phase of development.

As a BA, challenge the Must have requirements and try pushing them in any of the other categories. The effort allocation for the Must, Should and Could - should comprise of 60%, 20% and 20% of the total estimated effort.

MoSCoW method works better than the numeric rating system as it is much easier for the stakeholders to rate the requirements as Must, Should, Could or Would.

3. Three-level Scale – When a BA categorizes the requirements in any of the ordering or ranking scale, it is subject to the analyst’s understanding of the business. Many analysts suggest that this method has some drawbacks and advocate methods that have more than one scale.

Covey, Rebecca and Merrill would have never in their wildest dreams have thought that their “The four-quadrant 'Eisenhower Decision Matrix' for importance and urgency”, from their self-help book First things First, would become one of the most widely used prioritization techniques in the IT space.

Figure 3: Eisenhower Decision Matrix – Lower the number, higher the priority of the section.

With the numbering on the different sections of the diagram, the priority of the sections is implicit. Important items have the highest preference, while urgent items have lower preference.

  1. High Priority – These requirements are urgent and important. These are requirements that are generally with respect to compliance or contract that cannot be left out. These requirements need to be implemented in the current release and not implementing the same will have some adverse effect on the business.
  2. Medium Priority – These requirements are important but not as urgent. Implement these after you implement the high priority items. If you see closely there is a line that splits this quadrant into 2 parts. Implement the items that are on the right side of the line first as they are relatively of higher medium priority.
  3. Do these later – These items are urgent but do not have a lot of effect on the business. Hence do it after completing the more important medium priority items. Similar to the medium priority items, this quadrant has also been split into two; the items on the right side have a higher priority relatively to the items on the left.
  4. Low Priority – These items are neither important nor are they urgent. Complete the items at your leisure after completing the items in sections 4 and 5 respectively.

The items on the right hand side of the diagonal have higher priority. Start with the bottom-right corner of the high-priority quadrant and work your way up and left.

4. Timeboxing/Budgeting – Timeboxing or fixed budgeting process is used when there are fixed timelines/budgets to achieve the project milestones. Timeboxing is used in projects that are constrained by deadlines where the delivery of the project is as important as the project being delivered on time or being developed within the budget.

This technique is based on the premise that it is more important to have at least the basic product features and release the product on time rather than having all features and launching the product at a later date. Miranda, Program Director, Ericsson Research Canada, in her paper proposes 2 points of estimate – the normal completion effort and the safe completion effort. The normal completion effort is the happy case scenario of requirement being developed while safe completion effort is the estimation based on the worst case scenario.

In Timeboxing, which is the refined version of MoSCoW analysis, the requirements are grouped into small subsets that can be called wholly; these are given relative importance and the time schedule required for implementation. The idea is to move the more important features or Must, Should and Could to earlier phases of implementation to ensure completion of more important features at the time of product launch.

This method is highly used in agile projects as it helps in identifying the more important features and it works very efficiently for iterative approach.

According to BABOK V2, there are 3 approaches that may be used for determining the requirements to include in iteration:

  • All In – Include all the requirements necessary for the solution to be developed and then remove/postpone the requirements whose implementation will cause the project to miss the deadline.
  • All Out – Exclude all the requirements for a start and then include the ones that can be implemented within the constrained time schedule.
  • Selective – Identify the high priority requirements and then add or remove requirements to meet the deadline.

5. Voting – This is the simplest way to prioritize the requirements. When there are too many requirements that need to be categorized into different categories with inputs from different stakeholders, voting is one of the best ways to sort out the prioritization of requirements. I will suggest the voting technique that worked for me in one of the projects I was managing.

In this method we gathered all the stakeholders in a room (others not physically provided were looped in through a call) and each of the stakeholder was given points(say 200, 100, 50 based on the stakeholder’s importance ) to vote on each of the requirement that had to be incorporated. Then we ran through over 400 requirements on which the stakeholders voted. The requirements with the highest points were chosen for implementation in the first iteration.

Care has to be taken while putting out the requirements to vote such that the requirements are grouped in a logical manner and that the stakeholders are voting on a requirement that can be delivered in entirety. The entire process took a day but it worked out really well.

Concluding remarks

  • Prioritization is one of the most important stages in the requirements analysis stage. Involve the stakeholders for better categorization and prioritization of requirements.
  • Analyze the requirements and understand the effect of different factors listed above on the requirements.
  • Choose the requirements prioritization technique that best suits your need and start prioritizing your requirements.
  • Challenge the importance of requirements. Lower the priority the better it is.

Business analysis is all about taking the most complex of requirements and breaking it down to simple problems that can be implemented by anyone.


Author: Anand Krishnan, Associate Consultant, Maveric-Systems

https://bit.ly/2TpTZi7


How to Manage Your Time easily?

 




Task Prioritisation Hack using MoSCoW Method

 Today we are discussing MoSCow Prioritisation method. You can use the MoSCoW method to prioritise any tasks, personal or professional. If you are a student, you can too use the MoSCoW method to prioritise your tasks and study.

Prioritisation can be applied to requirements, tasks, products, use cases, user stories, acceptance criteria and tests.



A rule of thumb often used is that Must Have requirements do not exceed 60% of the effort and the remaining 40% of the effort should be split about evenly between Should Have and Could Have/Contingency planning.

The MoSCoW Rules

Must Haves provide the Minimum Viable Product (MVP) of requirements which the project guarantees to deliver. This may be defined using some of the following items:

  •    These are non-negotiables
  •    Can't deliver on target date without this
  •    Not legal without it
  •    Unsafe without it
  •    Can't deliver the business case without it

Ask the question, “what happens if this requirement is not met?” If the answer is “cancel the project – there is no point in implementing a solution that does not meet this requirement” then it is a Must Have requirement. If there is some way around it, even if it is a manual workaround, then it will be a Should Have or a Could Have requirement. Downgrading a requirement to a Should Have or Could Have does not mean it won’t be delivered, simply that delivery is not guaranteed.

Should Haves are;  

  • Important but not vital
  • May be painful to leave out, but the solution is still viable
  • May need some kind of workaround, e.g. management of expectations, some inefficiency, an existing solution, or a little extra paperwork etc.

A Should Have may be differentiated from a Could Have by reviewing the degree of pain caused by it not being met, in terms of business value or numbers of people affected.  

Could Haves

  • Wanted or desirable but less important
  • Less impact if left out (compared with a Should Have)

Won't Haves this time at all

  • These are the requirements which the project team has agreed it will not deliver. They are recorded in the Prioritised Requirements List where they help clarify the scope of the project and to avoid being reintroduced ‘via the back door’ at a later date. This helps to manage expectations that some requirements will simply not make it into the delivered solution, at least not this time around.

These priorities should always be under review even during the project. If or any new work arises during the project priorities can be upgraded or downgraded as per the requirement.

MoSCoW method is also a great way to form conversations with your clients and discover what they want and what's the most important and least important item 

According to Agile Business Consortium tips for assigning priorities are as follows:

  1. Start all requirements as Won’t Haves and then justify why they need to be given a higher priority.
  2. For each requirement that is proposed as a Must Have, ask: “What happens if this requirement is not met?” If the answer is “Cancel the project. There is no point in implementing a solution that does not meet this requirement,” then it is a Must Have requirement.
  3. Ask: “I come to you the night before deployment and tell you there is a problem with a Must Have requirement and that we can’t deploy it – will you stop the deployment?” If the answer is “yes” then this is a Must Have requirement.
  4. Is there a workaround, even if it is manual? If there is, then it is not a Must Have requirement. Compare the cost of the workaround with the cost of delivering it, including the cost of any associated delays.
  5. Ask why is the requirement needed – for this project and this increment.
  6. If there is a Business Case in sufficient detail, can it be used to justify the intended priority? If not, create one.
  7. Is there more than one requirement implied in a single statement? Are they of the same priority? Decompose the requirement!
  8. Is this requirement dependent on any others being fulfilled? A Must Have cannot depend on the delivery of anything other than a Must Have because of the risk of it not being there.
  9. Allow different priorities for levels of acceptability of a requirement. For example. “The current back-up procedures will be followed to ensure that the service can be restored as quickly as possible.” How quick is that? Given enough time and money, that could be within seconds. They may say that it Should happen within four hours, but it Must happen within 24 hours, for example.
  10. Can this requirement be decomposed? Is it necessary to deliver each of those components to fulfil the requirement? Are the decomposed elements of the same priority as each other?
  11. Tie the requirement to a project objective. If the objective is not a Must Have, then probably neither is the requirement relating to it.
  12. Remember that team members may cause scope creep by working on the fun things rather than the important things. MoSCoW can help avoid this.
  13. Does the priority change with time? For example, for an initial phase, it is a Should Have but it will be a Must Have for the second increment. 
  14. Prioritise defects/bugs, using MoSCoW.
  15. Prioritise testing, using MoSCoW.
  16. Use MoSCoW to prioritise your To Do list. It can be used for activities as well as requirements.

MoSCoW was developed by Dai Clegg of Oracle UK in 1994 and has been made popular by exponents of the Dynamic Systems Development Method (DSDM).


Sources:
https://www.agilebusiness.org/content/moscow-prioritisation-0
https://www.projectsmart.co.uk/moscow-method.php
https://www.projectmanager.com/training/prioritize-moscow-technique

https://bit.ly/31MLNgu


Relationship between Government and Business Organizations

 Government and business institutions in a country in many ways are interrelated and interdependent. In today’s global economy, businessmen and entrepreneurs are the driving forces of the economy.

In a planned economy or even in the market economy government holds control of shaping the business activates of a country.

For maintaining a steady and upward economic growth The Government must try to make the environment for business organizations suitable.

And the organizations must follow the laws of governments’ to run the businesses smoothly and making sure there is a level playing field.


The main goal of businesses is to make a profit and governments’ goal is to ensure economic stability and growth. Both of them are different but very co-dependent.

For this, the government and organizations or businesses always try to influence and persuade each other in many ways for various matters.

A balanced relationship between the government and businesses is required for the welfare of the economy and the nation.

Let’s see how government and business organizations try to influence each other.

How Business Organizations Influences the Government

Organizations try to force the government to act in ways that benefit the business activities. Of Course, for that, an organization must go through legitimately.

But sometimes we see that organizations try to go over the line.

Anyways, these are the common methods that business organizations us to influence government policies.

  • Personal Conducts and Lobbying

    The corporate executives and political leaders and government officials are in the same social class. This creates a personal relationship between both parties. Also, organizations formally from the group to present their issues to government bodies.

  • Forming Trade Unions And Chamber Of Commerce

    Trade unions and the chamber of commerce are associations of business organizations with a common interest. They work to find the common issues of organizations and present reports, holds dialogue to discuss them with government bodies.

  • Political Action Committees

    Recently in the 2012 US elections, the term “super PACs” was a common topic in many discussions. Political action committees (PACs) or are special organizations formed to solicit money and distribute to political candidates.

    Most times the rich executives donate money to the political candidates whose political views are similar to them.

  • Large Investment

    Companies if can make a very large investment in industries or projects, could somehow affect government policies.

    We see these very often in developing countries where foreign corporate wants to invest in these countries.

    These works in another way around, where the government tries to implement the policy to attract foreign investment.

How Government Influences the Business Organizations

The government attempts to shape the business practices through both, directly and indirectly, implementing rules and regulations.

The government most often directly influences organizations by establishing regulations, laws, and rules that dictate what organizations can and cannot do.

To implement legislation, the government generally creates special agencies to monitor and control certain aspects of business activity.

For example, the environment protection agency handles Central Bank, Food and Drug Administration, Labor Commission, Securities, and Exchange Commission and much more.

These agencies directly create, implement laws and monitor its application in the organization.

Governments sometimes take an indirect approach to shaping the activities of business organizations. These are also done by implementing laws or regulations but they are not always mandatory.

For instance, the government sometimes tries to change organizations’ policies by their tax codes.

The government could give tax incentives to companies that have an environment-friendly waste management system in a production factory.

Or, tax incentives could be provided to companies that have established their production facilities in a less developed region in the country. As a result, more often the businesses would probably do so.

However, this regulation and its implementation must be to an optimal degree.


https://bit.ly/2HGSIAA


Что убивает мотивацию работать хорошо: инфографика

 Мы знаем, что на работе быть продуктивным на 100% невозможно. Мы не машины-роботы. Мы люди-человеки. Но убийц собственной продуктивности и продуктивности ваших коллег надо знать в лицо. Тем более, что в ваших силах контролировать эти факторы. Попробуйте.





суббота, 24 октября 2020 г.

Emotional Intelligence

 The capability of people to perform the work or job that they do falls into three areas:

Technical skills – which includes technical expertise e.g. accountancy skills.

Intellectual capability – which is commonly known as IQ, or cognitive abilities.

Emotional capability – often referred to as emotional intelligence or EI.


Whilst a significant amount of information, research and education exists in the fields of technical skills and intellectual capability, the area of Emotional Intelligence remains largely untouched.


What is Emotional Intelligence?

Emotional intelligence is the ability to recognise, understand and manage emotions in ourselves and others.

Emotional Intelligence is divided into the four clusters of Self-Awareness, Self-Management, Social Awareness and Relationship Management (often been referred to very broadly as “people skills” in years gone by).


Daniel Goleman, a leader in this field, has identified that successful managers and leaders possess a high percentage of emotional intelligence. By successful we mean those who have; Achieved better financial results,

Developed more effective and supportive organisational climates or culture and Achieved higher productivity gains with their workforce. Goleman’s (1998) findings also indicated that Emotional Intelligence contributes 80 to 90% of the competencies that distinguish outstanding leaders from average leaders.


The behaviours identified include;

the ability to recognise and understand their own moods, emotions and drives as well as their effect on others;

the ability to control or redirect disruptive impulses, moods and to think before acting;

the passion to work for reasons beyond money or status and the propensity to pursue goals with energy and persistence;

the ability to understand the emotional makeup of other people and the skill in treating people according to their emotional reactions; the proficiency in managing relationships, building networks and the ability to find common ground and build rapport.


IQ versus EI

In professional and technical fields the typical entry-level threshold IQ is 110 to 120. It is generally considered that your IQ, which is largely genetic, will change little from childhood. Since everyone is in the top 10% or so of intelligence, IQ itself offers relatively little competitive advantage.

EI on the other hand can be learned at any age. Growing your competency in EI is not easy or quick, as it takes perseverance in the process of critical self-evaluation, commitment to improvement and of course behavioural practice.

It is also important to note, that competence in Emotional Intelligence does not necessarily increase with age as you might expect. Some people may learn from life’s experiences, but many do not.


Self-Awareness:

The core of Emotional Intelligence is self-awareness. Self-awareness is comprised of three competencies;

emotional self-awareness, where you are able to read and understand your emotions as well as recognise their impact on work performance and relationships; accurate self-assessment, where you are able to give a realistic evaluation of your strengths and limitations; self-confidence, where you have a positive and strong sense of one’s self-worth. The starting point and key in these areas is the ability to be critically self-reflective.


Self-Management

Self-management is comprised of five competencies;

Self-control, which is keeping disruptive emotions and impulses under control;

transparency, which is maintaining standards of honesty and integrity, managing yourself and responsibilities;

adaptability, which is the flexibility in adapting to changing situations and overcoming obstacles;

achievement orientation, which is the guiding drive to meet an internal standard of excellence;

initiative, which is the readiness to seize opportunities and act.


Social Awareness

Social Awareness is comprised of three competencies;

empathy, which is understanding others and taking an active interest in their concerns;

organisational awareness, which is the ability to read the currents of organisational life, build decision networks and navigate politics;

service orientation, which is recognising and meeting customers needs.


Relationship Management

The Social cluster of Relationship Management is comprised of seven competencies;

visionary leadership, which is inspiring and guiding groups and individuals;

developing others, which is the propensity to strengthen and support the abilities of others through feedback and guidance;

influence, which is the ability to exercise a wide range of persuasive strategies with integrity, and also includes listening and sending clear, convincing and well-tuned messages;

change catalyst, which is the proficiency in initiating new ideas and leading people in a new direction;

conflict management, which is resolving disagreements and collaboratively developing resolutions; building bonds, which is building and maintaining relationships with others;

teamwork and collaboration, which is the promotion of cooperation and building of teams.


The Emotionally Intelligent Organisation

The Emotionally Intelligent Organisation i.e. an organisation with a high number of emotionally intelligent leaders, managers and critical professionals stands to be at the forefront of organisational practice and performance, and is more likely to be an employer of choice.


Research also supports the view that competence in Emotional Intelligence accounts for over 90% of the difference between ineffective leaders and effective leadership performance.


Effective leadership improves business performance and provides organisations with a competitive advantage.


Becoming an EI organisation

The decision to become an emotionally intelligent organisation needs to be based on an organisational strategy to improve business performance.


To implement this strategy you first need to define what the core capabilities your business requires to achieve its vision, values and business strategies which includes Emotional Intelligence clusters and competencies. You will also need to identify the more specific competency profiles for positions within the organisation.


This capability framework and competency profiles, then forms the basis for your performance management system in conjunction with your Key Performance Indicators. The performance management system then becomes a mechanism for driving and achieving changes in the workplace.


The framework can also be used to support recruitment and selection and other cultural development strategies, thus ensuring a more appropriate match of people and organization goals.  The next stage is to grow the emotional intelligence competencies through specific development programs reflecting the organisation’s capability framework.


If you do not have a “core” capability framework for your staff, there are still benefits in introducing Emotional Intelligence development programs. These are seen primarily through improved leadership and interpersonal relationships and as a result improved business performance.


Growing Emotional Intelligence

Growing your EI competencies is not easy or quick, as it takes perseverance in the process of critical self-reflection, commitment to improvement and of course behavioural practice.


Transformational Learning

When you grow your Emotional Intelligence, it is called transformational learning, as this growth comes from using critical self-reflection.


So, what is critical self-reflection? Most people would be familiar with reflection, which is the analysis of one’s beliefs. We also have critical reflection, which is the analysis of the assumptions on which our beliefs are built. But the area we are most interested in is Critical Self-Reflection, which is the analysis of the way we pose problems to ourselves and of our own structure of assumptions that we use as a reference for interpreting our experiences.


Effective critical self-reflection requires you to question yourself and the assumptions you make on an ongoing basis. This can be demonstrated through the three (3) why? Test, that is where you ask “Why” down three levels from the item you are analysing.

For example, I have been asked to present a workshop to one hundred people on a subject I know very well, and I have said no.

(1) Why did I say no? Because I would not feel comfortable doing it.

(2) Why do you feel uncomfortable about doing it? Because I might look incompetent.

(3) Why do you feel you would look incompetent? Because people in the audience may know more than I do.


The answer to this question is based on assumptions, and we need to challenge these assumptions to check their validity. If the assumptions are invalid and we change that assumption and therefore our perspective then transformational learning has occurred.


https://bit.ly/2TmM5pR