Managing projects of all sizes and levels of complexities is part of business, regardless of what vertical industry you’re talking about. Software development is no different. New in-house software development and implementations, infrastructure related projects, enhancements or upgrades, and the increasing development of web-based solutions and mobile apps are a constant within the software industry.
The software industry is in an endless and rapid state of flux, influenced greatly by the globalization of a plethora of product and service offerings. There are various types of projects undertaken by the software industry and equally as many challenges, including the following:
- Globalization causing high competition.
- Older legacy systems and infrastructure issues.
- Adoption rates and time to market pressures.
- SaaS offerings taking over.
- Internal sourcing or outsourcing.
- Sufficient software requiring specific expertise.
- Integration and interface issues.
- Multiple software bug testing & resolution iterations.
- Multiple and complex user level requirements.
- Difficulty attracting and retaining applicable talent.
- ROI (return on investment).
- Evolving revenue recognition requirements/reporting for software companies
The software industry is highly complex, requiring workers with both industry-specific skills as well as the requisite software development expertise. Identifying the relevant people with the appropriate level of proficiency and knowledge for dev projects is no easy task.
The software industry is also one of the fastest moving and evolving industries, creating an environment where companies can go under as fast as they started, due to domestic and international competition. Business owners, executives, middle management and all other employees working in this field are continually pressured to keep up, and project management professionals are under even more pressure to ensure the successful execution of projects.
It’s not enough to only know about project management. Project managers must also keep pace with this fast-moving industry in order to anticipate possible risk, quality, integration, financial and other factors that may hinder the chances of a successful project. These factors may apply to many industries but due to the speed at which technology changes, and competition increases the pressure to deliver projects on time, on budget, and with the quality standards expected, managing projects in the software industry can feel like being in a pressure cooker.
Here are some of the challenges that have a large impact specifically on project management within the software industry.
1. Globalization causing extremely high competition
If your business is in the software industry and has a great idea, odds are another software company may have ready thought of it; if not, there may be no away to determine how close another company is to developing it. Time to market pressures is a stressful reality in the software industry. Competition can be local or international and impact software companies in terms of pricing structures, customer reach, customer retention, service level agreements and a host of other factors.
Project managers will need to work closely with business owners, executives and other stakeholders to flush out all factors that may impact the successfulness of software related projects. There have been many software companies that have developed and implemented terrific software only to find the return on their investment was simply not there due to high competition.
2. Legacy systems and infrastructure issues
Often businesses have invested significant financial and human resources implementing, enhancing, maintaining and patching older legacy systems and infrastructures. As a result, there may be great reluctance to replace them, even if these systems no longer meet their needs, creating a scenario where it is an uphill battle for innovative software companies to get their foot in the door, even though they have a top-notch solution that businesses can greatly benefit from.
If and when they do manage to convey the benefits to a company and are successful, project managers typically still have an uphill battle working with various stakeholders who are personally vested in older legacy systems and infrastructure, making them change resistant. In order to gain buy-in, it is critical for project managers to be able to clearly convey all benefits to stakeholders and find ways to alleviate their fears.
3. Sufficient software specific expertise
The software selection process can be time-consuming and tedious for business owners and executives, and when it comes to implementations, finding project management professionals with the relevant experience can be just as difficult, whether in-house or outsourced. While there are general systems project implementation skill sets, it may be necessary in most cases, especially when it comes to large ERP implementations, to seek project managers who are highly experienced implementing those specific systems. As a general rule, the more complex the system, project implementation, and the larger the organization, the more likely direct system related project implementation experience will be required.
4. SaaS offerings taking over
With increasing frequency, older legacy systems and large ERP systems are being replaced with Saas offerings, enabling small, mid-siz and large businesses to access the same or better features and capabilities without outlaying large amounts of valuable capital. Companies are subscribing to this model because they are able to redirect larger amounts of capital towards other projects that may be more value added to the overall business strategy. They are able to instead allocate operating funds towards outsourced monthly SaaS offerings that provide what they need and are more scalable and flexible.
Additionally, they no longer need to account for and deal with depreciation issues. It also may be more cost-effective and more efficient to have an outside vendor take care of maintenance and service-related requests that companies otherwise would have to hire additional staff for. Often times project managers work for these outsourced SaaS vendors and are highly experienced in implementations with that exact type of software, taking a lot of pressure off of the company’s leadership. That said, the business strategy, project alignment, and other due diligence still remains a responsibility of the leadership.
5. Multiple complicated user level requirements
Businesses require system users at multiple levels, some may be basic users, some may be power users, administrators and some may be strictly IT users. When it comes to systems implementations project managers in the software industry need to be versed in all the different types of users with specific systems, and the types of user access rights and permissions for each. This can range from complex to extremely complicated depending on the system.
Some businesses utilize user-specific models or role-based models. There is a fair amount of technical knowledge that is required to ensure systems implementation projects go smoothly and user level requirements are properly and fully addressed to ensure internal controls are followed correctly. This is particularly critical with financial systems implementations, where there is a need to accurately adhere to GAAP (generally accepted accounting principles), adopted by the U.S. Securities and Exchange Commission (SEC).
6. Third-party integration and interface issues
Software vendors can no longer develop standalone solutions. There is an increasing need for third-party integration, making it more complex for project managers as they are under pressure to increase their knowledge and experience with other software that may interface with the one they are implementing. To some degree, it can be as if they are implementing multiple systems within one project. For example, if a project manager is implementing a financial management system, including G/L, A/P and A/R and financial reporting modules, these may interface with applications from external payment vendors, financial institutions, contract management, CRM or other vendor software. In this case, the project manager may be required to work with third-party vendors and have sufficient knowledge of these other systems to ensure data is accessed and passed correctly between these systems.
7. Quality testing and bug fixes requiring numerous software iterations
In this industry systems implementation projects are plenty and constant. Within these projects, various iterations of testing occur throughout the project cycle to ensure the actual outcome meets the intended outcome. It is common to discover issues/bugs throughout the testing phases that require fixing and retesting until the issues are resolved. It can be extremely difficult for project teams to isolate issues, requiring escalation to more senior IT staff/developers. Project managers need to practice sound judgment to ensure all issues are resolved prior to systems going live. The testing phase is critical in ensuring no additional rework is required after going live, and to avoid customer dissatisfaction.
8. Revenue recognition reporting requirements for the software industry
In addition to the factors mentioned above, there are specific revenue recognition requirements that are specific to the software industry that will need to be factored in throughout projects. These requirements can affect the company’s day-to-day accounting as well as customer contracts and how they are executed. Project managers need to ensure reporting requirements are sufficiently addressed with a CPA/accounting professional involvement throughout the project lifecycle. Not addressing this key factor can result in consequences for a software company. The AICPA is a great resource to find out more on revenue recognition.
The software industry is extremely complicated and requires project management expertise in areas of software development, software testing and quality assurance, implementation, user security, internal controls, customer relationship management, change management, business processes and many other areas.