Friday, 14 August 2009

Chicken Tikka Masala - with yogurt marinated chicken.


Chicken Tikka Masala - with yogurt marinated chicken.

Ingredients:
        Boneless chicken - 1kg. (You may do with bones if you fancy)
        2 hot green chillies
        1 tea spoon coriander seeds( dhaniya)
        1 tea spoon fenugreek seeds
        1+1 tea spoon Turmeric
        1+1 tea spoon 'red chilli' powder
        2+2 table spoon fine grounded masala (mix of spices) - take any 'chicken tikka masala' pack from Tesco.
        2 table spoon oil  - sunflower or olive as you like. Do not use vegetable oil or any other.
       
        2 tea spoon salt
        500g yogurt.
        2 tomatos.
        4 garlic buds (pieces)
Procedure

        [1]
        Marinate chicken in yogurtby mixing 1 tea spoon turmeric, 1 table spoon find grounded masala and                 1 tea spoon red chilli powder. Mix well so that all chicken pieces are immersed in the 'spicy'
        yogurt.
        Leave for min 30 mins.
        [2]
        * Cut the 2 hot green chilles into small pieces.
        * Cut the 2 tomatos into small pieces.
        * cut garlic into small pieces.
        [3]
        * Take a pan.
        * Add 2 tablespoon oil. let it heat a bit may be 2 mins on full gas. (oh yes and switch on gas before this)
        * Add 1 tea spoon fenugreek seeds and 1 tea spoon coriander seeds          
        * Within 4-5 seconds (if oil is really hot) add cut green chillies and cut garlic.
        * Mix for 10 secs or so (again if oil is hot)
        * Add 1 tea spoon turmeric to this and mix for 4-5 secs.
        * Add 2 table spoon fine grounded masala and 1 tea spoon red chillin powder and mix for 5-10 secs.
        * This will not look like a dry mix of spice - lower the gas to medium flame now.
        * Add tomatos and mix really well. Let tomatos kind of melt.
        * Now add the marinated chicken slowly. And mix really well to form a uniform mixture.
        * Increase gas to full and let this boil now for at least 15-20 mins .
                * Occassionally you would need to stir as the mixture may boil and try to come out of pan.
         (You can do this in pressure cooker and you would just need to cook until 3 whistles of cooker)
        * Check now if the chicken is cooked. Use a fork to poke in it and see if it is soft and not like rubber.
        * If chicken is cooked, your curry is ready. Add salt to taste - typically 2 tea spoons for this much mixture.
       
        Eat with rice of bread/nan/chapati etc.


               
       

10 home remedies to avoid swine flu

10 home remedies to avoid swine flu

(Source: Times of India)

Are the rising swine flu casualties giving you jitters? Not sure how you can avoid falling prey to the growing epidemic? First and foremost, there  

is absolutely no need to panic.

Watching television to keep tabs on the progress of H1N1, particularly in the badly affected areas like Pune, is all right. But don't let the hysterical anchors get under your skin and start wearing a mask each time you step out of the house, unless you are visiting a very crowded area. Then too, the mask will protect you only for a specified period.

Without giving in to the swine flu panic and creating a stockpile of Tamiflu and N-95 masks at home and enriching pharma companies, there are a number of other measures you can take to ensure that the virus is not able to get you, irrespective of which part of the world you are in.

It is essential to remember that all kinds of viruses and bacteria can attack you when your immune system is weak, or they can weaken it easily. Hence, building your own defences would be a better, more practical, long-lasting and much more economical idea.

Here are some easy steps you can take to tackle a flu virus of any kind, including swine flu. It is not necessary to follow all the steps at once. You can pick and choose a combination of remedies that suit you best. However, if you are already suffering from flu, these measures can help only up to an extent. And, if you have been infected by H1N1, visiting a hospital and staying in solitary confinement is a must.

1. Have five duly washed leaves of Tulsi (known as Basil in English; medicinal name Ocimum sanctum) everyday in the morning. Tulsi has a large number of therapeutic properties. It keeps throat and lungs clear and helps in infections by way of strengthening your immunity.

2. Giloi (medicinal name Tinospora cordifolia) is a commonly available plant in many areas. Take a one-foot long branch of giloi, add five to six leaves of Tulsi and boil in water for 15-20 minutes or long enough to allow the water to extract its properties. Add black pepper and sendha (salt used during religious fasts), rock or black salt, or Misri (crystalised sugar like lumps to make it sweet) according to taste. Let it cool a bit and drink this kadha (concoction) while still warm. It will work wonders for your immunity. If giloi plant is not available, get processed giloi powder from Hamdard or others, and concoct a similar drink once a day.

3. A small piece of camphor (kapoor) approximately the size of a tablet should be taken once or twice a month. It can be swallowed with water by adults while children can take it along with mashed potatoes or banana because they will find it difficult to have it without any aides. Please remember camphor is not to be taken everyday, but only once each season, or once a month.

4. Those who can take garlic, must have two pods of raw garlic first thing in the morning. To be swallowed daily with lukewarm water. Garlic too strengthens immunity like the earlier measures mentioned.

5. Those not allergic to milk, must take a glass of hot or lukewarm milk every night with a small measure of haldi (turmeric).

6. Aloe vera (gwarpatha) too is a commonly available plant. Its thick and long, cactus-like leaves have an odourless gel. A teaspoon gel taken with water daily can work wonders for not only your skin and joint pains, but also boost immunity.

7. Take homeopathic medicines — Pyrogenium 200 and Inflenzium 200 in particular — five tablets three times a day, or two-three drops three times a day. While these are not specifically targeted at H1N1 either, these work well as preventive against common flu virus.

8. Do Pranayam daily (preferably under guidance if you are already not initiated into it) and go for morning jog/walk regularly to keep your throat and lungs in good condition and body in fine fettle. Even in small measures, it will work wonders for your body's resistance against all such diseases which attack the nose, throat and lungs, besides keeping you fit.

9. Have citrus fruits, particularly Vitamin C rich Amla (Indian gooseberry) juice. Since fresh Amla is not yet available in the market (not for another three to four months), it is not a bad idea to buy packaged Amla juice which is commonly available nowadays.

10. Last but not the least, wash your hands frequently every day with soap and warm water for 15-20 seconds; especially before meals, or each time after touching a surface that you suspect could be contaminated with flu virus such as a door handle or a knob/handle, especially if you have returned from a public place or used public transport. Alcohol-based hand cleaners should be kept handy at all times and used until you can get soap and warm water.

(The author is an avid reader and follower of alternative therapies including spiritual healing, ayurveda, yoga and homeopathy)


Thursday, 13 August 2009

How to calculate 95 Percentile of a set of values in oracle?


How to calculate 95 Percentile of a set of values in oracle?

Oracle provides functions to calculate percentile values in a set of ordered data.

