About

Posts by :

Virtualizations on Enterprise Level

Let’s talk about a popular technology that is changing the way businesses configure, store, manage, distribute and maintain their software as well as hardware systems. There is an inherent shift from mainframe computing to x86 based systems due to performance enhancements and cost effectiveness. With in-built support for virtualization many companies are adopting the virtual architecture in driving the software needs for their business.

Virtualization is a way of presenting a logical or virtual view of separate environments working independently or together by abstracting applications and components from a system consisting of hardware, software or both. The logical view can be different from the parent system as the virtual systems depend for their existence in terms of form and functionality on core or fundamental components of the parent system. This means any virtual view will piggy-back on the parent application/system to mimic or enhance all or a handful of functions into separate sub-systems customized according to the need and providing benefits like increased performance, scalability, cost effectiveness, maintenance etc.

When we hear the word “Virtualization” we think of VMware or Parallels software that will let you run Windows8/Windows Server 2012/Linux on a Mac OS or on another OS. On enterprise level there are different types of virtualization technologies providing solutions that tackles a specific field of interest or an area and can be customized or activated to work on their own or be integrated to work as part of a system.

Here is a nice little diagram I created to highlight various types of virtualization options that can be implemented to the need.

  1. Access Virtualization – This type of virtualization allows any device to access and use the application on a common environment without the need to know much about each other. The device will know how to connect to the application system and the application will accept those devices that were setup to connect and utilize the system without any hiccups or issues. An example could be remote devices like a laptop, tablet, think client, POS system, and terminals with different hardware accessing a server that runs an application capable to work with those devices.  This helps an organization be independent in deal with changes on the hardware side and preventing to rewrite the entire applications. Say for example a company makes a switch from Android based tablets to iOS based iPad and with access virtualization there is seamless migration and transition in accessing the same applications.
  2. Application Virtualization – This type of virtualization lets an application to be used on multiple and different systems. These applications would typically use an API or a framework to integrate the application with base systems regardless of their native underlying hardware. There would be some configuration and other customizations while integrating applications on different systems but overall it provides greater flexibility and operating system independence. Different vendor companies developing such software include Microsoft with their Microsoft Application Virtualization or App-V, Citrix with their popular XenApp product and VMware with their ThinApp product. Another type of application virtualization would be similar to porting of legacy applications when older hardware are decommission and not supported.
  3. Processing Virtualization – This type of virtualization operates at or below the Operating System level. There are different ways processing virtualization can make use of an operating system  that is encapsulated to work separately or as part of a system for workload sharing and failover or for linking such systems to distribute data to separate areas.  What that means is that one system can be made to appear as if there are many or many systems appear to work as one. There are scenarios where parallel computing is needed for certain set of work while raw GPU is needed to drive some graphics. Processing Virtualization helps dealing with such scenarios by letting Hypervisor or Virtual machine manager handle requests and delegate them to proper virtual system by managing and diverting the resources such process threads, GPU utilization cycles etc where they are needed.
  4. Network Virtualization – This type of virtualization pertains to dealing with links of system and their availability based on the security setup. Multiple systems can be virtualized to be used by different users based on their access level. For example finance users will have access to the finance virtual system while sales will have access to sales virtual system while both of them being hosted on the same hardware. These systems are set up in network to be made available to their user base.
  5. Storage Virtualization – This is one of the most common types of virtualization that is being adopted by various companies to manage their growing needs for data storage and access. Cloud based computing has really pushed the storage virtualization into every sector whether its enterprise or general consumer. This type of system where data storage can be dynamically managed by altering their capacity, resources and processing request has helped business with their changing application needs. Cost effectiveness is also a major factor as companies can start with a common server and use it for virtualizing several storage applications to be used across different groups of a company. For example, a server can host virtual database systems like Oracle, SQL Server or Teradata which can be accessed by different applications. The beauty of this setup is that constraints related to capacity, processing power, priority, user management etc. can be eliminated.  As need for growing data imparts need to add more storage capacity, newly modules of hard drives can be seamlessly and effortlessly distributed across different virtual database systems or streamlined towards the database that has the greatest need. The same stands for the other way in terms of accessing data through various medium from a common source. On consumer product level, an example would be Dropbox a cloud data storage service where users can start with certain amount of space but can buy more as their needs grow. It beautifully works with any device in accessing the stored data.
  6. Hardware Assisted Virtualization – This type of virtualization is actually more of a collection of techniques and hardware designed on a much lower level of virtualization. The newer chipsets have Virtualization capability at the hardware level and with related instruction sets featuring directed I/O, Extended Page tables, Rapid Virtualization Indexing, Tagged TLB, security etc. Such system has inherent support for hosting more Virtual machines per server and enables the software to interact more effectively with greater consolidation. Some of the noted capabilities include bypassing the Virtual machine manager or hypervisor in managing the low level instructions for memory management, I/O and hyper threading with compatible processor. Examples of hardware assisted virtualization include AMD-V technology in AMD chipsets and Intel VT in Intel chipsets.

