7 Things You Need to Know About Development Project Estimations

Whether you are a project manager planning for a smooth implementation of a plan or a project sponsor on whose decisions a project depends, you cannot escape from the fact that project estimation is essential to its success. In the first place, there are three basic requirements that a project must satisfy: schedule, budget, and quality. The need to work within these essential project boundaries poses a huge challenge to everyone in the central management team.

There are various aspects that affect project estimates, such as team skills and experience levels, available technology, use of full-time or part-time resources, project quality management, risks, iteration, development environment, requirements, and most of all, the level of commitment of all project members.

Moreover, project estimations do not need to be too complicated. There are tools, methodologies, and best practices that can help project management teams, from sponsors to project managers, agree on estimates and push development efforts forward. Some of these include the following:

  1. Project estimates must be based on the application’s architecture. Making estimates based on an application’s architecture should give you a clear idea of the length of the entire development project phase. Moreover, an architecture-based estimation provides you a macro-level view of the resources needed to complete the project.
  2. Project estimations should also come from the ground up. All estimates must add up, and estimating the collective efforts of the production teams that work on the application’s modules helps identify the number of in-house and outsourced consultants that you need to hire for the entire project, as well as have a clear idea of the collective man-hours required to code modules or finish all features of the application. Ground-up estimates are provided by project team members and do not necessarily match top-level estimates exactly. In this case, it is best to add a percentage of architecture-based estimates to give room to possible reworks, risks, and other events that may or may not be within the control of the project staff.
  3. Do not forget modular estimates. Once you have a clear idea of the architecture, it becomes easier to identify the modules that make up the entirety of the application. Knowing the nature of these modules should help you identify which can be done in-house or onshore, or by an offshore development team. Moreover, given the location and team composition of each development team that works on a module, it becomes easier to identify the technical and financial resources needed to work on the codes.
  4. Development language matters. Whether the development language is Java, .Net, C++ or any other popular language used by software engineers, team that will be hired for the project must be knowledgeable in it. Some development efforts require higher skills in these languages, while some only need basic functional knowledge, and the levels of specialization in any of these languages have corresponding rates. Most of the time, the chosen development language depends on the chosen platform, and certain platforms run on specialized hardware.
  5. You cannot promise upper management dramatic costs from offshoring. While there are greater savings from having development work done by offshore teams composed of workers whose rates are significantly lower from onshore staff, you must consider communication, knowledge transfer, technical set-up, and software installation costs in your financial estimates. Estimating costs is often more about managing expectations, but as the project matures, it should be clearer whether the money spent on it was money that was spent well.
  6. Project estimation software and tools help identify “what-if” scenarios. Over the years, project managers have devised ways to automate project schedule, framework, cost, and staffing estimates. Some estimation applications also have sample historical data or models based on real-world examples. If your business has a lot in common with the samples in the estimation tool, it can help you identify what-if scenarios and in turn include risks, buffers, and iteration estimates.
  7. Price break-down helps in prioritization. Breaking down the total cost of the project helps management decide which parts of a system should be prioritized, delayed, or even cancel. Estimating costs for a new project may not be easy, but project sponsors and managers must be able to know and agree on the breakdown of costs of development, technical requirements, and overhead.

By ExecutiveBrief -online resource on process management, project management, and process improvement.

Building a Project’s Business Case

Forward-looking project managers realize that to avoid failure, they should build the business case for their projects by getting intimately knowledgeable about the reasons why sponsors approved their projects.

Too many projects get the axe because of the lack of business cases that justify their existence. When project sponsors begin to see projects only in terms of costs instead of potential rewards, there are higher chances that the projects would be canceled.

It is not the job of the project manager to build the business case. Ideally, project stakeholders and sponsors evaluate the business value and possible ROI from a project. If the project is seen in terms of generating income or reducing cost, the project will have the green light. This is the situation in the ideal world, but this scenario happens a lot less than one would like to believe.

Forward-looking project managers realize that to avoid failure, they should build the business case for their projects by getting intimately knowledgeable about the reasons why sponsors approved their projects. A project manager should work closely with clients, sponsors and other stakeholders, and ask the following questions:

What problems should the project address?

By interviewing project sponsors, the project manager can determine their goals and discuss the issues that the project would solve. In addition to project sponsors, the ones who are dealing with the issues at the workplace, perhaps on a daily basis, are a good source of ideas about the extent and many facets of the problem. Looking at day-to-day challenges from end-users’ point of view enables the project manager to get a better handle of the requirements of the project in terms of design and technical upgrades, as well as in terms of how it will solve end-user problems.

What are the strategic goals of the project?

Is it an easier system? Increased productivity? Better networking? Conversion to a marketable product? No matter what it the goals are, they must also come from and supported by the end-users.  At the end of the day, it will all boil down to the business value of the project. And by business value, it means cost reduction, better productivity, and the possibility of selling the product or service to the wider public.  Make sure that the goals are clear and the project’s objectives must reflect these goals.

What are the project’s basic requirements and what can end-users live without?

