The Art and Science of IT Project Planning

Software projects face a unique set of challenges when it comes to scope estimating and this is especially true for new software developments. Research has found that poor cost and schedule estimates are much more detrimental to software projects than any other problem. Typically, estimates are based on historical project information and/or expert opinion, which can be more of an art than a science. The author, William Roetzheim, suggests a more systematic approach to planning estimates for new software projects using research-based techniques.

Based on his experience with software projects, Roetzheim suggests companies take an approach similar to that found in the PMBOK when it comes to life cycle cost estimating accuracies. Initial estimations should be within +/- 50% of the actual cost and the budget should continue to be refined as the project’s requirements are more fully understood.

Screen Shot 2015-08-02 at 3.47.37 PM

The first step to estimate scope is to determine metric used as a measure of scope. In software there are numerous options, but the most common is the number of source lines of code (SLOC), which is the number lines of code written by humans and is usually given as thousands of SLOC (KSLOC).

To determine the number SLOC, you can use one of two options: the direct estimating approach and the function points (FPs) with backfiring approach. Using the direct estimating approach, you break the project down into modules and use multiple expert opinions to estimate the number SLOC’s per module. This is called a Program Evaluating and Reviewing Technique (PERT) calculation and is done by obtaining optimistic, pessimistic, and most likely values. The most likely value is weighted times 4 and the mean and standard deviation are calculated and used to create an estimate with a high level of accuracy.

The FPs with backfiring approach uses the estimate of the number of logical internal tables and external inputs, outputs, interface files, and queries to estimate the number of ways the program must interact with the users. Then you multiply the raw data by its FP conversation factor to fund the number of FPs.

Screen Shot 2015-08-02 at 4.43.29 PM

Then using backfiring you convert the FPs to SLOC using the function point for the applicable language.

Screen Shot 2015-08-02 at 4.43.43 PM

Once you have estimated the number of KSLOC, you take that number and multiply it by the effort required per KSLOC to find the estimate for the project. Researchers have come up with estimates for the effort required per KSLOC based upon different project types. For smaller projects, you would multiply the number of KSLOC by the productivity factor of the applicable project time to find the number of person-months the project requires.

Screen Shot 2015-08-02 at 4.11.04 PM

Since research has found that large projects tend to be less productive due to increased time spent communicating and coordinating, you must apply a penalty factor to the above calculation for larger projects. The calculation for the larger project would then = Productivity Factor * KSLOC^Penalty Factor.

Screen Shot 2015-08-02 at 4.11.15 PM

The author argues that the calculation above will deliver a reliable person-months estimate feeds into the project’s schedule and budget and that it should continue to be managed as the project moves forward in its lifecycle.

While the author’s presents his methods for estimating scope for a software project, he does make any recommendations on how to utilize them. If your company conducts software projects, does it use SLOC when estimating? Is there a specific process used to calculate time requirements and how does it compare to the process suggested by the author?

Roetzheim, W. (2005) Estimating and Managing Project Scope for New Development. Journal of Defense Software Engineering, 4-7.

http://static1.1.sqspcdn.com/static/f/702523/9277557/1288927629910/200504-Roetzheim.pdf?token=Iy0EhkuVC%2Fp4nH9ybNkoKNjsICw%3D

The Importance of information technology in project management

The Importance of information technology in project management.

 

In modern world, any business, small or large, needs to manage its projects wisely. With most markets quite saturated and with increasing and improving competition from almost all angles, it is important how businesses conduct their projects. In most situations, the success of the project depends on many factors, especially the project manager him/herself, his/her experience, knowledge, intuition, and sometimes, even ability to “push-back”.  What if one does not have all those traits but has a strong vision and direction of the business? One, quick solution is to find and hire individual who would help materialize that vision. On the other hand, with fast growing information technology, there are some tools that may help the project manager to improve implementation and effectiveness of any enterprise.

 

What is project management software? It is a software application usually available for all computer systems, which with easy to navigate and intuitive user interface allows managers to effectively control their projects. Most modern project management software provides great help to managers in conducting all phases of the project: planning, managing, and execution from most critical aspects such us: budgeting/cost, resourcing, scheduling, and many more. They allow quick and easy glimpse on the projects development, check current and predict future constrains, as well as analyze alternative project’s paths or adjusting current project settings. Such applications are usually very critical especially for big and complex enterprises that require large budgets, involve of various resources, and are time critical.  However they are also very helpful in conducting projects in small businesses as well. In any case, PM software may support project leaders to manage projects more efficiently and run business operation more smoothly.  Overall, technology has a big impact on project duration, tracking costs and overall project performance.  Per study conducted by Vittal Anantatmula, the use of technology can assist managers better communicate, share knowledge and improve processes.  Moreover, complex projects that deal with a large amount of data and information can be challenging for project managers, therefore the use of software tools that help track all this information is beneficial in successfully completing any project. (Anantatmula, 2008).

microsoft_project image1

http://www.danesys.com/Portals/0/microsoft_project.jpg

 

There are different types of project management software available on the market. From the ones, designated for small businesses to the large ones, created for big corporations in mind. There are those that are web-based, hosted by the software developer applications, available in cloud, as well as software developed for desktop users. They may also come in server-client configuration, which allows central control (server) of the application with granted access to it for personnel involved in the project (client).

 

There are many project management software available on the market today that have helped many managers to complete their projects successfully. One of the most popular are:

 

–       MS Project – http://office.microsoft.com/en-us/project/

–       Basecamp – http://basecamp.com/

–       Wrike – http://www.wrike.com/

–       Genius Project – http://www.geniusinside.com/

 

What project management software do you use in your company? Is it really helping you with your daily work?  How difficult would your job be without the help of technology?

 

 

 

Additional article used from DePaul Library:

Anantatmula, Vittal S. “The Role of Technology in the Project Manager Performance Model.” Project Management Journal 39.1 (2008): 34-48.