Consequences of Over-Promising or Over-Delivering and the Right Process

At the end of the project if you deliver less than what was expected then you are pretty much on the path of risking your reputation. If you deliver more than the expected you are a hero. Many a times, especially with new managers taking new responsibilities and authority, more features are delivered by intention than what was asked for originally in spite of falling behind budget and added constraint on resources. It stretches and burns out the project team by making them work overtime and causing a higher stress level, all because of the manager’s commitment and desire on providing extra features that was never asked or intended in the first place.

This is a detrimental approach due to the fact that there could be business reasons why certain features are shut out on purpose or maybe the features are being held back for next release, maybe their systems are already maxed out on resource usage and cannot accommodate any extra functionality which hasn’t been scoped for. This is commonly known as “gold plating” in project management world and advises to clearly stay out of this practice.

The habit of delivering extra value or features also skews the project baselines for any future projects since the client/business users will perceive receiving extra features as an expected act in spite of being not accounted in the project scope or budget.  Gold platting eventually also leads to feature request by the customer in an ongoing project along with more changes over time. The nature of most businesses is that they change; the direction and strategic goals of an organization or a company changes quarterly or on yearly basis thereby potentially affecting any current & on-going implementations. Any added features or changes requested without invoking change management most certainly leads to a point of failure.  This is due to the fact that added features means more resource effort hours which translates into higher than assessed budget.

An example of correct procedure to follow during any change request is to assess the impact of this change, get authorization and approvals from appropriate authorities, change the scope, time and cost baselines to accommodate the changes, invoke change management and get approvals, change the project schedule and timelines, send clear communications on new dates and milestones and implement the changes.

Now there are times when a development team is working closely with the business user/base and they form a certain level of relationship where the developers are obliged to incorporate constant changes as requested by the client. Managers should be firm in controlling the scope and making sure proper procedures are followed and right parties/team members are involved in an open discussion while making clear its added impact on the ongoing work.

The practice of delivering extra without invoking proper protocols and process will cause more damage to your reputation and impact team morale due to over utilization. So the next time you think of a brilliant idea that will, in your eyes, add value to the business/project, go ahead with discussions by involving stake holders, program managers or client or committee who are in position and authorized to approve any changes and let the proper process take care of the rest!

8 Must-Have Documents in a Project Manager’s Briefcase

