Case Study based Discussion

Một phần của tài liệu Project teams software process management (Trang 49 - 55)

1.Case Study.

Implementing Agile in a Software Development Company

Improve customer satisfaction by delivering working software in shorter cycles.

Increase collaboration and communication between development teams and stakeholders.

Enhance flexibility to accommodate changing requirements.

Improve overall efficiency and productivity of the software development process.

Implementation Steps:

Training and Awareness: The first step is to provide Agile training to the development teams, project managers, and other stakeholders. This will ensure that everyone

understands the Agile principles, values, and practices. It is essential to create awareness about the benefits of Agile and address any concerns or resistance to change.

Team Formation and Roles: Agile teams are typically self-organizing and cross- functional. The company needs to form Agile teams consisting of developers, testers, business analysts, and other necessary roles. Each team should be empowered to make decisions and have clear responsibilities and accountability.

Iterative Development and Backlog Management: The company needs to establish iterative development cycles, commonly known as Sprints, where the teams deliver increments of working software. The product backlog, consisting of prioritized user stories or requirements, should be created and managed collaboratively. The teams should estimate the effort required for each item in the backlog.

Daily Stand-up Meetings: Daily stand-up meetings should be conducted, where team members briefly share progress, discuss any impediments, and plan their activities for the

day. These short, focused meetings promote communication, collaboration, and transparency within the team.

Continuous Integration and Testing: The company should adopt continuous integration practices to enable frequent integration of code changes. Automated testing should be implemented to ensure early detection of defects and maintain code quality. Test-driven development (TDD) can be employed to drive the development process.

Retrospectives and Process Improvement: Regular retrospectives should be held at the end of each sprint to reflect on the team's performance, identify areas for improvement, and implement changes in the development process. The company should encourage a culture of continuous learning and adaptation.

Stakeholder Engagement and Feedback: The company needs to involve stakeholders, such as product owners and customers, throughout the development process. Regular feedback sessions, product demonstrations, and collaborative decision-making should be practiced to ensure that the developed software meets their expectations.

Abstract

Project managers can make more effective and efficient project adjustments if they detect project high-risk elements early. We analyzed 42 software development projects in order to investigate some early risk factors and their effect on software project success.

Developers in our organization found the most important factors for project success to be:

(1) the presence of a committed sponsor and (2) the level of confidence that the customers and users have in the project manager and development team. However, several other software project factors, which are generally recognized as important, were not considered important by our respondents.

Introduction

Despite extensive research into successful software development [2], [8], [24], [26], many software development projects are still failing [15]. Research into software development is likely to continue until we have the development process under better control [8], [15], [16], [26]. In 1994, 31% of all corporate software development projects resulted in cancellation [8]. A more recent study found that 20% of software projects failed, and that 46% experienced cost and schedule overruns or significantly reduced functionality [15]. Another study suggested that failure rates for software development projects are as high as 85% [11]. Clearly, systems development projects can present serious risks to the well being of an organization [15]. Troubled projects can, for example, cause developers to suffer long hours of unpaid overtime, loss of motivation, and burnout, leading to excessive staff turnover and its associated costs.

Recent research that focuses on factors contributing to the failure of information systems projects usually takes a practitioner point of view (such as that of an IT manager, project manager or software developer) [7], [9], [14], [24]. Management also has a view of what constitutes a successful project and, in some cases, this view is different from that of the

project manager and developers, while users may take another quite different view. (Note that when we refer to management, we are referring to corporate management; where appropriate, we will explicitly refer to a project manager.)

The major factors that contribute to the success or failure of software systems fall into seven categories: (1) management, (2) customers and users, (3) requirements, (4) estimation, and scheduling, (5) the project manager, (6) the software development process, and (7) development personnel [7], [15], [20], [22]. Our research investigates some of the most influential success factors early in the development process from a developer's perspective. Successful software development projects are commonly cited as having met agreed upon business objectives, and having been completed on time and within budget [12], [14], [19], [25]. Other definitions of success, include the degree to which the project achieved its goals; reliable, maintainable and met the requirements of users; user satisfaction; effective project teamwork and professional satisfaction on the part of the project manager [10], [21]; and the extent to which the software is actually used [4], [6]. Glass [9] noted a profound difference of opinion between managers and team members concerning software project success, and our recent research agrees with his view [23]. Management tends to consider a project a success if it is delivered on time, within budget and meets specified business objectives [25]. In contrast, developers are more likely to perceive a project to be a success whether it is ‘completed or canceled’

[15]. In a study of several projects, the only criteria for success that had strong agreement among all the involved parties, were ‘meets user requirements, achieves purpose, meets time scale, meets budget, happy users, and meets quality’ [14]. Glass [7] suggests that problems arising from expectations established at the outset of a project have a greater influence on a developer's perception of success and failure than what happens during project development. For developers, a successful project is one in which the product works the way it is supposed to work, their participation provides a technical challenge and a learning experience that develops new skills [15]. Developers also appreciate when a project's cost and schedule are comparable to normal industry standards, which should mean that excessive unpaid overtime will not be required [15]. On the other hand, developers perception of project failure can include unrealistic schedule expectations, lack of resources, and poor understanding of the project's scope at the outset [15].

Insight into early project factors likely to threaten project success will help project managers and other stakeholders to better predict the likelihood of their project's success.

This will allow for corrective action early in the development process. This study is a first step towards the establishment of guidelines for project risk prioritization and mitigation in the early phases of software development. Because of the number of generic risks the project manager has to contend with, we wish to provide a severity roadmap showing the consequences of early project actions (taken or imposed). In addition, we will explore the developer's view of factors that impact project success; a successful project manager needs to be aware of success and failure factors from all stakeholder viewpoints, and to be able to respond to these perceptions, either directly or indirectly, in a timely manner