Inverse Percentile Functions
Using the CUME_DIST function, you can find the cumulative distribution
(percentile) of a set of values. However, the inverse operation (finding what value
computes to a certain percentile) is neither easy to do nor efficiently computed. To
overcome this difficulty, the PERCENTILE_CONT and PERCENTILE_DISC functions
were introduced. These can be used both as window reporting functions as well as
normal aggregate functions.
These functions need a sort specification and a parameter that takes a percentile
value between 0 and 1. The sort specification is handled by using an ORDER BY
clause with one expression. When used as a normal aggregate function, it returns a
single value for each ordered set.
PERCENTILE_CONT, which is a continuous function computed by interpolation,
and PERCENTILE_DISC, which is a step function that assumes discrete values. Like
other aggregates, PERCENTILE_CONT and PERCENTILE_DISC operate on a group
of rows in a grouped query, but with the following differences:
_ They require a parameter between 0 and 1 (inclusive). A parameter specified
out of this range will result in error. This parameter should be specified as an
expression that evaluates to a constant.
_ They require a sort specification. This sort specification is an ORDER BY clause
with a single expression. Multiple expressions are not allowed.
Normal Aggregate Syntax
[PERCENTILE_CONT | PERCENTILE_DISC]( constant expression )
WITHIN GROUP ( ORDER BY single order by expression
[ASC|DESC] [NULLS FIRST| NULLS LAST])
Inverse Percentile Example Basis
We use the following query to return the 17 rows of data used in the examples of
this section:
SELECT cust_id, cust_credit_limit, CUME_DIST()
OVER (ORDER BY cust_credit_limit) AS CUME_DIST
FROM customers WHERE cust_city='Marshal';
CUST_ID CUST_CREDIT_LIMIT CUME_DIST
Inverse Percentile Functions
SQL for Analysis and Reporting 21-29
---------- ----------------- ----------
28344 1500 .173913043
8962 1500 .173913043
36651 1500 .173913043
32497 1500 .173913043
15192 3000 .347826087
102077 3000 .347826087
102343 3000 .347826087
8270 3000 .347826087
21380 5000 .52173913
13808 5000 .52173913
101784 5000 .52173913
30420 5000 .52173913
10346 7000 .652173913
31112 7000 .652173913
35266 7000 .652173913
3424 9000 .739130435
100977 9000 .739130435
103066 10000 .782608696
35225 11000 .956521739
14459 11000 .956521739
17268 11000 .956521739
100421 11000 .956521739
41496 15000 1
PERCENTILE_DISC(x) is computed by scanning up the CUME_DIST values in each
group till you find the first one greater than or equal to x, where x is the specified
percentile value. For the example query where PERCENTILE_DISC(0.5), the result
is 5,000, as the following illustrates:
SELECT PERCENTILE_DISC(0.5) WITHIN GROUP
(ORDER BY cust_credit_limit) AS perc_disc, PERCENTILE_CONT(0.5) WITHIN GROUP
(ORDER BY cust_credit_limit) AS perc_cont
FROM customers WHERE cust_city='Marshal';
PERC_DISC PERC_CONT
--------- ---------
5000 5000
The result of PERCENTILE_CONT is computed by linear interpolation between rows
after ordering them. To compute PERCENTILE_CONT(x), we first compute the row
number = RN= (1+x*(n-1)), where n is the number of rows in the group and x is the
specified percentile value. The final result of the aggregate function is computed by
Inverse Percentile Functions
21-30 Oracle Database Data Warehousing Guide
linear interpolation between the values from rows at row numbers CRN =
CEIL(RN) and FRN = FLOOR(RN).
The final result will be: PERCENTILE_CONT(X) = if (CRN = FRN = RN), then
(value of expression from row at RN) else (CRN - RN) * (value of expression for row
at FRN) + (RN -FRN) * (value of expression for row at CRN).
Consider the previous example query, where we compute PERCENTILE_
CONT(0.5). Here n is 17. The row number RN = (1 + 0.5*(n-1))= 9 for both groups.
Putting this into the formula, (FRN=CRN=9), we return the value from row 9 as the
result.
Another example is, if you want to compute PERCENTILE_CONT(0.66). The
computed row number RN=(1 + 0.66*(n-1))= (1 + 0.66*16)= 11.67. PERCENTILE_
CONT(0.66) = (12-11.67)*(value of row 11)+(11.67-11)*(value of row 12). These results
are:
SELECT PERCENTILE_DISC(0.66) WITHIN GROUP
(ORDER BY cust_credit_limit) AS perc_disc, PERCENTILE_CONT(0.66) WITHIN GROUP
(ORDER BY cust_credit_limit) AS perc_cont
FROM customers WHERE cust_city='Marshal';
PERC_DISC PERC_CONT
---------- ----------
9000 8040
Inverse percentile aggregate functions can appear in the HAVING clause of a query
like other existing aggregate functions.
As Reporting Aggregates
You can also use the aggregate functions PERCENTILE_CONT, PERCENTILE_DISC
as reporting aggregate functions. When used as reporting aggregate functions, the
syntax is similar to those of other reporting aggregates.
[PERCENTILE_CONT | PERCENTILE_DISC](constant expression)
WITHIN GROUP ( ORDER BY single order by expression
[ASC|DESC] [NULLS FIRST| NULLS LAST])
OVER ( [PARTITION BY value expression [,...]] )
This query computes the same thing (median credit limit for customers in this result
set, but reports the result for every row in the result set, as shown in the following
output:
SELECT cust_id, cust_credit_limit, PERCENTILE_DISC(0.5) WITHIN GROUP
(ORDER BY cust_credit_limit) OVER () AS perc_disc,
Inverse Percentile Functions
SQL for Analysis and Reporting 21-31
PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY cust_credit_limit)
OVER () AS perc_cont
FROM customers WHERE cust_city='Marshal';
CUST_ID CUST_CREDIT_LIMIT PERC_DISC PERC_CONT
---------- ----------------- ---------- ----------
28344 1500 5000 5000
8962 1500 5000 5000
36651 1500 5000 5000
32497 1500 5000 5000
15192 3000 5000 5000
102077 3000 5000 5000
102343 3000 5000 5000
8270 3000 5000 5000
21380 5000 5000 5000
13808 5000 5000 5000
101784 5000 5000 5000
30420 5000 5000 5000
10346 7000 5000 5000
31112 7000 5000 5000
35266 7000 5000 5000
3424 9000 5000 5000
100977 9000 5000 5000
103066 10000 5000 5000
35225 11000 5000 5000
14459 11000 5000 5000
17268 11000 5000 5000
100421 11000 5000 5000
41496 15000 5000 5000
Inverse Percentile Restrictions
For PERCENTILE_DISC, the expression in the ORDER BY clause can be of any data
type that you can sort (numeric, string, date, and so on). However, the expression in
the ORDER BY clause must be a numeric or datetime type (including intervals)
because linear interpolation is used to evaluate PERCENTILE_CONT. If the
expression is of type DATE, the interpolated result is rounded to the smallest unit
for the type. For a DATE type, the interpolated value will be rounded to the nearest
second, for interval types to the nearest second (INTERVAL DAY TO SECOND) or to
the month(INTERVAL YEAR TO MONTH).
Like other aggregates, the inverse percentile functions ignore NULLs in evaluating
the result. For example, when you want to find the median value in a set, Oracle
Database ignores the NULLs and finds the median among the non-null values. You
Hypothetical Rank and Distribution Functions
21-32 Oracle Database Data Warehousing Guide
can use the NULLS FIRST/NULLS LAST option in the ORDER BY clause, but they
will be ignored as NULLs are ignored.

Reference: Oracle Datawarehousing Guide

Friday, 7 August 2009

BI 2.0: Is it really next generation?

We live in real time, minute by minute. News is no longer delayed by days; it is streamed in real time. We bank online and check our real-time balances. We book flights with real-time visibility of seat availability, and we select the seat we want online in real time. All these transactions generate data - lots of data.

To allow us to adapt our business models to today's real-time world, software applications are now built using event-driven technologies. Data moves around in real time over service-oriented architectures (SOAs), using loosely coupled and highly interoperable services that promote standardized application integration.

Yet business intelligence (BI) today has not changed in concept since the invention of the relational database and the SQL query - until the advent of BI 2.0.

BI 2.0 is a term that encapsulates several important new concepts about the way that we use and exploit information in businesses, organizations and government. The term is also intrinsically linked with real-time and event-driven BI but is really about the application of these technologies to business processes.

At the heart of this architecture are events, specifically XML messages. Ultimately, most modern processes themselves are actioned by events. Consequently, when you think about how to add intelligence to modern processes, the humble SQL query looks far from ideal.

The traditional data warehouse has enabled significant advances in our use of information, but its underlying architectural approach is now being questioned. Its architecture limits our ability to optimize every business process by embedding BI capabilities within. We need to look to event-driven, continuous in-process analytics to replace batch-driven reporting on processes after the fact.

In short, how can we build smarter business processes that give our organizations competitive advantage? How can we build the intelligent business?

The Client/Server Legacy

The BI tools most organizations use today were designed to solve a problem that arose in the early 1990s with the spread of the relational database. As more information was stored in databases, simply extracting it became a chore for IT departments because most users weren't interested in becoming experts in writing SQL queries. Getting the data out of databases truly became an end in itself and drove the rise of BI as we know it. Consequently, BI tools today focus on the presentation of data.

As it turns out, though, extracting data that is hours or days old and publishing it into reports, while useful, doesn't provide clear guidance on what users should do right now to improve business performance. As a result, at many companies, BI users don't even review the reports that are sent to them - they relegate them to reference documents. This is often expressed by users who complain that the information arrives too late to be really useful.

Strikingly, this is the antithesis of the real-time, actionable intelligence that many organizations need to provide the quality of service customers demand. At the most basic, such information is a day late and a dollar short in most industries. In retail, for example, three to four percent of potential revenue is foregone due to items not being adequately stocked all the time. The store manager is sent a stock report, but this arrives the next morning, after the close of business and too late to replenish the shelves.

Faster data warehouse queries or prettier dashboard reports — the focus of BI system improvements until now — clearly do not begin to solve the problem because they do not get to the heart of the architectural issue. It is undeniably the case that by the time data has been entered into the data warehouse and then extracted, it is out of date. This isn't a problem for some applications, but it is terminal for those that must run off real-time or near real-time knowledge.

A common misconception is that real-time data isn't needed because there is no way that operations teams could analyze it. This is applying BI 1.0 thinking; simply delivering more reports faster doesn't solve the problem. What's needed is a way to put relevant insight into the hands of operations staff in time to make a difference to day-to-day operations.

