• Ei tuloksia

List of main Challenges and Pitfalls with Software Project Management in

7. DISCUSSION

7.1 List of main Challenges and Pitfalls with Software Project Management in

The two companies are again very similar in the tools they use for their development.

Both take a holistic approach to software and program usage and allow employees to use whatever tools they see fit for the project. Similar to methodology, the risk of the company's rapid growth is that they will lose the freedom they emphasize in favor of structure and organizational cohesion. The team management is one of the few areas where Case company X and Case company Y begin to differ. Much of this difference is due to the age of each organization and the target customers.

Case company X is two years older than Case company, and those two years really make a difference in the way the teams are managed and the organizational growth.

Similar to the difference in team management, the two companies face very different obstacles as they continue to grow. On one hand, Company X needs to determine its place in the business-to-business market and make sure that their efforts grow and help them become broader. Case company Y, on the other hand, needs to continue to grow-ing to keep up with the current market demands. Moreover, they need to figure out how to make more money so they can provide their employees with the resources needed to do their jobs.

The Major common challenges that have been analyzed during the empirical research process have been classified into 3 major groups which are also illustrated in Figure 14 they have been initially identified and classified according to the main themes in the data gathering process.

Figure 14. Classification of major challenges in software project management in start-ups based on the empirical data gathered

Figure 14 explains the classification of major challenges that are faced by software start-up companies in project management, they are mainly classified according to the functional areas into 3 main categories internal challenges that include challenges like poor communication, and challenges occurring due to the impact of globalization, ex-ternal challenges that includes unclear requirements, challenges like unrealistic time schedules and deployment dates and poor communication to clients, then finally the operational challenges that include limited resources and challenges like lack of exper-tise due to operating nature of start-ups.

7.1.1 Lack of necessary Tools and Infrastructure

According to the data from both case companies collected from theme 3 and section 6.3 for tools and platforms as a start up it is clear that both the case companies lack as some point in adapting the basic necessary tools and platforms, instead they use non standard practices which is a significant challenge in software start up environment. Software development is not an easy undertaking. It requires a lot of infrastructure and legal

pro-cedures to be undertaken. Significant human and financial resources are needed for maintaining, enhancing, and implementing the infrastructures and the legacy systems (Jalote and Pankaj, 2002). These areas of legal and infrastructures are completely domi-nated by the pioneers in the software start-ups industry. It is not easy for the start-ups to venture, replace and maintain. The stakeholders who conduct legal processes and re-quirements for the software companies are so acquitted to the well-established compa-nies and may require an extra tip to support the work of a software start-up project in the legalizing sector (Jalote and Pankaj, 2002). Moreover, software start-ups need a lot of infrastructures to set up, test, roll out and maintain. With less support from the con-cerned stakeholders, these projects end up stale or sold to the domineering company in the local or international market (Thomas and Cagley, 2010).

From the interview analysis the infrastructure is a serious problem for the case compa-nies as also was reckoned by the developer working with company X because of the nature of start-ups, size, resources, experience, expertise, it is more challenging than working with a stable medium or large size companies, but on the other hand it also allows you to learn more. This means that experienced developers are willing to work with the software project development pioneers than the new entrants. It is a limiting factor and a great challenge for the software developers in the start-up stage. More so, software project management tools are very important in ensuring the success of the software. The start-up's developers opt for cheap and easily accessible project manage-ment tools such as Microsoft Excel and the Microsoft project. The greater challenge following the given tools is that they can easily share information in the extranet.

It compromises the security and the original idea of the developer. The desktop software project support version lacks the advantage of providing real-time data. Looking at the dynamism of software projects much information is shielded from the developer. By the time the project is completed. It could be completed with a more secure and sophisticat-ed version of the same. Indulging in the web-bassophisticat-ed solutions for software project man-agement is the best option for the developer. The developer faces the problem of in-creased costs and manpower for managing and interpreting the impact of the real data on the progress of the project. “Yes, I totally agree with the fact, and this is because of limited resources and size of teams usually.”

7.1.2 Lack of specific Expertise for the Software Development

According to the data form in section 6 and from the theme 6.2 and 6.3, it can be seen that software developers in both the case companies face a very common problem while gathering the required team for communication in project management. The software team is required for the process of forming ideas, organizing, encouragement, and for guiding each other (Stellman, Greene and Jennifer, 2005). For instance, project devel-opers must have adequate experience and knowledge for the process of controlling, mo-tivating, and planning the product or the service. The team is needed to assist the

devel-opers in carrying out the objectives of the team with the aim of realizing the set tive. A team which lacks the necessary expertise may not realize the set goals and objec-tives (Reinertsen, 2009). A developer is likely to operate alone in case the team mem-bers fail to cooperate towards the objective of the project. These circumstances may overwhelm the project developers and lead to cost or time overruns. A team which is well experienced in the different areas of project management is more confident and shares knowledge for improving the success factor of the project (Reinertsen, 2009).