Ok so it’s not the 1980’s and we don’t carry briefcases (unless you work at Wall Street!!) but let’s say there is a shared location on the network where Project Managers can archive and share certain documents with the intended members. What are the documents you are most likely to seed? I compiled a list of essential documents that I deemed necessary to be maintained in an accessible centralized network location by Project Managers as an aid to their project management activities.

  1. Stakeholders Register – This document should contain details of all individuals who are impacted or affected by the project in any capacity and have a stake in the project. It should also state their roles, department, contact information, committee etc.  Certain information such as level of interest, involvement, influence and communication expectations should be shielded from members other than project manager since this information is only for aiding the PM in performing his job efficiently.
  2. List of all team members – This document would state all the members of the project team working on the delivery side. Level of involvement, work packages /tasks assigned, responsibilities, authority and hierarchy should also be included.
  3. Meeting minutes – After conclusion of each meeting there is either a conclusion or a pending state of matters that would need to be documented. The document would basically include the meeting details as well as highlights, outcomes, decisions, concerns, change request, risks etc. that were discussed. It helps stay on track for all the activities that would follow and keeps the attendees on the same page and in agreement. In the event of back tracking by any member it is helpful & easier to go back to the meeting minutes and highlight the notes and action items that were approved.
  4. R.A.I.D Document- This document will have sections for documenting and maintaining risks, assumptions, issues and decisions logged throughout the project lifecycle.
    • Risk Log – This document would contain the detail about the risk, affected components, impact on timeline, level of severity, team member(s) responsible for resolving the risk, action needed, cause of the risk, impacted group, impacted work packages, resolution target date etc. All risks should be numbered uniquely and in the order of discovery and should be referred by that number throughout the project life cycle.
    • Assumptions- This section will list out all the assumptions before the commencement of project and during project execution as you follow through your activities. Every project will have assumption such as availability of required data, estimated disk space for database, availability of required software and things of that nature.
    • Issue log – This section is similar to risk log and would contain list of all the issues numbered uniquely and in order they were received along with the impact of the issue, priority,  affected components, team member(s) responsible for resolving the issue, status indicator, actual reported date, projected completion date, dependencies etc. Entries in the issue log should never be deleted or moved once they are resolved or there is change in status or priority and should have unique id so they can be refereed throughout the project by that id.
    • Decisions- This section documents the decisions taken by any individual authorized in their position to do so, decision details, department/group, date recorded, impacted and affected components.
  5. Detailed Project Schedule – This can be in the form of Gantt chart along with the timelines mapped across various activities. One of the most widely used application is Microsoft Project where in you can list the WBS entries, task name, duration (calculated from the dates), start date, end date, resource name etc. When the cost per effort hour is factored in and added, it helps a Project Manager with budgeting and managing the project P.O.
  6. Team Calendars – This is your team’s calendar where resources will mark their planned vacation, section meetings, training, jury duty, conferences, family/medical leave, flex hours and all corporate holidays. This will help avoid project managers being caught off-guard and especially when your project is on tight schedule and is transitioning into critical activities. It would be detrimental to project delivery if the resources required are not available at right time.
  7. Budget Status Reports – This document would state the breakdown of effort hours booked by your resources, high level project effort hours, translated budget in dollar amount, remaining budget, and burn rate. Budget can also be tracked along with the WBS entries on project schedule document.
  8. Weekly Status Dashboard/report – This deck would contain project status reports like important updates, status color (for ex-green= on track, red= delayed with issues, black=on hold) , work accomplished in previous week, planned activities, important upcoming meetings, milestones, project stage etc. This document can be high level and customized to the need just like any of the above documents.

Spotting a Quality IT Resource

What makes a developer great or stand out among others? Should the focus be solely on their technical skills? To what extent should their other non-technical skills and qualities be factored in?

Project managers know that the success of their projects depend on having excellent developers in their team.  Hiring top notch developers is directly proportional to the success of any project. The next steps revolve around recognizing the right talent and whether the potential candidate would be a good fit in your team.

Conducting interviews involving cross functional team members and assessing the developer’s response to the interview questions is a good start. Theoretical test and mock scenarios helps in gauging their skill sets and interactive practice test could be implemented to validate their technical skills and also of their understanding of the subject in a less technical language. Analyzing their response would help indicate whether their approach and style of work would fit in your culture.