Reports are not the optimal deliverable of BI systems. Reports need analyzing and interpreting before any decisions can be made, and there is evidence that users don't look at them until they already know they have a problem. Rather than reporting on the effectiveness of a process after the fact, BI should be used within the process as a way of routing workflow automatically, based on what a customer is doing. In order to do this, you have to not only capture data in real time, but you need to analyze and interpret it as well.

This is essentially event-driven BI - analyzing up-to-the-minute data in the context of historic information - so that actions can be initiated automatically. The data warehouse isn't good at this. Perhaps it is simply being asked to support functions it was not designed to handle.

BI Services Arrive

Over the past few years, companies have started to present their data warehouses as Web services for use by other applications and processes connected by SOA or middleware such as an enterprise service bus (ESB). A fundamental limitation to this approach is that the data warehouse is the wrong place to look for intelligence about the performance of a current process. Real-time process state data, so relevant to this in-process intelligence, is unlikely to be in the data warehouse anyway.

Even layering a BI dashboard onto the data warehouse is inadequate for many operational tasks because they rely on a user noticing a problem based on out-of-date data. Dashboards aggregate and average. They remove details and context and present only a view of the past. Decisions require detail and need to be made in the present.

It's clear that data warehouses will remain, but their role can be clarified as the system of record, as opposed to the only place that BI is done. Reporting and presentation of historical data will continue to be done here - it was designed for that. Given the challenges associated with trying to move to a real-time data warehouse, however, it is clear that information required to support and indeed drive daily operational decisions must come from a different approach to avoid the latency introduced through the extract, transform, load and query cycle.

The Vision for BI 2.0

If the goal of BI 2.0 is to reduce latency - to cut the time between when an event occurs and when an action is taken - in order to improve business performance, existing BI architectures will struggle.

With BI 2.0, data isn't stored in a database or extracted for analysis; BI 2.0 uses event-stream processing. As the name implies, this approach processes streams of events in memory, either in parallel with actual business processes or as a process step itself.

Typically, this means looking for scenarios of events, such as patterns and combinations of events in succession, which are significant for the business problem at hand. The outputs of these systems are usually real-time metrics and alerts and the initiation of immediate actions in other applications. The effect is that analysis processes are automated and don't rely on human action, but can call for human action where it is required.

BI 2.0 gets data directly from middleware, the natural place to turn for real-time data. Standard middleware can easily create streams of events for analysis, which is performed in memory. When these real-time events are compared to past performance, problems and opportunities can be readily and automatically identified.

Intelligent Processes

In order to make a difference to the bottom line, businesses need to make processes smarter. This means either building outstanding ability into automated processes, or providing operations staff with actionable information and changing the day-to-day standard operating procedure to drive data-driven processes. The solution is to leverage the messaging technologies underpinning transactional systems, business process management and SOA, and event-driven real-time BI technologies. These fit together very naturally; you can think of real-time BI as analysis services in an SOA world.

BI 2.0 needs to work with both well-defined processes and less-defined areas. Many processes can't be modeled and explicitly defined using business process management. In fact, the majority of processes today aren't modeled but rather are less explicitly defined. Business users often can't describe their processes accurately enough, and yet operational processes still need intelligence.

BI 2.0 is driven by this need for intelligent processes and has the following characteristics:

Event driven. Automated processes are driven by events; therefore, it is implicit that in order to create smarter processes, businesses need to be able to analyze and interpret events. This means analyzing data, event by event, either in parallel with the business process or as an implicit process step.

Real time. This is essential in an event-driven world. Without it, it is hard to build in BI capabilities as a process step and nearly impossible to automate actions. By comparison, batch processes are informational - they report on the effectiveness of a process but cannot be part of the process itself unless time is not critical. Any application that involves trading, dynamic pricing, demand sensing, security, risk, fraud, replenishment or any form of interaction with a customer is a time-critical process and requires real-time processing.

Automate analysis. In order to automate day-to-day operational decision-making, organizations need to be able to do more than simply present data on a dashboard or in a report. The challenge is turning real-time data into something actionable. In short, businesses need to be able to automatically interpret data, dynamically, in real time. What this means in practice is the ability to compare each individual event with what would normally be expected based on past or predicted future performance. BI 2.0 products, therefore, must understand what normal looks like at both individual and aggregate levels and be able to compare individual events to this automatically.

Forward looking. Understanding the impact of any given event on an organization needs to be forward looking. For example, questions such as "Will my shipment arrive on time?" and "Is the system going to break today?" require forward-looking interpretations. This capability adds immediate value to operations teams that have a rolling, forward-looking perspective of what their performance is likely to be at the end of the day, week or month.

Process oriented. To be embedded within a process in order to make the process inherently smarter requires that BI 2.0 products be process-oriented. This doesn't mean that the process has been modeled with a business process management tool. Actions can be optimized based on the outcome of a particular process, but the process itself may or may not be explicitly defined.

Scalable. Scalability is naturally a cornerstone of BI 2.0 because it is based on event-driven architectures. This is critical because event streams can be unpredictable and occur in very high volumes. For example, a retailer may want to build a demand-sensing application to track the sales of every top-selling item for every store. The retailer may have 30,000 unique items being sold in 1,000 stores, creating 30 million store/item combinations that need tracking and may be selling 10 million items per day. Dealing with this scale is run of the mill for BI 2.0. In fact, this scalability itself enables new classes of applications that would never have been possible using traditional BI applications.

Real-Time, Event-Driven BI

BI 2.0 represents both a bold new vision and a fundamental shift in the way businesses can use information. It extends the definition of BI beyond the traditional data warehouse and query tools to include dynamic in-process and automated decision-making.

In the past, organizations have been forced to rely on out-of-date information and to attempt to fix problems long after they occur. BI 2.0 changes that because it allows BI capabilities to be built into processes themselves - in short, it lets companies create smarter processes.

When BI steps up to identifying problems and initiating corrective actions, not just presenting data, it has definitely evolved. It is ever closer to providing really useful information that can make a difference to the bottom line. Isn't this what BI was supposed to be all along?

Monday, 3 August 2009

Top 5 Trends in BI in 2009


Top 5 trends in Business Intelligence for 2009


Trend #1: Complex Event

Processing (CEP) comes of age


The first generation of successful enterprise data
warehouses uncovered new insights and led to
innovative ways to improve business. These systems are
optimized for one-time queries on mostly static data
captured in the data warehouse long after the event
that generated it has occurred. The paradigm is longlived
data, short-lived queries.
CEP, a logical follow-on from business activity
monitoring (BAM), enables analysis of data streams
and linking of seemingly unrelated events in a
meaningful way. Instead of storing data and having
the execution of a query as the catalyst for results, a
continuous query system effectively "stores" the queries
and new results are initiated by the arrival of new
data, generating real-time insight and/or triggering
appropriate action. (The new paradigm is long-lived
queries, short-lived data).
CEP has heretofore been conspicuously missing from
the mainstream BI arena, necessitating stovepipe CEP
implementations that are only loosely integrated with
organizations' existing visualization, reporting,
dashboarding, information modeling, metadata, and
other BI infrastructure components. We are seeing
indications of that changing as leading BI vendors
partner with and acquire CEP engine providers, and
as BI users incorporate CEP in growing numbers.


Trend #2: Convergence of structured

and unstructured data

This has been a topic of interest for years, but it is
coming up in more conversations with current and
prospective customers than ever before. In the HP
2009 survey, 60% of respondents indicated that they
have an identified need to analyze unstructured data
as part of their BI systems, with over half of those either
doing the unstructured data analysis today, or
developing the capability.
As retailers strive to be more customer-centric, and
healthcare organizations strive to efficiently improve
and manage patient care, and financial institutions
strive to better detect risk and fraud threats, they will hit
limitations by not including unstructured data in the
ever-increasing analysis.
Using only structured data as a proxy for "what is
happening" and making an inference from that,
without correlating with available unstructured data,
can lead to very wrong decisions. For example, coded
diagnoses targeted for the payer often do not indicate
what's really wrong with a patient. Analysis of cancer
case reimbursements might indicate that more money
should be put into brain cancer research because of its
prevalence. But, if any cancer metastasizes to the
brain, it's often coded as brain cancer because of the
greater likelihood of reimbursement. Patient file notes
would indicate the true diagnosis.
Another common business driver is to mine call center
service logs and e-mail together to better understand
customers, for early problem detection and to discern
actual cause of problems.

Trend #3: The line is blurring

between data warehouse,

operational data store (ODS) and

operational systems