Trust and clear communication enhances the nature of interactions and communication between the developer and the team to achieve project deliverables, do testing, do pro-gramming and draft the required model. The project managers need to be experienced in handling issues such as finding options, solving problems, cost estimation, risk analysis and problem-solving. The project team must be capable of undertaking the given re-sponsibilities in the team. Project management requires experience of undertaking var-ied expertise and multiple perspectives. For instance, project managers are equipped with large tasks such as language, culture, skills and good knowledge. The project man-agement has the responsibility of ensuring each team is assigned a task with clear layout of handling unacceptable results conflicts and misunderstanding (Ong, Nee, & Xu, 2008).

Team members, on the other hand, must function as teams but handle individual tasks.

The problem of lack of enough software team was reckoned by the respondent from the company 1: "The testing is done by our development team itself, we don't have a sepa-rate software testing team in the company at the moment, we use automated testing frameworks." A similar response was also acknowledged by the interviewed person in the company 2: "We don't have the testing team in our company, the development teams test the updates and features on their end manually and we do use one software for manual testing called use trace that tests the applications for the front end.” The start-up software project developers are continuously facing a challenge of hiring the competent and experienced taskforce. It is tedious and time-consuming to search for developers and management to implement the project and the ideas (Ong, Nee, & Xu, 2008).

Moreover, the already well-established software project managers and developers are looking for competitive salaries which may not be possible to accomplish. In this re-gard, the project ends up incurring costs and time overruns inquest to look for experi-enced and competent employees.

The information was confirmed by the software developer for the case company 2:

“Yes, working with start-ups is quite different and challenging as well in different ways, but it allows also learning more as you are required to work in different roles at the same time with limited time and resources etc.” It is a very significant challenge since a developer may be experienced at one phase of the project but lacks enough skills to un-dertake the second phase of the project. As a result, the developer encourages in a self-learning and training session to gain skills for the required phase. Consequently, the

project is delayed which affect the entire projected deliverables and milestones. It is known that technology start-ups companies incur the problem of hiring or over scaling.

Consequently, the software starting companies end up failing to premature hiring and over scaling.

7.1.3 Mismanaged Resources

The project developers and the team lack adequate well-updated information regarding the project and its requirements as gathered from section 6. Some project requires a small team while others require large teams to execute the activities of the software de-velopment. Current demands in the software projects developments are complicated the whole process of developing a software is created to ease the operations of an end user.

The well-developed software is one which the user experience is easy to log in and nav-igates that is why currently, most organizations are opting for online e-commerce busi-nesses.

Hence, software capable of supporting such functionalities is on the demand. It is a complicated undertaking requirement for the complicated users and the basic users at the start –up period. Basing on the resources, experiences and the legal requirements to be undertaken. The information was reckoned by a developer from the case company 2:

“Yes, there is a clear lack of software quality assurance in start-ups companies because of the limited people they have and commonly because of limited funds that can be im-proved. “The project manager may misuse the project resources by gathering unquali-fied personnel to run the activities of the project. In this regard, unqualiunquali-fied personnel is hired to run the project which leads to project failure.

7.1.4 High competition because of Globalization

Globalization is redirecting business from the local market to the international market (Robert and Frees, 2003). Globalization has its own advantage and disadvantages.

However, when it comes to the start-up software project management the concept of globalization becomes a challenge (Robert and Frese, 2003). Most software developers search for uniqueness and wonderful functionality to penetrate faster in the global mar-kets (Joseph and Gulla, 2012).

For the case companies X and Y, the challenge is the lack of enough information on how many software developers are working on the similar projects. Moreover, it is not easy for a software developer to apply for guesswork and determine who is close to the same idea. The pressure becomes more real during the marketing period of the software.

Technology and Malware are created daily. It is a concept which braces software start-ups on the toes wondering about the viability of the software. How to market without selling the initial developer idea is also a challenge. Most developer's ideas are stolen by the well-established organization with a fair share of the consumer markets (Joseph and

Gulla, 2012). In this regard, globalization poses a great challenge and competitions to the software start-ups. The competitions adequately affect the start-ups in terms of host-ing, service level agreements, customer retention, customer reach and pricing structures.

The start-up's software developers are deemed as starting very low in term of pricing. In short run, the developer may fail to flourish and end up selling the pertinent rights to more established organizations dealing with software development. Therefore, in the case companies’ analysis from the interview respondents, it is evident that the respond-ents complain of unusual stuff happen during the start-up period. The respondrespond-ents spe-cifically quoted issues relating to the experience, the skilled force, the insurance and the registration of the product. Most specifically, the extent of the resources required to run the company. Most of the start-ups lack enough finances to market and legalize the product to venture in the world markets. In this regard, they are easily lured by the well-established product software companies in the same line of products. Company case 1:

"In B2C a lot of times there are unclear requirements, or unusual stuff, also changes that takes a lot of time and effort. “The concept of globalization also brings about geograph-ically dispersed project team.

Software development projects must be undertaken with the high level of collaboration and interaction. A software project requires multi teams each working towards the per-fection of a specific area. In this regard, the team is the third parties, the sub-contractors, the vendors, the clients and the employees. The start-up's companies lack enough teams to offset and support the functions of the projects. A lot of resources are required to gain support from the third parties, sub-contractors, vendors, clients and employees. They end up outsourcing some of these stages and consequently compromising the output of the project. It is more so in case the outsourced parties lack transparency and visibility.

7.1.5 Vague Requirements

Any step of the software development lifecycle requires clear and well-gathered re-quirements (Bertram, 2016). It is important to gather information, evaluate and analyze the customer requirements in the both the short run or the long run of the software pro-ject management. Most of the time the propro-ject developers engage in software develop-ment with no clearly defined goals and they end up incurring time and cost overrun this also the same case with Case company X and Y as depicted in section 6 through the theme 6.4 and 6.5. A thorough research is required since customers are rarely sure of the software specifications they prefer in the market. In this regard, the specifications keep on changing which may affect the project lifecycle. Lack of proper research pre-empt the developed software into inefficiencies, ineffectiveness, increased costs and delays.

The problem becomes real when the developer starts the project without considering its challenges and limitations. Understanding the end user requirements is very important in designing successful software. The need for continuous customer involvement was reckoned by the developer from the company case 1: "We do get continuous feedback since the customers require a lot of customizations depending upon their nature of busi-ness so they are involved from the beginning at every step." The information regarding the need for continuous feedback from the customer was also reckoned by the respond-ent from the company case 2: “We get the feedback and error reports etc. from the users but once the updates or features are deployed we don’t involve continuous integration in our development phase.”

7.1.6 Unrealistic Time Scale

Software project incurs failure due to lack of proper estimation of the time required to complete the project deliverables (Wagner, 2013). The success factor of a software pro-ject is when it is delivered faster and timely. Cost overrun can cause the software prod-uct to become out-dated even before it is rolled out in the market (Wagner, 2013). It also requires research, evaluation, and analysis of all the requirements in the ground.

Lack of realistic timeframe leads to superficial designs with poorly coded systems which fail to function in the first product testing. Inelastic timeframes also occur from the stakeholders benefiting from the project. They exert pressure on the developers and the project managers to complete the project development within their given timeframe.

It is a problem which is incurred in the case the developer, development team and the stakeholders do not conduct regular meetings towards evaluating the requirement of the project in terms of costs and time. Consequently, the final product becomes faulty, or in case both cost and time overruns due to resources needed for rectifications.

Moreover, working under pressure can produce software of low quality which does not meet the requirements of the end user. The importance of using realistic timeframe was acknowledged by the respondent from the case company 1: “If the project planning is done right it’s always easy to manage the deadlines and in our case yes usually they are, but sometimes there are clients who want really fast results and have some surprisingly unusual requirements.” Also the respondent from the company case 2: “Yes, the dead-lines are realistic and if there is something we usually extend the sprint times mention-ing that for example X and y were the issues that caused these.” Scope creep is the gen-eral overview of the project in the starting phase. In case the scope increases above what is project then scope creep occurs. Scope creep mainly occurs in the testing phase when the customer’s specifications are not met and the team needs to go back to the drawing board. In this regard, the software project needs to be adequately prepared through thor-ough research and analysis. Lack of proper preparation a scope creep is likely to occur.

The increase in scope creeps leads to both project and cost overrun. Unrealistic

time-scale in project management for the start-up company is confirmed by the respondent from the company case1: “In B2C a lot of times there are unclear requirements, or unu-sual stuff, also changes that takes a lot of time and effort.”

7.1.7 Poor Communication

Poor communication is another common challenge faced by software start-ups devel-opment team in the project according to the data gathered in section 6 from section 6.5.

It is the main reason why many projects fail. The developers and the managers plus the team fail to communicate effectively concerning the needs and the requirement of the projects. As a result, the disagreement leads to delays and increased resources for cor-recting the mistakes made. It is, therefore, very important for the requirements of the project to be shared frequently with the stakeholders and the team involved in the pro-ject. Most developers avoid communicating to the team members as a strategy of avoid-ing conflicts in views and the methodology. The stakeholders also prohibit

It is the main reason why many projects fail. The developers and the managers plus the team fail to communicate effectively concerning the needs and the requirement of the projects. As a result, the disagreement leads to delays and increased resources for cor-recting the mistakes made. It is, therefore, very important for the requirements of the project to be shared frequently with the stakeholders and the team involved in the pro-ject. Most developers avoid communicating to the team members as a strategy of avoid-ing conflicts in views and the methodology. The stakeholders also prohibit