Other pivotal qualities and traits would be assessment of their attitude and desire to perform at a constant high level and delivering the results as per or beyond expectations. The willingness to help and assist while also being able to work independently on per need basis is vital as any work package could either require working within a team or as a sole contributor.

Understanding and being able to seamlessly fit into the desired role and being comfortable & confident with the responsibilities should be a judging factor.

A developer’s sense of desire to grow and contribute with a proactive approach should also be taken into consideration as it allows them to bring new and creative ideas as well as contribute towards potentially bringing in a new line of business. Developers tend to have the highest visibility when it comes to core development work like designing, coding, building components etc. and the developer’s desire to contribute proactively by seeking continuous improvement opens up the door to opportunities for making systems/code better or even propose new initiatives that could make project or project goals better than the planned original.

I have seen numerous times during ongoing project work that an expert developer fueled with a sense of desire in contributing and improving will propose or recommend a different approach, process or design when implemented brings a better value for that particular work product or the end product as a whole.

I am sure there are other vital qualities in an exceptional developer depending on the situation and from a different vantage point of need and desired qualifications. Feel free to leave your thoughts in the comment section below and I will incorporate them into this post if valid.

Myths surrounding Dimensional Models

I came across an interesting article dispelling myths around dimensional models and thought I will discuss them here.

Myth 1: Dimensional models are only for Summary level data – This myth is result of ill-designed or planning a design that caters to only a certain applications requiring a narrow set of query results. Dimensional models should be querable from the lowest grain to the highest possible and therefore should contain full set of data. There is practically no limitations on how much data can be stored in dimensional model tables. Summary level data should complement the granular data but should never be replaced. The amount of data store in dimensional model should be driven by business requirements and processes.

Myth 2: Dimensional models are less enterprise and more departmentalized- The dimensional models should be designed around the business process and the data captured and collected can be further used by different departments in the company. Dimensional models should not be designed separately and solely for a single business unit but should be built to use across different groups within a company. For example, sales data can be stored centrally in a dimensional model but can be further used in different data marts designed & developed for different groups like pricing, promotions, Sales strategy group etc.

Myth 3: Dimensional Models are not scalable – This is completely untrue, dimensional models are extremely scalable.  All the database vendors have incorporated the need to accommodate billions of rows of data. As much as normalized model have large data and relationships they can be translated to dimensional model due to the similarity in logical content.

Myth 4: Dimensional models cannot be integrated – Dimensional attributes are highly reusable and are often used in the ETL process to transform and replicate them into other databases in a desired form. They integrate very well with other databases when used as a centralized location of master data and using ETL feeds to replicate and source the data for different applications.

Is Federal Reserve Private or Government owned?

Recently I had a few friends over and as we talked about the current state of economy and certain policies Feds use for boosting overall growth, an interesting question came up. What is Federal bank? Who owns the bank? Is it private and if so then why do President appoint the chairman?

Let’s understand the structure and working of the internal aspects such as board of governors, chairman’s role and responsibilities, government intervention and regulation, printing of money and distribution. Fed oversees the overall money flow and each bank in US is affiliated with the Fed in terms of lending the money when needed and paying interest on it. Fed system is headed by seven boards of governors from other seven federal banks and a chairman both appointed by the President of United States. The system is strange in regard that while President appoints the governors and chairman, he cannot fire them and nor can chairman fire any of the governors and nor can Congress fire any of them.  The Fed chair is actually not in complete and absolute control of the policies and decisions coming out of the fed committee. He merely persuades and influences others to vote on issues and topics that he thinks needs attention. Federal Reserve has close to 20,000 employees and around $2.3 billion worth of real estate and around $3.7 trillion dollars on their books.

