Friday 7 September, 2007

.NET Security's Level Of Trust

Recently, I ran into an interesting problem. Its not too big but figuring it out is very frustrating and you hardly find straight forward answers. So, here it is...

PROBLEM:

When I ran my own created installer, which is well tested and works everywhere, I received an exception:

"Unable to create an instance of the type —> Exception has been thrown by the target of an invocation —> That assembly does not allow partially trusted callers."

SOLUTION:

As a Developer:

If you are a developer and don't want your customers to run into this problem, you need to mark your assemblies with the attribute AllowPartiallyTrustedCallersAttribute, the attribute should be declared at the assembly level (usually declared at Assemblyinfo.cs or Assemblyinfo.vb).

C#:
[assembly:AllowPartiallyTrustedCallers]

Visual Basic:
assembly:AllowPartiallyTrustedCallers

This allows partially trusted callers to use your assembly.

As a User:

If you have received an assembly or installer and you are receiving this error, then you need to change .NET security settings of your machine either for this application only or for the complete machine (depends on your requirement :-)).

To provide full trust to the applications running on your machine using .NET, following are the steps (to change security settings of complete machine):

1. Go to Control Panel --> Administrative Tools --> Microsoft .NET Framework 2.0 Configuration.
2. Go to .NET Framework 2.0 Configuration --> My Computer --> Runtime Security Policy.
3. Right click on Runtime Security Policy and click Adjust Security. Security Adjustment Wizard opens.
4. Select “Make changes to this computer”, and click Next.
5. Select My Computer and choose Full Trust, and click Next.
6. Click Finish.

After providing full trust to My Computer, you can then use the application.

Hope that would save some precious time of yours :)

- Mohit

Monday 3 September, 2007

Six Sigma Backed By Business Intelligence

Six Sigma is one of the fastest and best management techniques available today. It is well tried and tested, and has been highly effective and productive for organizations such as General Electric.

Business Intelligence, on the other hand, is making decision making highly effective by providing detailed information in various customized formats available anywhere and anytime. In simple words, it’s making businesses highly intelligent.

Six Sigma’s effectiveness is directly proportional to how much data it interprets, find out flaws and enhancement options by visualizing data in various formats and how it makes it decisions. This is where Business Intelligence can help make it much more effective, result oriented and ensure long-term success of its projects.

Business Intelligence can help Six Sigma in two ways: Before initiating an effort and after it has been initiated.

Phase 1: Before an effort is initiated

Based on current available data of company, customers that it has served and areas to be targeted, Business Intelligence can figure out patterns and practices that have helped organization serve better along with flaws in the processes that were followed. It can also help to figure out customers, distribution areas and requirement levels that can be targeted. Business Intelligence can also analyze Market data so as to present best possible results of analysis.

Six Sigma thrives on this information. Lack of it can highly degrade the performance levels of any business. Six Sigma does not focus on removing errors in individual products, rather than it concentrates on improving root processes so as those errors never occur again. Because of this, gaining an insight on this information is essential. Six Sigma projects do not move ahead without this information and Business Intelligence can significantly help arranging this data in a better and faster manner.

Phase 2: After an effort is initiated

Once the effort begins, Six Sigma starts looking at project specific details. Following is the process that Six Sigma follows to execute a project:

Phase 2.1: Define

Six Sigma now needs to define the best processes for the project that can produce maximum returns and is feasible in terms of budget, resources and time. In doing so, it’s essential to know the customers, processes of the company, capabilities, competitors, current market etc. Business Intelligence can significantly help in gathering and quantifying this information from various data sources. It can also predict the way things would shape up based on the analysis of data of past few years. Business Intelligence can set a level of standard for delivering the products based on customers’ acceptance of previous relative products in markets and customers’ expectations.

Phase 2.2: Measure

Once the requirements are defined, Six Sigma’s next step is to have a measure of all the processes. As Six Sigma thrives on numbers for its survival, measuring turns out to be one of the most crucial steps for it to make the project successful. It aims at performance standards that ultimately help to define customer satisfaction, all in terms of numbers. Business Intelligence can point out what processes carry more importance by taking a deep dive into business performance. It can provide consolidated and accurate data corresponding to metrics and can help figure out noise in the system. Information can also be obtained at several levels of detail, based on the requirement, thus allowing effective decision making.

Phase 2.3: Analyze

In an ongoing effort, it’s pretty much essential to keep analyzing data so as to remove the root causes of defects and move towards improving sigma value. Business Intelligence can help identify defects and its origin by providing variations in data. Variations can be identified at various depths based on data available in similar conditions or looking into historical data over a period. Business Intelligence can also allow prioritization of few things that contributes more towards sigma value, and then keep close track on its number.

Phase 2.4: Improve and Control

After the initial work, Business Intelligence system is already in place to keep measuring and analyzing activities, control them and continuously improve the sigma factor. At this stage, several new techniques and methodologies are introduced to cope up with problems and improve the processes. While it becomes difficult for Six Sigma’s black belts to dynamically handle such processes, because they need to go through a full cycle of defining, measuring, analyzing and implementing them. Business Intelligence systems can gracefully and in a faster way allow such activities to be carried out, by having quick and better access to not just information available prior to start of this initiative but also of current activities that allows better blending of procedures. Better monitoring and communication is an interim part of successful Business Intelligence systems.

Conclusion

While Six Sigma is a proven management methodology, it requires highly dedicated team who needs to put in a lot of effort to make it successful. Business Intelligence can help put this methodology into practice very quickly, efficiently and allow better use of information. Six Sigma manages an initiative well, and Business Intelligence can manage Six Sigma nicely.

Reference

http://www.businessobjects.com/solutions/enterprise_solutions/sixsigma.asp

I felt disappointed when I came to know that this has already been implemented, but this is a great effort and would serve well for businesses in the future.