Initially, users expected ERP systems to provide needed
reporting. When these systems couldn't meet
requirements due to backlog and overload, users
turned to the data warehouse. Traditional BI satisfies
most strategic reporting and analysis, but not real-time
operational reporting with its associated needs for
high-volume real-time data updates, high availability
needs and high throughput rate of operational queries.
Operational reporting has high overhead and often
ties up the data warehouse, preventing other analytics
from running.
We are seeing operational reporting as a top business
initiative, and increasing interest in the use of a data
provisioning platform as companies need to extend the
data warehouse to more operational use. The platform
needs to go beyond the capabilities of an ODS,
providing operational reporting, data cleansing,
metadata management and data warehouse staging.
Such a data hub enables agility and new applications,
while preserving and enhancing the existing data
warehouse structure, and does it in a much more
efficient and cost-effective manner than using disparate
independent data marts. A hub that connects to
existing enterprise service buses (ESBs) and allows
architectural flexibility, including federation for remote
data, reflects the changing nature of the business while
allowing centralized control over data quality and
data access privileges.
The result is the ability to do operational BI which
involves embedding and automating analytics in a
process so that a person — or another process — can
act on generated information in real time, making
decisions and taking action in the context of a
business process.


Trend #4: Data integration focus

gaining new momentum

Many BI systems in place today were built for strategic
decisions, the sweet spot of traditional BI. Analysis is
done by a small number of people, over a period of
time, allowing for analysts to manually cleanse and
reconcile data from multiple disparate sources, and to
ensure that business rules are applied appropriately
and consistently. Many organizations would like to
increase their intelligence by giving more employees
access to these analytic tools, and applying them to
operational decisions. But it's more than a matter of
increasing capacity for data volumes and query
throughput, and giving the users simpler tools. The
limitation of first generation BI systems is not simply
their inability to handle large volumes of data and
users, but their lack of data integration rigor, including
data cleansing, MDM, and metadata management.
Operational analysis does not afford the time for
manual oversight to ensure proper quality,
reconciliation and classification of the source data,
which may have to be served to applications or
processes where the decisions are then made.
Organizations intent on leveraging their data and
expanding their analytic capability are recognizing the
value of an underlying infrastructure which provides
well-integrated, high quality data to applications,
processes and people.
According to Gartner, "Contemporary pressures are
leading to an increased investment in data integration
in all industries and geographic regions."6 In addition,
"recent focus on cost control has made data integration
tools a surprising priority as organizations realize the
'people' commitment for implementing and supporting
custom-coded or semi-manual data integration
approaches is no longer reasonable."7 The weak
economy will drive M&A in many industries, resulting in
a further need to integrate disparate data to get a
single view of the business, supporting continued
demand for MDM. And financial regulations are likely
to increase. Transparency needed for regulatory
compliance requires a consistent and complete view of
the data which represents the performance and
operation of the business.
In addition to early implementations, we are now also
seeing the results of more recent data warehouse
modernization and data mart consolidation projects
that were undertaken to cut costs, improve performance
and provide more headroom. Where the approach was
to move existing data structures to a new platform to
meet those immediate goals without addressing the
fundamental data integration issues, organizations are
left with the same unwieldy data structure as before,
preventing them from expanding the use of the data
warehouse to meet additional business needs.
Organizations are realizing the need for an overall
enterprise information management (EIM) strategy in
order to leverage data as a corporate asset, to apply
advanced analytics that will help them achieve a
discipline of fact-based decision making, and eliminate
the wastefulness of different teams using different tools
with little consistency and lots of overlap and
redundancy. They are also seeing that data integration
is a critical component of an overall EIM strategy.
Inconsistent meanings create barriers to reliable
analytics. As the boundaries between application
domains like CRM, ERP and product lifecycle
management continue to erode, there is a growing
need to create an enterprise-wide information strategy
to ensure semantic consistency for all users,
applications and services.

----
A7 Gartner, "Magic Quadrant for Data Integration Tools," by Ted Friedman,
Mark A. Beyer, Andreas Bitterer, 22 September 2008.
----

Trend #5: Analytics moves to the

front office — More sophistication in

the hands of business users

Companies are looking to apply advanced analytics to
ERP, CRM and supply chain management systems in
order to achieve strategic competitive differentiation.
The traditional approach to analytics has been to hire
modelers with PhDs who spend three months
developing a model, up to a few dozen or a few
hundred per year. The modeling runs offline to do
customer segmentation, for example. Capturing this
sophistication in tools that can be used by business
managers enables the development and use of not
hundreds, but thousands of models, with a much
shorter time to market. This approach makes it possible
for someone who doesn't know what a neural network
is, to use one, as mainstream capability.
There is an Internet influence on interfaces as well.
Instead of pulling data from multiple sources and
building an analysis cube, the user will go to a portal
and request data elements. Provisioning will be
automated rather than manual, assuming that a data
integration infrastructure has been put in place.

Monday, 13 July 2009

Nilu Fule - gele


Noted Marathi stage and films actor Nilu Fule dies of cancer at the age of 80 this morning. He acted in total 130 films and many theatre shows.
He was an all rounder in terms of acting and personally I was a fan of the man for his own special style. Salute.

Adding a New Node to an Oracle RAC Cluster


Contents

1.        Introduction:         PAGEREF _Toc190769674 \h 2

2.        Preparing Access to the New Node         PAGEREF _Toc190769675 \h 2
2.1        Create the operating system user and group on the new node         PAGEREF _Toc190769676 \h 2
2.2        Configuring the Secure Shell         PAGEREF _Toc190769677 \h 2

3.        Clone the Oracle Clusterware Home Directory         PAGEREF _Toc190769678 \h 5

4.        Clone the Automatic Storage Management Home Directory         PAGEREF _Toc190769679 \h 6

5.        Clone Oracle Software Home Directory         PAGEREF _Toc190769680 \h 6

6.        Creating a Listener on the New Node         PAGEREF _Toc190769681 \h 7

7.        Create a new cluster instance on the new node         PAGEREF _Toc190769682 \h 8

8.        Conclusions         PAGEREF _Toc190769683 \h 9



 

1.        Introduction:
This process describes how to add a new node to an existing Oracle Real Application Clusters (Oracle RAC) environment.

2.        Preparing Access to the New Node
The following steps needs be followed to prepare the node before it is added to the cluster:

2.1        Create the operating system user and group on the new node
When installing Oracle RAC on UNIX and Linux platforms, the software is installed on one node, and OUI uses the Secure Shell (SSH) to copy the software binary files to the other cluster nodes.

a)        If this is the first time Oracle software is being installed on the new node and the dba group does not exist, then create the dba group as follows:



-        Login as root user
-        # /usr/sbin/groupadd dba


b)        If the user that owns the Oracle software does not exist on the new node then create the user as follows:


# useradd -u <UID> –g dba -d <Home>  -r oracle

Set the password for the oracle account using the following command. The password should be same as the other nodes.

# passwd oracle

Note: The UID should be same as the UID of oracle from any existing node.

c) Verify that the attributes of the user oracle are identical on all the existing nodes:

# id oracle

2.2        Configuring the Secure Shell
a)        Log in to the new node as the oracle user
b)        Determine if a .ssh directory exists in the oracle user's home directory. If not, create the .ssh directory and set the directory permission so that only the oracle user has access to the directory, as shown here:


$ ls -a $HOME
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh








c)        Create the RSA-type public and private encryption keys on the new node as follows:


$/usr/bin/ssh-keygen -t rsa

At the prompts:

        Accept the default location for the key file by pressing the Enter key.
        When prompted for a pass phrase, enter and confirm a pass phrase that is different from the oracle user's password.


This command creates the public key in the /home/oracle/.ssh/id_rsa.pub file and the private key in the /home/oracle/.ssh/id_rsa file.

d)        Create the DSA type public and private keys on the new node as follows:


$ /usr/bin/ssh-keygen -t dsa

At the prompts:

        Accept the default location for the key file by pressing the Enter key.
        When prompted for a pass phrase, enter and confirm a pass phrase that is different from the oracle user's password.


This command creates the public key in the /home/oracle/.ssh/id_dsa.pub file and the private key in the /home/oracle/.ssh/id_dsa file.

e)        Add the Keys to an Authorized Key File


Use Secure Copy (SCP) or Secure FTP (SFTP) to copy the authorized_keys file to the oracle user .ssh directory from any existing cluster node. The following example uses SCP to copy the authorized_keys file to the new node from an existing node.

        Log on to an existing node as oracle user


        $scp ~/.ssh/authorized_keys <New Node>:<oracle user HOME>/.ssh/


You are prompted to accept an RSA or DSA key. Enter yes, and you see that the node you are copying to is added to the known_hosts file.

When prompted, provide the password for the oracle user, which should be the same on all the nodes in the cluster (Note: this is the user password, not the newly specified passphrase). The authorized_keys file is then copied to the remote node.

        Log on to the new node as oracle user where you copied the authorized_keys file. Then change to the .ssh directory, and using the cat command, add the RSA and DSA keys for the new node to authorized_keys file as follows:


$ cat id_rsa.pub  >> authorized_keys
$ cat id_dsa.pub  >> authorized_keys

        Use SCP to copy the authorized_keys file from the new node to all the other existing cluster nodes, overwriting the existing version.


$scp ~/.ssh/authorized_keys <Existing Node>:<oracle user HOME>/.ssh/

        From the new node complete the SSH configuration by using the ssh command to retrieve the date on each node in the cluster.


$ ssh <Existing Node> date

The first time you use SSH to connect to one node from another node, you see a message similar to the following:

The authenticity of host 'docrac1(143.46.43.100) can't be established. RSA key fingerprint is 7z:ez:e7:f6:f4:f2:d1:a6:f7:4e:zz:me:a7:48:ae:f6:7e. Are you sure you want to continue connecting (yes/no)? yes
Enter yes at the prompt to continue. You should not see this message again when you connect to this node to the other node. If you see any other messages or text, apart from the date, then the installation can fail.

        Add the public and private node names for the new node to the /etc/hosts file on the existing nodes


        Verify that the new node can be accessed (using the ping command) from the existing nodes


        Run the following command on any existing node to verify that the new node has been properly configured:


$ cluvfy stage -pre crsinst -n <New Node Name>

3.        Clone the Oracle Clusterware Home Directory
Use Oracle Universal Installer (OUI) to add an Oracle Clusterware home to the new node being added to the Oracle RAC cluster.

        Go to the <Cluster Home>/oui/bin directory of an existing node and run the addNode.sh script.



$ cd <Cluster Home>/oui/bin
$ ./addNode.sh

        OUI starts and first displays the Welcome window.


Click Next.

The Specify Cluster Nodes to Add to Installation window appears.

        Select the new node or nodes that you want to add. click Next.
        Verify the entries that OUI displays on the Summary Page and click Next.
        Run the rootaddNode.sh script from the <Cluster Home>/install/ directory on the existing node when prompted to do so.


Basically, this script adds the node applications of the new node to the OCR configuration.
        Run the orainstRoot.sh script on the new node which is being added if OUI prompts you to do so.
        Run the <Cluster Home>/root.sh script on the new node to start Oracle Clusterware on the new node.


        Add the new node's Oracle Notification Services (ONS) configuration information to the shared Oracle Cluster Registry (OCR).


-        Obtain the ONS port identifier used by the new node, by running the following command from the <Cluster Home>/opmn/conf directory on an existing node node:


$cat ons.config

-        After you locate the ONS port number for the new node, you must make sure that the ONS on existing nodes can communicate with the ONS on the new node.


From the <Cluster Home>/bin directory on an existing node, run the Oracle Notification Services configuration utility as shown below, where remote_port is the port number obtained from previous step:

$ ./racgons add_config <New Node>:remote_port

        At the end of the cloning process, you should have Oracle Clusterware running on the new node. To verify the installation of Oracle Clusterware on the new node, you can run the following command as the root user on the newly configured node:


$CRS_home/bin/cluvfy stage -post crsinst -n docrac3 –verbose

4.        Clone the Automatic Storage Management Home Directory
Use Oracle Universal Installer (OUI) to add ASM home to the new node being added to the Oracle RAC cluster.

        Go to the $ASM_HOME/oui/bin directory on an existing node and run the addNode.sh script.



        When OUI displays the Node Selection window, select the new node to be added then click Next.


        Verify the entries that OUI displays on the Summary window, then click Next.


        Run the root.sh script on the new node, from the ASM home directory on that node when OUI prompts you to do so.


You now have a copy of the ASM software on the new node.

5.        Clone Oracle Software Home Directory
Use Oracle Universal Installer (OUI) to add Oracle Software home to the new node being added to the Oracle RAC cluster.

        Go to the $ORACLE_HOME/oui/bin directory on an existing node and run the addNode.sh script.



        When OUI displays the Specify Cluster Nodes to Add to Installation window, select the node to be added, then click Next.


        Verify the entries that OUI displays in the Cluster Node Addition Summary window, then click Next.


        Run the root.sh script on the new node, from the $ORACLE_HOME directory on that node when OUI prompts you to do so.


After completing these steps, you should have an installed Oracle RAC home on the new node.

6.        Creating a Listener on the New Node
To service database instance connection requests on the new node, you must create a Listener on that node. Use the Oracle Net Configuration Assistant (NETCA) to create a Listener on the new node. Before beginning this procedure, ensure that your existing nodes have the $ORACLE_HOME environment variable set correctly.

        Start the Oracle Net Configuration Assistant by entering netca at the system prompt from the $ORACLE_HOME/bin directory.



        Select Listener configuration, and click Next.


        NETCA displays the Listener Configuration, Listener window.


        Select Add to create a new Listener, then click Next.


        NETCA displays the Listener Configuration, Listener Name window.


        Accept the default value of LISTENER for the Listener name by clicking Next.


        NETCA displays the Listener Configuration, Select Protocols window.


        Choose TCP and move it to the Selected Protocols area, then click Next.


        NETCA displays the Listener Configuration, TCP/IP Protocol window.


        Choose Use the standard port number of 1521, then click Next.


        NETCA displays the Real Application Clusters window.


        Select Cluster configuration for the type of configuration to perform, then click Next.


        NETCA displays the Real Application Clusters, Active Nodes window.


        Select the name of the node you are adding, then click Next.


        NETCA creates a Listener using the configuration information provided. You can now exit NETCA.



You should now have a Listener named LISTENER running on the new node.

7.        Create a new cluster instance on the new node
        Start DBCA by entering dbca at the system prompt from the $ORACLE_HOME/bin directory.



        Select Oracle Real Application Clusters database, and then click Next.


DBCA displays the Operations window.

        Select Instance Management, and then click Next.


DBCA displays the Instance Management window.

        Select Add an Instance, then click Next.


DBCA displays the List of Cluster Databases window, which shows the databases and their current status, such as ACTIVE or INACTIVE.

        In the List of Cluster Databases window, select the active Oracle RAC database to which you want to add an instance. Enter the user name and password for the database user that has SYSDBA privileges. Click Next.


DBCA will spend a few minutes performing tasks in the background, then it will display the Instance naming and node selection window.

        In the Instance naming and node selection window, enter the instance name in the field at the top of this window if the default instance name provided by DBCA does not match your existing instance naming scheme.


Click Next to accept the instance name

DBCA displays the Instance Storage window.

        In the Instance Storage window, you have the option of changing the default storage options and file locations for the new database instance. In this example, you accept all the default values and click Finish.


DBCA displays the Summary window.

        Review the information in the Summary window, then click OK to start the database instance addition operation. DBCA displays a progress dialog box showing DBCA performing the instance addition operation.


        During the instance addition operation, if you are using ASM for your cluster database storage, DBCA detects the need for a new ASM instance on the new node.


When DBCA displays a dialog box, asking if you want to ASM to be extended, click Yes.

After DBCA extends ASM on the new node and completes the instance addition operation, DBCA displays a dialog box asking whether or not you want to perform another operation. Click No to exit DBCA.

8.        Conclusions
You should now have a new cluster database instance and ASM instance running on the new node. After you terminate your DBCA session, you should run the following command to verify the administrative privileges on the new node and obtain detailed information about these privileges:

$ <Cluster Home>/bin/cluvfy comp admprv -o db_config -d oracle_home -n <New Node Name> -verbose

Converting date from local time zone to GMT, BST


I just thought I should add some technical bits to my blog that could be helpful to people trying to find some quick help. Here is one.

--*1*--
Oracle functions to transpose time between different time zones to GMT.

Oracle provides a number of functions to transpose between the different time zones to GMT. You need and need to store 'Olson' code to convert from the required time zone.

Please note when using these functions if the country area is used e.g. 'Europe\London' then this will also convert to BST (if we have entered day light savings). However if the 'GMT' code is used then this will always be set to GMT.

SELECT
-- Show timestamp as if in 'Europe/London'
CAST ('01-JAN-2009 09:00:01.01' AS TIMESTAMP) at time zone 'Europe/London' as A,
-- Show timestamp as if in 'Turkey'
CAST ('01-JAN-2009 09:00:01.01' AS TIMESTAMP) at time zone 'Turkey' as B,
-- Take timestamp from 'Europe/London' and show as 'Europe/London'
FROM_TZ(CAST('01-JAN-2009 09:00:01.01' AS TIMESTAMP), 'Europe/London' )  AT TIME ZONE 'Europe/London' as C,
-- Take timestamp from 'Turkey' and show as 'Europe/London'
FROM_TZ(CAST('01-JAN-2009 09:00:01.01' AS TIMESTAMP), 'Turkey' )  AT TIME ZONE 'Europe/London' as D,
-- Take timestamp from 'Europe/London' and show as 'Turkey' remove Timezone
CAST (FROM_TZ(CAST ('01-JAN-2009 09:00:01.01' AS TIMESTAMP), 'Europe/London' )  AT TIME ZONE 'Turkey' AS TIMESTAMP) as E,
-- Take timestamp from 'Turkey'
FROM_TZ(CAST('01-JAN-2009 09:00:01.01' AS TIMESTAMP), 'Turkey' ) as F,
-- Show offset for 'EST'
tz_offset('EST') as G,
-- Show offset for 'Turkey'
tz_offset('Turkey') as H
FROM
DUAL