One of the most important job of the chairman is to decide on how much money should circulate in the market. Too much money can cause inflation whereas too little can cause high unemployment. Delicate decisions have to be made depending on the current and future state of economy. Fed might infuse more money in the economy to increase growth and such a scenario is usually turns out positive if the net exports are higher and the net imports are down. This is a very top level assessment but there are many more complicated variables to be considered in an equally complex system.  Chairman cannot alone pull trigger on any decisions but he has to get a majority of votes from the appointed governors. It is interesting to note that only five of the governors can vote at a time and rarely there is a disagreement of more than three votes.

Feds have a strong grip on bank regulation and monetary decisions. Even congress cannot force Fed into any decisions by withholding funding. Since printing money is a job of Federal, its other way around when it comes to Congress. It is the fed who after their operating and administrative expense supplies Congress with the leftover money. So it is safe to say that Congress do not fund Fed but Fed funds Congress. The system is set up in this way due the constitutional decision to not let politics interfere with the monetary policies. For example, when a country is leading to an election any president would like to have low interest rate to boost the economy and help people with lending as well as encourages businesses to lend more and invest more. This might not be as beneficial to the future of the economy as lower interest rates can cause bubbles in in different areas such as housing. The current set up insulates the Federal Reserve to operate through independent & separate decisions from the volatile nature of government policies. Although Congress routinely tries to influences their own agenda in senate hearings.

Fed intervenes heavily during a financial crisis like the 2008 housing bubble crisis when Feds infused various banks with needed fund to stay afloat or by buying the largest insurance firm in the world AIG. When Fed has borrowing needs they swap Federal Reserve Notes for US bond from Treasury.

It is controversial to say Fed is not private yet not managed by government. It is even more controversial to say that the Fed is private. The reason being that government oversees and appoints the chair and governors and fed is answerable to Congress. But the governors are also the CEOs of other private banks which could cause motivation of pushing certain policies beneficial to those banks in particular. Even the shareholders of Fed are 100% private banks. So technically they are owned by these banks. These banker shareholders are paid their operating expenses in addition to the fixed 6% return for profit.  This also means that common people will have to pay for the interest in maintaining certain fixed reserve for every dollar that was lend to a bank. In my opinion this just adds an overhead and benefits those banks in particular. Maybe there is a need for reforms?

Here is the official explanation from the the federal reserve website.

Who owns the Federal Reserve?

The Federal Reserve System fulfills its public mission as an independent entity within government.  It is not “owned” by anyone and is not a private, profit-making institution.

As the nation’s central bank, the Federal Reserve derives its authority from the Congress of the United States. It is considered an independent central bank because its monetary policy decisions do not have to be approved by the President or anyone else in the executive or legislative branches of government, it does not receive funding appropriated by the Congress, and the terms of the members of the Board of Governors span multiple presidential and congressional terms.

However, the Federal Reserve is subject to oversight by the Congress, which often reviews the Federal Reserve’s activities and can alter its responsibilities by statute. Therefore, the Federal Reserve can be more accurately described as “independent within the government” rather than “independent of government.”

The 12 regional Federal Reserve Banks, which were established by the Congress as the operating arms of the nation’s central banking system, are organized similarly to private corporations–possibly leading to some confusion about “ownership.” For example, the Reserve Banks issue shares of stock to member banks. However, owning Reserve Bank stock is quite different from owning stock in a private company. The Reserve Banks are not operated for profit, and ownership of a certain amount of stock is, by law, a condition of membership in the System. The stock may not be sold, traded, or pledged as security for a loan; dividends are, by law, 6 percent per year.

References: http://www.federalreserve.gov/faqs/about_14986.htm

Project Management Essentials – Gathering Requirements for a Project

As a project progresses through the planning phase and once the scope has been defined and documented the requirement gathering phase takes over.  It is a process of defining and documenting stakeholders need for meeting the project goals and final outcome. Requirements gathering not only consist of collecting the specifics of what an end product should look like but also pertain to gathering other vital supplemental information surrounding the end product. This supplemental information guides us and gives a deeper view of any particular requirements. The requirements documentation will contain goals and objectives that go in the requirements traceability matrix, level of service, performance requirements, security, quality requirements and acceptance criteria as well as support and training requirements.