Aside from building the requirements based on the needs of its users, the project manager should also build the projects’ technical and design requirements and ask what bells and whistles it should have. The project may have a lot of feature that do not have business justifications, resulting in features that took too long to build.  Separating needs from fluff allows the project manager to formulate requirements, identify scope, and allocate resources that are important in creating a working version of the project. The quicker the iteration, the better the chances are of project survival.

What is the project’s ROI?

Even at the early stage of the project, it is possible to envision ballpark ROI figures. Because all projects incur costs, a project manager should have a fair idea of when investments will be recovered and generate positive cash flow.

By ExecutiveBrief
Technology Management Resource for Business Leaders

A Few Reasons Why Project Changes Occur

Some of the most common reasons why change requests are made.

Change requests alter the course of a project and working within the constraints of time, budget and quality more challenging. If change requests are not handled properly, the project will overshoot its schedule and accumulate costs that are beyond the original plan.

Realize that change requests are not made because people in your team, the project sponsors, or clients cannot make up their minds. Instead, most requests for changes are made in order to improve the project and, in some cases, the process of implementing the project.

Changes are inevitable during the course of the development lifecycle, and there are various reasons why changes occur. Some of these reasons are technical, some are procedural, some are financial, and still some are political or people-related.  Whether a project manager supports the adjustments or not, it is important to think over why changes are requested and their possible impact on the integrity of the project, as well a the delivery process. Let us look at the most common reasons why changes occur.

Incomplete requirements

Scope changes –or creeping functionality–are the results of ineffective management of requirements.  These are also the results of a project manger’s inability to get approval from project sponsors. When requirements kept going through changes during the course of a development lifecycle, new features and functionalities are often added, resulting in a product that overshoots the allocated time and resources, but fails to meet an acceptable level of quality.

Organizational restructuring

If the client’s organizational structure changes midway through the project lifecycle, it is inevitable for the delivery team to expect either a closer scrutiny of the project or change requests to be submitted. Financial considerations, corporate policies, and new sets of end users are some of the factors to consider as change agents when organization restructurings happen. Some requirements are too rigid, while some requirements need more room for discrepancy in specifications.  When alpha releases prove to be too limited to one set of target users alone, then expect change requests from auxiliary end-users.

External factors, such as new vendors, technologies, or methodologies

External factors, such as the involvement of another vendor or a representative end-user, can cause diversion from the original project execution plan. This issue is often as technical as it is financial (or political). Ideas that are tied to the new vendor’s methodologies and technologies can affect the execution of the project plan halfway through the lifecycle.  Sometimes, clients can be finicky about what they want out of the project that agreed-upon requirements kept getting changed. The more a finicky client gets in contact with vendors who want to take on the project, the more ideas they get about “improving” the product and cutting the cost of development. In such a scenario, be prepared.

By ExecutiveBrief: www.executivebrief.com




The Key Elements to Managing Projects the Virtual Way

It is not enough to manage projects virtually, but to properly apply e-project management processes that result in less development time but with improved quality. This is about value and not just cutting costs, after all.

Advancements in telecommunication are among the key movers of offshore outsourcing. Without it, back-office operations and application development outsourcing will not be as successful as they are today.  Better infrastructure has allowed for richer applications and cheaper communication that enable businesses and their outsourcing partners to manage people and projects efficiently from different time zones.

Adopting virtualization in managing project offers great competitive advantage to companies and offshore project teams. However, with the increasingly virtualized tech industry, it is not enough to manage projects virtually, but to properly apply e-project management processes that result in less development time but with improved quality. Remember that this is about value and not just cutting costs, after all.

To make a successful adoption of virtualization, a few key elements are involved.

Infrastructure – Both client and vendor must set up the infrastructure that can support virtualization efforts, particularly when the project at hand involves sensitive information.  Both parties need the hardware and software to host VoIP calls, and in many cases, virtual private networks (VPN).  At the start of the project, prioritize the acquisition of hardware, software, and bandwidth to support collaborative and communication efforts.

Communication Plans – Much of the success of adopting virtualization in depends heavily on communication.  On-shore project members do not have the advantages of following up colleagues whenever they want or in person. Delivery teams, on the other hand, do not have the luxury of clarifying project details immediately. In this regard, it is best to set up communication plans that define identify proper channels and approaches. Are there available people on the other end of the communication line? When should the team use virtual meetings? Is e-mail enough to update one another about the project status? Who will project members ask about issues—specific persons or entire teams? Experts agree that it is better to err on the side of over-communication.

Control and Evaluation – On top of delivering results at a time when they are expected to, offshore project teams should report plans for manpower allocations and utilization, risks and issues, and milestones.  By having these details, project teams—no matter where they are in the world—can evaluate project status and control risks. This also involves a single control system that allows for an easy generation and consolidation of data.  At the end of every period—typically weekly or monthly—such data can be measured to evaluate the success of the project in terms of quality of work, manpower and financial investment, and the lessons learned from the venture.

Collaboration Tools – A repository accessible to every member of the delivery team should be put in place. Do not rely merely on multiple copies of outputs stored in individual folders. Versioning and project management software, such as SharePoint or Perforce, allow project team members to work on single source copies of outputs, as well as archiving, checking out and backtracking of works.

By ExecutiveBrief: http://www.executivebrief.com