A list of the time zone names can be retrieved from the Oracle view V$TIMEZONE_NAMES

--***--

Sunday, 13 July 2008

A COMPARISON OF PRINCE2 AGAINST PMBOK

Introduction

This comparison takes each part of the PMBOK and gives an opinion on what match there is with elements of the PRINCE2 method. It can be used in any discussion of the level of compatibility between two approaches, or can be used to identify where additional material is required to be added or changed to training in one or the other in order to cover both approaches.

The PMBOK is divided into 4 sections; the Project Management framework, the Project Management knowledge areas, Appendices and a glossary and index. The first two sections are sub-divided into chapters. Section III has 7 appendices and section IV is broken into glossary and index.

Section I The Project Management Framework

Chapter 1 Introduction

Chapter 2 The Project Management Context

Chapter 3 Project Management Processes

Section II The Project Management Knowledge Areas

Chapter 4 Project Integration Management

Chapter 5 Project Scope Management

Chapter 6 Project Time Management

Chapter 7 Project Cost Management

Chapter 8 Project Quality Management

Chapter 9 Project Human Resource Management

Chapter 10 Project Communications Management

Chapter 11 Project Risk Management

Chapter 12 Project Procurement Management

Section III Appendices

Appendix A The Project Management Institute Standards-Setting Process

Appendix B Evolution of PMI’s ‘A guide to the Project Management Body of Knowledge

Appendix C Contributors and Reviewers of PMBOK

Appendix D Notes

Appendix E Application Area Extensions

Appendix F Additional Sources of Information on Project Management

Appendix G Summary of Project Management Knowledge Areas.

Each of these will be summarised and assessed against PRINCE2.


Summary

Overall Compatibility.

There is a high level of compatibility between the two standards as one would expect. It is our view that the adoption of PRINCE2 would enhance the implementation of the PMBOK standards by providing greater depth and structure to the establishment of project environments, and by providing a more rigorous approach to the setting up, running and closing down of individual projects. Also the adoption of the PMBOK to a PRINCE2 based organisation will help to identify the additional areas which need to be addressed in order to give projects the best chance of success, such as the soft skills needed. Below are some specific points regarding PRINCE2 and PMBOK.

PRINCE2 specific strengths.

There is no equivalent PMBOK pre-project process to PRINCE2’s ‘Starting up a Project’ (SU), so there is no discussion of what or who should be in place at the beginning of a project, nor of how to go about getting it if it is lacking.

PRINCE2 offers a complete change control approach, whereas PMBOK just talks of the need for it.

PMBOK says little about configuration management, and certainly offers no link between it, the Configuration Librarian role and change control.

The PMBOK only talks about a Project Plan, whereas PRINCE2 offers Stage and Team Plans and discusses the advantages of breaking the Project Plan down, e.g. for easier planning and better control.

PRINCE2 offers standard roles for its project management team.

The PMBOK only covers the creation of a WBS, and does not compare to the PRINCE2 Product-based Planning technique in terms of the latter’s Product Descriptions and Product Flow Diagram. Nor is there any real detail in the PMBOK Planning process to take a plan through to a network plan and a Gantt or bar chart.

The Product Description is far more positive about what information should be provided to the producer of a product. The PMBOK offers only vague advice.

PMBOK specific strengths.

The PMBOK covers procurement.

The PMBOK covers the actual procurement, pre-assignment or negotiation for team members for a project in some detail.

The PMBOK identifies needs to be covered in human resource management, and soft skills in general.

Section I The Project Management Framework


Summary

PRINCE2

Comments

Ch1 Introduction


No clash with PRINCE2

PMBOK goes into more detail about its overlap with other management areas, whereas PRINCE2 simply says ‘we don’t try to re-invent the wheel’

Purpose of the Guide

This says that the purpose is to identify and describe that subset of the PMBOK that is generally accepted, i.e. has widespread consensus about their value and usefulness. There is no indication of what else is in PMBOK outside the subset. It also aims to provide a common lexicon of project management terms.

No contention with PRINCE2.


What is a project?

A general and familiar description of a project’s characteristics

No contention with PRINCE2.


What is Project Management?

After a general description there is a reference to the 12 chapters of the guide in sections I and II.

No contention with PRINCE2. The 12 chapters are discussed in greater detail later in the comparison


Relationship to other Management Disciplines

This touches very briefly on areas where there is overlap between PMBOK and General Management (e.g. planning, staffing law, logistics) and Application Area Knowledge (e.g. software development, government contracting, marketing)

PRINCE2 specifically avoids most of these overlaps.


Related Endeavours

This is mainly a discussion of the relationship of projects to programs and sub-projects

No contention with PRINCE2. PMBOK sub-projects relate to Work Packages and the typical division of work between the Project Manager and a team.


Ch 2 The Project Management Context




Project Phases and the Project Life Cycle

Discussion of phases linked to decision points to review key deliverables and project performance to date. Several examples are given of Representative Project Life Cycles.

PRINCE2 uses the word ‘stage’ rather than ‘phase’ but same concept. PMBOK makes the same distinction between project and product life cycles as PRINCE2. The examples of life cycles are what PRINCE2 would call ‘technical stages’, but these may well match PRINCE2 management stages in the examples given.


Project Stakeholders

This defines the term ‘stakeholder’ and gives examples of who they might be. It makes the point that stakeholders may have different objectives

No major difference to PRINCE2, although PMBOK includes the Project Manager and team members as stakeholders, whereas the interpretation in PRINCE2 stays at a higher level and gives examples of stakeholders outside the project management team.


Organizational Influences

This discusses the possible impact of the overall organisation within which the project operates. Several organisational structures are described.

PRINCE2 has the same approach but doesn’t go into it in the detail of examples that PMBOK does

PMBOK briefly discusses two organisational cultures and how a project might benefit from or clash with its organisation’s culture.

Key General Management Skills

This describes key general skills that a Project Manager needs, including Leading, Communicating, Negotiating, Problem Solving and Influencing the Organisation

PRINCE2 does not attempt to cover these skills.

The PMBOK simply describes in brief terms what each of the skills is, without offering any approach to them or relating them to the PMBOK aspects where they will be useful.

Social-Economic-Environmental Influences

This simply says that a Project Manager must be aware of current conditions and trends in Standards & Regulations, Internationalization, Cultural Influences and Socio-Economic-Environmental Sustainability

PRINCE2 does not cover these topics

PMBOK says nothing about when or how to handle the influences, just gives examples of what they might be

Ch3 Project Management Processes

This talks of the interactive impact of changes and tradeoffs



Project Processes

This is a brief mention that a project is composed of processes, to be expanded in chapters 4 – 12.

No contention with PRINCE2. The PMBOK terms of ‘project management processes’ and ‘product-oriented processes’ relate to PRINCE2’s concept of management and technical stages.


Process Groups

PMBOK talks of 5 groups of one or more processes each; initiating, planning, executing, controlling and closing.

These relate to the PRINCE2 processes plus some of the Components, such as Plans and Controls, and the linkages between them.

The PRINCE2 processes are more clearly separated for understanding and the 8 processes provide more detail than the 5 PMBOK groups

Process Interactions

This takes the 5 process groups and describes them in terms of their inputs, outputs tools and techniques.

PMBOK also has a process for Team Development.

The Controlling process group covers change control, performance reporting, quality control, risk monitoring and control. An unusual process in this group is Scope Verification, described as ‘formalizing acceptance of the project scope.’

The Closing process group covers Contract Closeout and Administrative Closure.

PRINCE2 provides the inputs and outputs and also shows where Components and Techniques are used in the processes. The two Planning processes are very similar, and there are similar links between Planning and the Management of Risk.

The PMBOK Executing processes contain several elements that refer to procurement, such as solicitation, source selection and contract administration

PRINCE2 does not cover Team Development

The Controlling process group’s work is covered by the CS and MP processes.

The Closing process is very similar to the CP process.

PMBOK talks of initiating a project or a phase. This equates to PRINCE2’s initiation stage/process and Managing Stage Boundaries.

Whilst procurement may be part of many projects, not all projects will want a method so specifically linked to procurement.

‘Scope Verification’ in PRINCE2 would be part of the initiation process, which correctly places it at the outset of a project, less confusing than the PMBOK’s placement of it.

Customizing Process Interactions