A charter is a good place to start along with the list of stakeholders as it helps figure out and formalize a plan for proper involvement and coordination of requirements gathering activities. There are different ways of extracting the needs, some of which are discussed below.

Interview & Discussion- In interview session can be scheduled with the subject matter experts of stakeholder to ask questions surrounding the project objectives outlined in the charter. The responses would be documented and further follow up sessions would be scheduled on iterative basis until all the requirements are fully collected.

Focus groups and workshops – Sessions can be held with the SMEs or conduct cross functional meetings wherein members of different groups or departments would contribute on helping understand and shape the requirements.

Group decision making techniques include brain storming and voting as well as Delphi technique. Beyond these, questionnaire and surveys can be conducted and the majority of response or similar responses will be further discussed and become part of further conversations and clarifications.

Prototypes – One of the most common techniques I have encountered are creating mock ups or models. Mockups are a great way to convey what the stakeholder is looking for in a product and the final outcomes. Mockups can be a PowerPoint presentation detailing report design and displays the look and feel as well as elements needed in the report along with other business logic.

The requirements traceability matrix is a very important tool that would be used frequently by project managers to track, trace, document and maintain all the information about the requirement as well as information surrounding that requirement. Requirements traceability matrix document is basically an excel sheet with following columns.

Requirement id – Each requirement should have a unique id and this should not be mistaken with row numbers. The id can be numeric and in order but they will never change even if a new requirement is added or deleted from the middle of the list.

Requirement – This is the context containing description of the requirement.

Source – This field will state the person/group from whom the requirement originated.

Business Need – States the need for that particular requirement on why and how it will help build and shape the outcome.

Project Objectives – This describes how the requirement is aligned with the project objectives.

WBS deliverable – Each requirement is translated eventually into one or multiple Work Breakdown Structure entries. This field will state all the WBS and other work product dependencies.

Test Strategy – This field will state how the requirement will be tested for quality control and quality assurance and to ensure that acceptance criteria will be met through the strategy.

Organization – States the group or department who requested the requirement.

Status – Contains the current status of the requirement. This is frequently visited throughout the project and updated as and when a requirement undergoes status change.

Management Theories

What type of manager would you like to be know as? Someone who micro manages or someone who inspires or someone with leadership and command? Managing your team or resources can be a daunting task as the team member’s personalities differs. In my experience I found success while dealing with each resources on a case by case basis by focusing on their personalities, needs and expectations. For instance I have seen a team member completely content with their current job while another member is quite restless and is looking to progress their career on a fast track whereas the third person is partly happy with their current situation and would like to seek more opportunity within or outside of the organization.

There are several known theories managers adopt while working with their team of which few are discussed below.

  1. Expectancy Theory – The employees are often motivated by the positive outcomes and rewards related to exceptional work they did or by performing work that exceeds expectations.
  2. Hygiene Theory – This theory takes into fact how employees feel about their pay, compensation, benefits and work conditions.  Obviously these are some very important criteria that employees consider for being satisfied.
  3. Theory of Needs (McClelland) – The theory assumes that people are motivated either by power, achievement or affiliation and they should be managed accordingly to the category they fall under.
  4. Maslow’s Hierarchy – People climb up the pyramid by fulfilling the lowest level and moving up. The bottommost and the first level is “Physiological” where the basic needs like food, shelter, water are fulfilled. The next level is “Safety” where people feel safe and secure at their work. There is then “Social” level where employees like to be surrounded by people they like and are comfortable to work with. Next is “Esteem” where employees will be admired for their work by their co-workers and accepted as an important part of the team. The last one is “Self-Actualization” where people learn to live their life by their true nature and capabilities and that they will be happy to perform the tasks that they would like to and not what they dislike and is imposed upon them.
  5. Theory Z – This theory takes loyalty into consideration and suggests that job security will mean a higher satisfaction level and desire to contribute in a positive way.
  6. McGregor’s Theory X and Theory Y – Theory X suggests that managers think that all people dislike work and that they should be micromanaged to get desired output. Theory Y suggests that people are self-motivated and that they need minimal supervision and guidance to get their work done.

