Set project expectations with reasonable deliverables, timelines, and milestones
Software projects may be commonly categorized as technical, functional, or transformational. Additionally, a project’s complexity may be characterized as being low, medium, or high. How one establishes and sets project expectations may be methodically similar for each; but, every project will have its own unique nuances and strategy.
- Technical – Characteristics: Mostly there are retained business processes; but, there is a change to the technical environment. Moving from an on premise IT data center to a hosted Cloud environment could be an example of a technical project.
- Functional – Characteristics: Mostly there is a retained technical environment; but, there are new or updated business functions to address changing business needs. Installing a CRM program to track customer information is an example of a functional project.
- Transformational – Characteristics: There are significant changes to business functionality because of changing or evolving business needs; and, there may also be accompanying modifications to the technical environment, usually to address new business issues. For example, mergers and acquisitions often require transformational software projects to blend new companies together, especially if both have different ERP systems involved.
- Low Complexity – Characteristics: There is a limited customization effort, if any; a low number of modules are involved; impact to business process/changes are limited; low staffing resources are required; duration is less than a few months; it is a low risk project; and, an ROI is projected to be less than 1 year. Installing an ERP technical tools upgrade, or installing a new report writing program are examples of a low complexity project.
- Medium Complexity – Characteristics: Some customization or personalization effort may be required; an increased number of modules are involved; more business process/changes are impacted; increased resources are required; duration may be six to twelve months; it is a medium risk project; and, an ROI may be projected between 1-2 years. Installing a new human capital management (HCM) program would be an example of a medium complexity project that can touch multiple programs within a company’s ERP environment.
- High Complexity – Characteristics: There is significant customization or personalization effort required; a large number of modules are involved; significant business process/changes are impacted; many resources are required; duration may be twelve months or much longer; it is a higher risk project; and, an ROI may be projected between 2-5 years. Implementing an advanced warehouse and logistics tracking program to augment an existing distribution software environment, or implementing a new brand new ERP program with many edge program applications would be examples of a high complexity project.
Setting Expectations with Well-Defined and Reasonable Deliverables in Mind
Never bite off more than one can chew, goes the old adage. Software projects should follow suit by setting expectations outlined by easy-to-understand parameters, well-defined tasks, and measurable project deliverables. For all software projects, tasks need to be prioritized, staffed appropriately, sequenced properly, and thought-out in advance to make the best use of resources, time, and budget.
To illustrate, in a construction project, a concrete foundation is an essential first step before starting the building’s framework. But, before the concrete is poured, site surveys must be conducted, boundaries must be fixed, wooden or metal forms must be erected, and the site must be physically prepared before starting the concrete work. Similarly, for software projects, before any software can be configured, tested, and verified, a site survey and discovery to understand one’s core business processes, and any impacted business procedures, is an essential first step in the process to define, design, and plan a software project. And, if there is any integration required with other programs, this integration effort must be detailed and planned in advance, too.
Timelines can be difficult to estimate and plan for three reasons. (1) As much as one may try, some things can influence projects that are totally out of one’s control. Business priorities can change; economic conditions can change; and, operational circumstances can change. (2) For complex projects in some organizations, one may end up sharing staffing resources with other prioritized projects, which can cause delays. And, (3) project constraints can be negatively impacted by the following: a project’s length of duration; any shift in budget finances; and, and unforeseen demands on team members. Projects may need to factor in adequate time for holidays, vacations, and normal business activities; as well as, a team member’s regular job role and responsibilities.
A project’s complexity always impacts a project’s duration. Generally speaking, the larger the scope of a project, the longer it will take to be completed. I am often asked if there is a way to compress the amount of time required. The answer is a highly qualified maybe.
By increasing the size of the team, one may be able to shorten some aspects of a project. And, by lessening a team member’s regular job responsibilities, one may free up more time that can be spent on project tasks. But, there are usually points of diminishing return that one can reasonably control. Increased resources, and focused time, may only improve certain parallel project processes. Sequential processes may need to be closely monitored.
Milestones chart the progress of a project’s work effort along a planned course of action. One must be mindful of common project constraints, which are identified as (1) staffing availability (people), (2) resource availability (materials, facility access, technical, mechanical), (3) time mandates (to meet a specific date, to comply with a business requirement, or to meet a legal compliance target), and (4) budgetary (which is frequently re-evaluated quarterly to review and align with revenue attainment). Changes to any one of these four constraints can both negatively and positively influence the others. Increasing staffing might reduce the time required to complete a step; but, it may also negatively impact a staffing budget goal. Conversely, reducing staffing may positively impact a staff budget goal; but, it may negatively stretch out a timeline causing a missed milestone date.
For complex projects, there may be advantages to using smaller, more manageable milestone steps, with each smaller step having its own unique milestones goals.