Powered By Blogger

Wednesday, July 13, 2016

Project Management Office (PMO)

Introduction

When organizations grow, they establish different entities for governing respective practices.
The Project Management Office (PMO) is the entity created for governing the processes, practices, tools and other activities related to project management in an organization.
This office (team) defines and maintains the standards for project management in the organization.
Usually, the management of the organization assigns a team of experts in the field of project management in order to run the project management office.
The organization looks for qualifications such as PMI certifications and extensive experience is managing large projects when selecting people for the project management office.

Building a Project Management Office

Due to the complexity of present projects, the project management function should be a matured and streamlined practice.
Therefore, organizations look for better ways of managing the projects in order to maximize the profit margins. For this, organizations look into process optimization, productivity enhancement and building their bottom-line.
Since there are many parameters involved in the project management function (such as people, technology, communication and resources), governing the project management function by the senior management can be risky.
Therefore, a project management office is the ideal solution for building and maintaining the project management practice as a capable function of the organization.
Implementing a project management office is as same as any other organizational change project. Therefore, it is approached with a strong and rigid methodology with a lot of experience.
There are a number of key steps involved in building a project management office and PMBOK (Project Management Body of Knowledge) can be a great reference for this purpose.

Is It an Overhead?

Some traditional organizations view the project management office as an overhead. This is mainly due to the fact that the organization is small enough where there is no explicit need for a project management office.
In such organizations, the general management can govern project management practice. For the rest of the organizations where there are large projects, a project management office is a lot more than an overhead.
At present, the world economy is at a recession. Therefore, a lot of companies look at cutting costs in order to retain in the corporate environment.
Among the ways of doing this, cutting down staff and closing down departments have become two popular options. In such cases, project management office has become an easy victim, as it does not add any figure to the bottom-line of the company.
Therefore, it has become a challenge for the project management offices to justify their work to the upper management.

The Advantages of an PMO

Project management is one of the key functions of an organization. Therefore, refining the processes related to project management could add a lot of value to the organization's bottom-line.
This is what exactly a successful project management office does.

Why Does PMO Fail?

Based on the historical statistics, only one-third of project management offices work and the rest do not work as expected.
This is one of the main concerns that senior management faces when deciding to build a project management office for an organization. The management is doubtful about the success of the project management office from the beginning.
One of the main reasons for project management office to fail is the lack of executive management support. In most cases, the executive management does not have enough knowledge on how to support and guide a project management office.
Secondly, incapability of the project management office causes failures. This is mainly due to the people and resources assigned to the project management office.

Conclusion

Project management office is one of the entities that will add value to large organizations in the long run. A project management office could be an overhead for smaller scale organizations and such establishment may end up as a failure.
A successful project management office can enhance the productivity of the project teams and cause a lot of cost savings. In addition to that, it can make the organization a more matured and capable entity.

Thursday, October 31, 2013

System Acceptance Testing

Its not like the integration testing where data flow one module to another one But System acceptance Testing test the complete end to end test cases and scenarios, exactly how the customer use the for System

Example for System Acceptance testing is to as follows  : Test Case for this phase is Open login screen and test the login functionality and then Login into the banking or any other application,Then Check Current Balance or any other functionality, Then transfer money to any other account or for billing, and finally Logout

Functional and non-functional requirements both are tested during system testing. Under Non-functional testing tester test performance, reliability of software. And for non functional tester test the design and look up of software properly on different -2 browsers and resolutions.

Acceptance testing is commonly done by the customer on his system or in live mode. All found bugs collected in this testing and fixed accordingly.

Main aim to test the acceptance testing is to confirm that provided requirement by the client is fulfill or not. This is the main point where Tester focuses during Acceptance testing. Tester make sure after fulfilling the all requirement software is working fine and giving correct and expected result or not.

There are Two Types of Acceptance Testing,Which are as follows

Alpha Testing :Alpha testing is the final testing done on the development server by the testers.
Final testing mean now software/website is ready upload on production. When developers are near to finish their development work then this testing start and completed with all possible bug or bug free. If there are bugs then developers does more work otherwise it produced for general public.


Beta Testing : Beta testing is also the part of system acceptance testing and performed by the client or customer on production server. Client test the produced product in live mode. Finally this is also the Acceptance testing performed by the multiple customers or we can say that live customers in the customer environment or on production.

Integration Testing, Definition of Integration Testing

As it name suggest Integration which mean integrate the modules or units together and then perform the testing for all modules together in a flow of data. This is called integration testing. Integration testing mean combined all the units of software together and execute the test cases on them to confirm that after integration of them they are working fine without any issues or error We can call it String Testing and also the Thread Testing

Requirement of Integration Testing  :
In starting developer done the work/code for units or modules. Then after they combined the units and sent the modules or project for testing. So to confirm that units are integrated properly and integrated module is working properly and showing correct result, so this is the need of integration testing

Test Cases for Integration Testing :
Integration test cases are the different to another test case. Like we have module for login, add record and view record. Here first test cases will be created for login unit then add record page and then view record page. Like a flow of data need to be tested, is it in correct way and in correct and proper direction.

Strategies of Integration Testing : There are mainly there are two types of integration testing

Big Bang Strategy: In this strategy all units are combined at once and tested at once

Incremental Strategy It is also divided into more three parts
   Top down strategy:Start integration from top to down and as well as testing.  
   Bottom Up Strategy :start integration from bottom to top and as well as testing.
   Sandwich Strategy :This is combination of above both strategies. Mean combination of top down strategy and bottom up strategy

Process of Integration Testing
First Create or develop the Integration Test Plans
Design the test cases, scenarios and steps for integrations testing
Executing the test cases, finding bug and create report and reporting to developers
Regression and Retesting the bugs

Follow the Step iii and iv till the all bug are not fix and project become the issue free

Unit Testing:

What is unit Testing?
Unit testing is the first step of testing. In this testing, tester tests the individual unit of any software or programmer. This testing generally performed by developer to test the bunch of specific code or function

Objective or Importance of Unit Testing
Main objective or importance of unit testing is to save time and money as this testing performed during development phase by developer. Developers do this testing during coding so that further  process of coding can progress properly without any error or mistake

Building Test Cases for Unit Testing
Generally unit testing performed by automated testing. But some times we performed manually testing for any unit. To check the functionality of any new developed unit user can apply break point in code and run in debug form with the help of special key.

Tools for Unit Testing
Rational Software
Java script Assertion Unit
CUT is test tool with a Fee unit
Dot unit is a Freeware unit testing tool of .net framework, Its a part of junit

Benefits of Unit Testing:
1 Programmers can learn with the help of unit testing as they have to understand the functionality of unit testing and its code, and how it is working.
2 Accuracy: Developers have to confirm that developed code is working fine or not. He will check it and map with old code if there is any error in code
3 Time Saver: Unit testing is time saver, developers can do this testing without  waiting any testing member and complete work on it

Limitation of Unit Testing:
1 Independent code  If code is independent the unit testing is possible otherwise it is not possible

2 . Limitation: Unit testing is related to any specific unit and tester can not catch the error related to integration module