A simple explanation that the standard processes should be tailored for a project’s needs.

No contention with PRINCE2.


Mapping of Project Management Processes

A matrix is given, mapping the 39 project management processes of the 5 process groups to the 9 project management knowledge areas

This is similar to mapping PRINCE2 processes to the components and techniques

No major difference, although here again we see Solicitation, Source Selection and Contract Administration coming in.

Section II The Project Management Knowledge Areas


Summary

PRINCE2

Comments

Ch 4 Project Integration Management

This covers the processes required to ensure coordination of the various project elements, specifically plan development and execution plus change control



Project Plan Development

There is a general discussion on creating a Project Plan and using Earned Value Management, although no detail is given here about it.

This is very similar to the Planning process, although PMBOK mentions a WBS, rather than Product Breakdown Structure.

There is no mention in PMBOK at this time of Stage or Team Plans, nor any detail of how to create the plan, just what it should contain

PMBOK talks of many subsidiary management plans, such as scope management plan, quality management plan, communications management plan, risk response plan. Many of these are covered in other sections of the PID

Project Plan Execution

This takes the approach that a project is managed against the Project Plan on a day-to-day basis. Work authorisation and status review meetings are mentioned.

There is only a brief mention of change requests and gathering information on work results

PRINCE2 goes down to Stage and Team Plan level for day-to-day execution. Work Packages match work authorisation, but far more detail is given of the content of the WP and the interface with Team Managers. PRINCE2 has Checkpoint meetings but specifically suggests that the Project Board manage by exception and receive Highlight Reports instead of holding review meetings, except for end stage assessments.

The PRINCE2 CS2/3/4 processes give far more detail about gathering progress information, capturing and examining change requests.

PMBOK is vague here, stays at a high level of plan for day-to-day control, and still has regular progress meetings without separating Project Board from these.

Integrated Change Control

This provides an overview to change control and configuration management. No detail, no method of how to do it is offered.

PRINCE2 offers a detailed change control approach and far more detail on configuration management


Ch 5 Project Scope Management

This covers the scoping of a project or phase and controlling any changes to that scope.

PRINCE2 covers scoping in both the PID and Work Package

The PMBOK states that this chapter will cover the tools and techniques required, but the only one covered in any detail is the WBS, and there is no effort to continue from that planning point into the other techniques needed to actually produce a plan

Initiation

Initiation is taken as the initiation of a project or the authorisation to continue into the next phase. It mentions tools and techniques, such as project selection methods, benefit measurement methods mathematical methods and expert judgement – no specific method is offered, just a list of possible sources.

The output is a Project Charter.

PRINCE2 tackles this in three areas, project initiation, Managing Stage Boundaries and Directing a Project. Project selection methods equate to the PRINCE2 Project Approach, benefit measurement would be found in the PRINCE2 Business Case and the list of those offering expert judgement would be available to any pm method. The PID equates to the Project Charter, but is wider in scope, e.g. identifying the whole project management team, not just the Project Manager, including the Project Plan, Business Case, risk evaluation and controls.

PMBOK talks of a Product Description as input to initiation, but this is not the same as a PRINCE2 Product Description. It covers the product characteristics, the relationship between the product and the business need, and the ‘form and substance’ of the product description may vary.

Scope planning

This covers the ‘progressive elaboration’ of project scope. The inputs are the Product Description, the Project Charter and the initial definition of constraints and assumptions. The outputs are the Scope Statement and Scope Management Plan. The latter describes how scope change will be managed and includes an assessment of the expected stability of the project (how likely to change, how frequently and how much)

PRINCE2 has this as part of the PID, being Problem Definition. The management of scope change is dealt with in PRINCE2 by change control, whose method is described as part of the Project Quality Plan in the PID. In PRINCE2 an assessment during initiation of the volume of change expected leads to consideration of a Change Authority and Change Budget.

It seems odd that this comes after the Project Charter, whereas PRINCE2 makes it part of the information needed before authorising the project. One of the tools mentioned by the PMBOK is benefit/cost analysis, although there is no specific output of a Business Case. PMBOK does not enlarge upon the scope management plan to discuss what to do if the assessment shows a large volume of expected changes.

Scope definition

This is the subdivision of the major project deliverables into smaller, more manageable components. The outputs are work breakdown structures. PMBOK offers three example templates covering an aircraft system, a software product release and a wastewater treatment plan. The process stops at ‘decide if adequate cost and duration estimates can be developed at this level of detail for each deliverable.’

This equates to part of the PRINCE2 Product-based Planning technique, the Product Breakdown Structure, without the quality aspect of writing Product Descriptions or the transfer of the products into a Product Flow Diagram. The Planning process contains much more detail in taking the Product Breakdown Structure through the Product Flow Diagram, estimating, scheduling, risk assessment and writing a narrative.

When describing other types of WBS, PMBOK refers to a PBS, meaning a Project Breakdown Structure, as being ‘fundamentally the same as a properly done WBS’.

Scope verification

This is described as ‘the process of obtaining formal acceptance of the project scope by the stakeholders’. It refers to the acceptance of the work results, i.e. occurs at the end of a project, rather than agreement at the end of initiation on what is to be done

This is dealt with in more depth by the CP and DP5 processes. PMBOK only has formal acceptance as an output.

There is no mention in the PMBOK process of an End Project Report or a Post Project Review Plan.

Scope change control

This is a very high level view of the need for change control, agreeing and managing scope change.

PRINCE2 has both a change control component, a change control technique, processes (CS3 and CS4) to capture and analyse change requests and a series of processes to obtain decisions on changes and manage their implementation (CS5, CS8, Exception Report, DP4, SB6, Exception Plan and DP3 – Project Board decision on a revised plan)

Both methods include noting lessons learned from changes and setting a new baseline.

Ch 6 Project Time Management

This covers the development of the project time schedule

PL2 (drawing a Product Flow Diagram), PL3 (Activities and Dependencies), PL4 (Estimating) and PL5 (Scheduling) cover this.


Activity Definition

Identifying and documenting the specific activities required to produce the deliverables shown in the WBS. Part of the activity list should be descriptions of each activity to ensure that the project team members will understand how the work is to be done.

Covered by the second step of PL2 and the first part of process PL3. The activity description equates to a Product Description without offering a disciplined structure for it.


Activity Sequencing

The identification and documentation of interactivity logical relationships. This suggests network planning as a tool.

Covered by the last step of PL2 (drawing a Product Flow Diagram) and the second half of process PL3. PRINCE2 also suggests network planning software tools.


Activity Duration Estimating

Estimating both the work periods required to complete an activity and the elapsed time.

This is covered by PL4

PMBOK gives an overview of four methods of estimating, but not enough to be able to use them.

Schedule Development

The iterative process of determining start and finish dates

Covered by PL5

PMBOK has the risk management plan as input, but does not consider updating risks as a result of planning

Schedule Control

a) Influencing the factors that create schedule changes to ensure that changes are agreed upon (b) determining that the schedule has changed and (c) managing the actual changes when and as they occur. It includes performance measurement, i.e. tracking plan changes that occur for other reasons than change requests.

Covered in greater detail in the change control approach, processes such as CS2/3/4/5/7 and 8, and products such as Project Issues and Exception Reports and Plans.

Both methods include updating Lessons Learned.

Ch 7 Project Cost Management

This includes the processes required to ensure that the project is completed within the approved budget. The first three steps are part of the planning process. The last process covers controlling changes to the project budget and is almost a mirror image of 6.5 Schedule Control, looking at cost instead of time.

PRINCE2 sees the first three as a minor part of PL5, Scheduling. The final part, Cost Control, is handled by the PRINCE2 approach to change control and the CS processes, as described against Schedule Control.

PMBOK goes into more detail than PRINCE2 in most of this area with the exception of handling tolerances, a topic that PRINCE2 covers in much more detail in the Controls component, SB/DP3 (agreement with the Project Board on stage tolerances) and CS5/7 and 8.

Resource Planning

This covers determining what physical resources should be used.

PRINCE2 sees this as part of PL5, Scheduling


Cost Estimating

This covers the estimate of the costs of the resources needed to complete project activities. One output is a cost management plan, stating how cost variances will be managed.

PRINCE2 covers this very briefly, but does not separate this from the other aspects of Scheduling.

Cost variances are dealt with as part of tolerances and their control, and this area is dealt with more thoroughly by PRINCE2.


Cost Budgeting

This covers the allocation of the overall cost estimates to individual work packages

Again this is part of PL5, Scheduling.


Cost Control

Watching for the impact on cost of proposed change requests and other reasons for plan slippage. The process refers to Earned Value Management as a tool for measuring project performance.

Covered by CS2, Assessing Progress, CS4, Examining Project Issues and the escalation process.

