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

Event Software?

Wikipedia states “Event planning is the process of planning a festival, ceremony, competition, party, concert, or convention. Event planning can include budgeting, establishing dates and alternate dates, selecting and reserving the event site, acquiring permits (alcohol permits, insurance licenses, etc), coordinating transportation and parking, developing a theme or motif for the event, arranging for speakers and alternate speakers, coordinating location support (such as electricity and other utilities), and arranging decor, event support and security, catering, emergency plans, aid stations, and cleanup. Event management is the application of project management to this process.”   However, few people actually look at event management as a form of project management.  Throughout my career, I have been called a “party planner”, the “party girls”, and many other like monikers.

I plan strategic events that have a specific purpose and goal.  These events take months to plan and include everything from deciding who to invite to what color the linens will be.  Ultimately, I am responsible for making sure as few as 3 or as many as 750 guests get in, get out, and have a fabulous time in between.  Along with making sure I meet the guests’ needs and expectations, I have to keep in mind budget, goals, and the necessary outcome for my office.  If this isn’t project management, I don’t know what is.

As event management has taken a little longer to be seen as a viable career, I feel we are also a little behind in finding tools to help us manage our projects.  Frequently, organizations aren’t willing to spend the money for the event add on or a whole new system so we are stuck with a jumble of excel spreadsheet and outlook calendar items.  We’ve looked, we even purchased one at one point – EventPro, www.eventpro.net/.  It was about $5000 for a year with a week of training.  It would help us with everything!  Ha!! It was so difficult to use and set up, everyone quit within a month.  We tried several times.   It was a mess of a program.  We had to enter each item in several places, leading to multiple entries of the same facilities with minor differences in name or address.  After just a few weeks, the whole things was already a mess.

I do believe there are great tools out there, I just think it will take a shift in priorities and recognition of us as legitimate project managers before we get the technology we really need a deserve.  Maybe some day we can use one of these: www.capterra.com/event-management-software/

 

Software to Simplify Project Management

Learning about the aspects of project management was interesting to me because a business can be successful unless it manages it projects successfully.  I worked at a painting company one summer and our project management was directly linked to how successfully we completed a job.  The owners of the company had to assess how much time would need to be dedicated to a project and how much it would cost to complete.  They would also choose which employees they wanted to do which job.  The employees who performed the best were put on the most important projects.  Project management was successful at our company because we had clearly defined goals, each job was unique, the jobs required our specialized skills, and all of the projects were temporary but each was essential to the success of the company. 

 It was also essential for our company to use the process of planning, scheduling, and controlling.  The planning stage included figuring out what products or tools would be needed to complete a job, figuring out who would be put on the job, figuring out transportation, and other things of that nature.  The scheduling stage would include decisions like the jobs start date and the estimated end date.  They would also need to schedule when they wanted the job to be completed during the day.  Some jobs could only be worked on at night because the business could not be disturbed during the day. The controlling aspect would be making sure that everything is going according to schedule and that the quality of the work met company standards. If a job was substandard then adjustments had to be made to scheduling to fix the problem. 

The owners of the company also had to decide which projects took precedence over others.  Sometimes we would be told to put a current project on hold because more important project required more attention.  Deciding which projects take precedence is essential to the company’s success because you need to be able to understand which accounts are most important to your business so you can keep them happy. 

Keeping track of all of this would be very stressful.  However technology is being designed to make managing projects a little bit easier.  The company semYOU has come out with new project management software called sem.ProjectPoint(http://www.prnewswire.com/news-releases/cloud-project-management-semyou-releases-new-version-of-semprojectpoint-159862105.html).  This is cloud based software so it allows you to store and easily share information throughout a company.  It also allows you to view information about your company in useful ways such as in pie charts or other forms.  This allows you to quickly find overviews of what’s going on in your organization and will help to identify a company’s needs.  Would integrating this new technology into a company’s project management process be beneficial to an organization, or would it interfere with their existing methods?