[13]. We anticipate that results of this study (and other studies) will be incorporated into a project management decision support tool.

Section snippets Background

The Standish Group's widely cited research [25] reveals the relative importance of management support, user involvement and requirements for successful project development. In fact, these three software development factors emerge as reoccurring risks.

Management support. Inadequate management practices have far reaching implications for successful software development [1]. A project needs a committed sponsor or champion throughout. This sponsor should participate in the decision-making process Our investigation

In late 1999, we engaged in structured discussions with 21 IT professionals, including developers, technical support personal, project leaders and project managers (referred to in the body of this paper as ‘respondents’ or ‘developers’), from a large financial

institution. Our discussions focused on the issues within their organization that they identified as associated with software project success and failure. Based on these discussions, we developed a questionnaire that targeted software

Results

We received data from 21 developers, reflecting 42 software development (rather than maintenance) projects. While in normal research terms this number of developers and projects is not large, it is a significant number when we consider that they are all from the same organization and that this research reports an organizational case study. The

average number of full-time developers working on the projects was eleven (minimum of one and maximum 80) with an average of five contractors and/or

Discussion and conclusions

This study leads us to a number of conclusions about project success from the perspective of developers and their perception of management and project success. We found that developers are very critical of the projects that they worked on and considered fewer projects successful (44%) than they thought management did (77%). We also found various aspects of development that we assumed would be important to developer's perception of success, but proved to lack statistical significance (based on

Lessons learned

One of the most compelling reasons to measure the perceptions of those involved with software development is that participant perceptions of project success, consistent or not with reality, can dramatically affect the health of a project manager, a project team, and thus the health of the project. There is a vast difference between developers' perceptions

of project success factors, and their perceptions of how management view the same factors.

2.Benefits and Results.

Faster Time-to-Market: By adopting Agile, the company can deliver working software in shorter iterations, enabling faster time-to-market and quicker response to changing market needs.

Improved Customer Satisfaction: Regular stakeholder engagement and feedback sessions ensure that the delivered software meets customer expectations. The iterative

development process allows for early validation and adjustments based on customer feedback.

Enhanced Collaboration and Communication: Agile practices, such as daily stand-up meetings and cross-functional teams, promote collaboration and communication among team members and stakeholders, leading to better alignment and shared understanding.

Increased Adaptability: Agile allows for easier adaptation to changing requirements, enabling the company to respond to customer needs and market dynamics more effectively.

The Benefits Management Framework

The Benefits Management Framework is based on the outcomes from the corporate strategy and from the operational processes of an organization.

The benefits management framework is defined by the following key ideas:

assesses the overall value and organization impact of the program;

identifies the dependencies of the benefits;

ensures that the benefits are specific, measurable, actual, realistic, and linked to strategic outcomes;

ensures that business areas are committed to the realization of identified benefits;

analyzed the potential impact of planned program changes on benefits outcome;

assigns responsibilities and accountability for the benefits required from the program.

The Benefits Management Framework has been developed by Pettigrew and Whirp [4]

and it is composed of five stages in the iterative process. Links between the stages are shown in Figure 1. In the next paragraphs each stage is described details.

Identify Benefits

The initial step is to identify and understand why a IS/IT project needs improvement/s.

This is called driver analysis and it is used to identify the drivers that are influenced by

the organisation and are needed to change in some way. After, identifying the potential benefits, then the investment objectives follows.

The achievement of each objective could deliver a variety of different benefits across the organisation. After the identification and allocation of the stakeholder’s responsibility, the next step is the determination of the required changes.

These changes are required for the delivery of each benefit and a benefit network is required in order to understand the relationship between business objectives, business changes, and IT technology. Finally, the first stage produces an outline of the business case in order to decide whether to proceed or stop the investment. 2.2. Plan Benefits Realisation

The main objective of this stage is to develop a detailed benefits realisation plan for the investment which will be submitted to the organisation’s management for approval.

Many differences may exist between this plan and the traditional business case. Firstly, this plan provides a full description of the benefits and changes, which determine the ownership and delivery of the benefits. Secondly, this plan includes the dates when the benefits will appear and the resources to be used to assess properly.

Finally, a fully documented benefits dependency network is presented for the relationship between the benefits and changes.

Execution of Benefits Plan

The execution of the Benefits Plan is the most important

Figure 1. Benefits management framework source [5].

Benefits Management Process Complements Other Project Management Methodologies 841

part of the overall project or change programme. Monitoring the progress of the

deliverables and activities of the benefits plan is important of the project. This is achieved through an appropriate set of progress meetings attended by business managers’ owners, the business streams, as they are called.

In practise a business project manager is appointed to assure that the project is delivered on time in order to meet the business needs without interruptions and risks.

Review and Evaluate Results

This stage is based on the evaluation and review of business outcomes after the

completion of the project. A survey of approaches relative to managing IT benefits of 60 organisations [6], reported that only 26% of the companies always reviewed projects after the completion in order to determine whether benefits are delivered or not.

The review stage is important in order to understand where and how further benefits may be achieved, and for this reason it may be necessary to revisit the benefits realisation plan (stage 2) again.

Further Benefits

This stage of further benefits can be identified any time, but it is explored at the review stage. According to the survey [6] findings, it is very difficult to predict in advance the benefits. While 90% of the survey respondents support this view, only 15% of their organisations apply a specific team to search for further benefits at the end of projects.

Typically, releasing new benefits will involve further business changes and IT systems development in later releases.

Một phần của tài liệu Project teams software process management (Trang 49 - 55)

Tải bản đầy đủ (DOCX)

(57 trang)
w