PRINCE2 does not include EVM or any other tool for performance management, but works happily with any such tools used. Both methods mention updating Lessons Learned.

The process mentions that processes should be developed for the closing or cancelling of projects. PRINCE2 provides such procedures.

Ch 8 Project Quality Management

This includes the processes required to ensure that the project will satisfy the needs for which it was undertaken. This covers the quality policy, objectives, responsibilities, quality assurance, quality control and quality improvement within the quality system. The chapter is intended to be compatible with ISO 9000, TQM and Continuous Improvement


Both methods recognise customer expectations, prevention over inspection and management responsibility.

Quality Planning

This involves identifying what quality standards are relevant to the project and determining how to satisfy them. The main output is a quality management plan.

This is fully covered in PL1, Planning Quality. PRINCE2 also offers a process, SU4, where the customer’s quality expectations are sought and recorded. The Project Quality Plan is the equivalent of the quality management plan.

PMBOK does not formalise the customer’s quality expectations

Quality Assurance

PMBOK uses the phrase to cover ‘all the planned and systematic activities implemented within the quality system to provide confidence that the project will satisfy the relevant quality standards.’ It covers reviews of quality results and audits of the other quality management activities.

PRINCE2 separates the organisation-wide quality assurance role – setting and monitoring the use of standards – from aspects of the Project Assurance role, the planning of resources for quality work and monitoring the results for a single project. PRINCE2 offers a quality file for all quality documents, which can be used for quality audits.

PRINCE2 accepts that there may be audits from an organisation-wide quality assurance group, independent of the project, but also offers a role for this group as part of Project Assurance.

Quality Control

This involves monitoring specific project results to determine if they comply with relevant quality standards.

PRINCE2 covers the need in products and techniques such as the Quality Log and quality reviews

Both cover the quality of products and project management. PMBOK does include a description of Pareto diagrams

Ch 9 Project Human Resources Management

PMBOK makes reference to such human factor skills as leading, delegating, team building and performance appraisal without going into detail or recommending any specific methods.

PRINCE2 does not cover this aspect.


Organizational Planning

This covers identifying, documenting and assigning project roles, responsibilities and reporting relationships

PRINCE2 covers this in SU2 and SU3, designing and appointing the project management team. PRINCE2 also offers a project management organisation structure with standard descriptions for each role to be tailored for each specific project, compared to PMBOK’s discussion of an organisation chart

PRINCE2 covers the area in far more detail and is more specific about the roles that should be considered. PMBOK says that roles may be assigned to individuals or groups.

Staff Acquisition

This covers negotiation, pre-assignment and procurement of resources.

PRINCE2 does not cover this.


Team Development

This considers team building, personal training, reward and recognition systems.

PRINCE2 does not cover this

PMBOK mentions the importance of these things and then points the reader to ‘a substantial body of literature’ on the topic as opposed to detailing how they are to be achieved.

Ch 10 Project Communications Management

This covers the timely and appropriate generation, collection, dissemination, storage and ultimate disposition of project information.

PRINCE2 describes the products, offers Product Descriptions of them and the processes where each type of communication is generated and used.


Communications Planning

This involves determining the information and communications needs of the stakeholders.

This is covered by the Communication Plan, part of the PID.

Both methods link communications to the organisational structure.

Information Distribution

This covers the implementation of the communications management plan as well s responding to unexpected requests for information.

The implementation is embedded in the relevant processes, such as reporting highlights, preparing end stage reports. The Project Issue procedure covers any unexpected requests for information.


Performance Reporting

This involves the collection and dissemination of performance information, plus the maintenance of the data in an organised fashion.

This is covered in such processes as CS2, Assessing Progress, and CS6 Reporting Highlights. PRINCE2 offers a filing structure in which to keep the information.

PMBOK describes the Earned Value Analysis technique.

Administrative Closure

This covers the documentation of results to formalise acceptance of the product and the archiving of project records.

This is fully covered in the CP process, Closing a Project. PRINCE2 is more specific about what the documents should be and what they should contain.


Ch 11 Project Risk Management

The systematic process of identifying, analysing and responding to project risk.

The Management of Risk component fully covers this.

PRINCE2 can work equally well with the risk approach that it describes or any other risk management method

Risk Management Planning

This covers deciding how to approach and plan the risk management activities for a project.

PRINCE2 assumes that the same approach to the management of risk will be used on all projects.

One thing covered in the PMBOK is risk budgeting. The new version of PRINCE2 will include this and the use of risk tolerance, also mentioned briefly in the PMBOK.

Risk Identification

Determining which risks might affect the project and documenting their characteristics. It discusses techniques such as brainstorming and Delphi.

Covered by the Management of Risk component.


Qualitative Risk Analysis

Assessing the impact and likelihood of identified risks

Covered as above. PRINCE2 offers the Risk Log to assist in monitoring risks.


Quantitative Risk Analysis

The numerical analysis of the probability and impact of a risk. Sensitivity and decision tree analysis are briefly described

PRINCE2 suggests high, medium and low scoring, but is equally at home with a scoring system. No analysis techniques are discussed.

PMBOK goes into more detail in identifying realistic cost, schedule or scope targets.

Risk Response Planning

This covers the development of options to counteract risks, including the assignment to individuals to take responsibility for each agreed risk response.

The consideration of options is covered in Evaluation. PRINCE2 discusses the balance of the impact of the risk occurring against the impact of taking the possible risk actions. PRINCE2 covers the assignment of risk actions as part of risk management. PMBOK talks of a Risk Register, PRINCE2 uses the term Risk Log.

Both methods offer the same types of risk action and mention the appointment of risk owners. There is a description of residual risks and secondary risks in the PMBOK, not covered in PRINCE2.

Risk Monitoring & Control

Keeping track of identified risks and identifying new ones, ensuring the execution of plans and evaluating their effectiveness in reducing risk.

Covered in the four steps of risk management; planning, resourcing, monitoring and control. PRINCE2 also links these to the points in the various processes where they occur.


Ch 12 Project Procurement Management

This covers the processes to acquire goods from outside the customer organisation.

Most of this is not covered. PRINCE2 regards this as a specialist activity, rather than a generic part of project management.


Procurement Planning

This is the process of identifying which project needs can be best met by procuring products or services outside the project organisation. It includes an overview of make-or-buy analysis and contract type selection

This would be part of defining the Project Approach in ‘Starting up a Project’, although PRINCE2 keeps this at a high level.


Solicitation Planning

This covers the preparation of documents needed in order to approach prospective suppliers, including evaluation criteria.

Not covered


Solicitation

This covers the obtaining of bids and other responses from prospective suppliers, including any qualified seller lists, bidder conferences and advertising

Not covered.


Source Selection

This covers from the receipt of bids and the application of the evaluation criteria to the selection of a provider, including contract negotiation

Not covered


Contract Administration

This is the process of ensuring that the seller’s performance meets contractual requirements

PRINCE2 covers all aspects of this; the planning interfaces between Project Manager and Team Manager of Work Packages and Team Plans, performance reporting (Checkpoint Reports), quality control (the Quality Log) and change control, except for the payment system, although payments can be linked to product approval or end stage assessments.


Contract Closeout

This is similar to administrative closure, described earlier. It involves both product verification and the updating of records and their archiving

As PRINCE2 considers procurement is a specialist activity, it does not cover this as such. But all its requirements are covered by the CP, Closing a Project, and DP5, Confirming Project Closure, processes.


Section III Appendices

A. The Project management Institute Standards Setting Process

This defines what the PMI standard documents are, the handling of the development of original works and adoption of non-original work as standards.

These are PMBOK-specific and do not concern PRINCE2.


B. Evolution of PMI’s ‘A Guide to the Project Management Body of Knowledge’

A history of the evolution of the PMBOK plus lists of the standards committee, contributors, reviewers and production staff.



C. Contributors and Reviewers of PMBOK Guide 2000 Edition

This lists the contributors and reviewers of the current edition.



D. Notes

Where applicable this lists the sources of information used in the various chapters, such as The American Heritage Dictionary of the English Language.



E. Application Area Extensions

An Application Extension Area is where there are generally accepted knowledge and practices for a category of projects in one application area that are not generally accepted across the full range of project types. The Appendix covers the need for these, criteria for their development, the publication and format of them and the process for development and maintenance of them. No examples are given.



F. Additional Sources of Information on Project Management

This lists a number of professional and technical organisations, some commercial publishers, a reference pointer to a website for The PMI Registered Education Provider Program and a very vague mention that many educational institutions offer project management education.



G. Summary of Project Management Knowledge Areas

This is a summary of the topics of sections I and II.



Glossary


This holds:

A description of the glossary inclusions and exclusions;

A list of common acronyms;

Definitions of project management terms

PRINCE2 terminology is not included, except where both use a common term.


******** Compiled from PMBOK and Prince2 material. *******************