Project Management Essentials – Developing Project Team

While maintaining a team of resources, in order to maintain quality, health and progress of collective team efforts it is quite vital to engage team building techniques. To the benefit of team members as well as the subsequent project work to be undertaken by them it is of foremost importance to develop project team on a continuous basis. This benefits not just the teams members in lifting their moral, work interest and motivation, but any positive outcome derived from these techniques will also be reflected in the overall quality of end work produced.

  1. Interpersonal Skills- It is essential to use the soft skills like empathy, influence, creativity and group facilitation (ex- agile stand up meetings) to bring cohesion between team members and to be able to work collectively in tandem.
  2. Training – Regular training boosts team member’s confidence in dealing with a particular technology and keeps the on the cutting edge of new skillsets prevailing in the current market. Training also helps in guiding the team to work in the most optimal method that has been tried and tested while following the best standards set by industry veterans.
  3. Team building activities- There are five stages of team development- Forming, Storming, Norming, Performing and Adjourning. Forming is the first stage where new teams are introduced and their skillsets are integrated into the flow of collective executive of their skills. The teams’ quality, attitude, work style is assessed and utilized in the best interest strategically. Storming is where every team member is exposed to the work culture by getting together and figuring out the work process, work responsibilities, individual contribution, their roles and things of that nature. There might be a clash of ideas or principles between new members which should be sorted out in this stage. Norming is where the team is acquainted with each other in terms of their work style, methodologies, interactive capacity and overall degree of comfort in working together. Performing is where the team will start performing at their highest level producing top quality results. Adjourning is when the project end and a team need to be disassembled or rolled on to a new project or a new engagement.
  4. Ground Rules – Expectations in every aspect of work should be clearly outlined and followed. This ensures a proper following of processes and rules as expected by the client.
  5. Co-Location – This helps build rapport between team members and helps with faster execution of project activities without going back and forth as much. This requires the team to be located in the same physical place rather than spread out and separate. This could be a war room or an agile form of project execution.
  6. Recognition and Rewards – This is the most overlooked area which if used efficiently can be very effective for the success of any particular project. Desired behavior should be rewarded and encouraged to maintain certain level of expectations. The reward could be a written gratitude for good work or bonus or advancement in their career.

Project Management Essentials – Techniques for Estimating Activity Durations

Estimating activity duration is often overlooked when it comes to different ways that can be used to reach a better metrics on duration. To more accurately assess how long an activity takes it is necessary to take into consideration the skill-set and capabilities of the activity owner while incorporating different techniques.

Some of the most common scheduling techniques used for estimating activity duration as discussed below.

  1. Analogous Estimating – This technique is also known as “Top Down” estimating. A reference point should be set using similar previous projects that matches best with the activities for which we are running the estimates for.  Adjustments would need to be made for any differences.
  2. Parametric Estimating- Also known as “Rule of Thumb”, this technique takes statistical relationship between historical data and other variables into consideration. For example: If a resource can finish testing 100 lines of code in an hour, it will take 10 hours to test 1000 lines of code.
  3. Three-Point Estimates (PERT – Performance Evaluation & Review Tool) – This is one of the most widely used estimating technique wherein three different points of references in terms of case-based scenarios are established and  calculated according to the formula. The three metrics are established according to the “Most likely”, “Optimistic (best-case)” and “Pessimistic (worst-case)” scenario. PERT = [Optimistic + (4 x Most Likely) + Pessimistic]/6
  4. Reserve Analysis – This technique takes into consideration the uncertainties that could surround the project work. A contingency reserves is added to the schedule in case of any adversities like bad weather, earthquake, political instability, etc.
« Older Entries