Research and Advances
Artificial Intelligence and Machine Learning Virtual extension

Balancing Four Factors in System Development Projects

Posted
  1. Introduction
  2. Product Efficiency and Flexibility
  3. Process Learning and Control
  4. The Importance of All Four Factors
  5. What To Do?
  6. References
  7. Authors
  8. Footnotes
  9. Figures
  10. Tables
  11. Sidebar: How the Study was Conducted

The success of system development is most often gauged by three primary indicators: the number of days of deviation from scheduled delivery date, the percentage of deviation from the proposed budget, and meeting the needs of the client users.4 Tools and techniques to help perform well along these dimensions abound in practice and research. However, the project view of systems development should be broader than any particular development tool or methodology.

Any given development philosophy or approach can be inserted into a systems development project to best fit the conditions, product, talent, and goals of the markets and organization. In order to best satisfy the three criteria, system development project managers must focus on the process of task completion and look to apply controls that ensure success, promote learning within the team and organization, and end up with a software product that not only meets the requirements of the client but operates efficiently and is flexible enough to be modified to meet changing needs of the organization. In this fashion, the project view must examine both process and product.

Often, tasks required for project completion seem contradictory to organizational goals. Within the process, managerial controls are applied in order to retain alignment of the product to the initial, and changing, requirements of the organization. However, freedom from tight controls promotes learning.9 The product also has contradictions among desired outcomes. Designers must consider tradeoffs between product efficiency and flexibility, with the trend in processing power leading us ever more toward the flexibility side. Still, we rage between conflicting criteria, with the advocates of a waterfall system development lifecycle (SDLC) usually pushing more for control aspects and efficient operations while agile proponents seek more of a learning process and flexible product.

Regardless of the development methodology followed, project managers must strive to deliver the system on time, within budget, and to meet the requirements of the user. Thus, both product and process are crucial in the determination of success. To compound the difficulties, those in control of choosing an appropriate methodology view success criteria from a different perspective than other stakeholders. Understanding how different stakeholders perceive these factors impacting eventual project success can be valuable in adjusting appropriate methodologies. Our study looks at these relationships using well established instruments in a survey of IS development professionals to better clarify the importance of these variables in system project success and any perceived differences among different players in IS development (see the sidebar on “How the Study Was Conducted“).

Back to Top

Product Efficiency and Flexibility

Two of the more global quality characteristics that characterize software systems from an organizational view are efficiency and flexibility. Efficiency considers aspects associated with systems that run according to a schedule and produces expected output according to the demands of the organization. Flexible systems are readily changed by the organization to meet changing environmental conditions with minimal resources spent in conducting essential maintenance.

One goal of the SDLC is to build software products based on stable and well-defined requirements in order to deliver an efficient product. However, flexibility to better respond to changing customer needs is often lost in the quest to come up with an efficient product. Agile development approaches the world from a more flexible view, not only in the development process but in a product that is readily adjusted to the needs of an organization. Views toward one extreme or the other is a limiting, and wrong, characterization, but methods and philosophies do tend to shape the product as well as the process.

Back to Top

Process Learning and Control

Learning represents the ability of an organization to pick up best practices from external entities as well as distribute knowledge and lessons learned throughout the company. Control refers to the more rigid practices in place that monitor progress and quality of an ongoing project and enforce social roles and relationships in the project. The two certainly do not conflict. Controls are developed out of knowledge and modified as learning occurs. Learning is best fostered in an environment with some controls, and control procedures to return knowledge through feedback are effective in the learning process.

Controls are coveted by management as a means to ensure success. Controls detect deviations from the schedule, budget, and goals that warrant corrective action. “In many organizations, particularly large ones, a primary criterion for the usefulness of any procedure is its predictability and the degree to which it allows us to apply control.”1 The capability maturity model (CMM) model is a common representation of control practices. The focus of the CMM model is to provide improvement in the control of systems development projects through use of metrics and software process improvement. CMM, with its emphasis on more detailed processes and procedures, fits best with an SDLC approach.

The development methods, such as agile development, argue for less control and stress learning.2 Such approaches are part and parcel to organizational learning concepts that involve feedback and iterative cycles. “Success is then measured by achievement of the goal of delivering value to the customer within the reasonable business constraints imposed on the business, not by mindless adherence to a plan.”1 These methodologies argue for project managers to give away their control function and act as facilitator and act to promote continuous learning.10 This may be difficult, as project managers and IS managers both view control as the most crucial of all four factors in success of IS projects.

Back to Top

The Importance of All Four Factors

Not surprisingly, the results of our study indicate clearly that all four considerations are important predictors of project success. All three of the major stakeholder groups viewed the same factors as significant, but managers clearly place a much higher magnitude of importance on controls. While development methodologies and project team members may lean toward one factor over the other, a good project manager must incorporate all four considerations into a single view to ensure project success. Whatever the success measures ultimately selected for any project, organizational expectations and involved stakeholders define success. Meshing these expectations across the variety of stakeholders to achieve a consonance of goals and understanding is fundamental.6 In the absence of consonance, success measures would be applied and narrowly defined to satisfy a particular stakeholder rather than benefit the entire organization. Thus, success must come under a project umbrella that views the interests of more than the developers or particular set of developers in an organization. Figure 2 illustrates how overlapping interests should succumb to a more global view for projects that considers the entire set of tradeoffs in process and product.

Back to Top

What To Do?

Looking at it strictly from a project manager’s perspective, control cannot be abandoned. Yet, clearly, an organization excels in the long run when learning occurs during the development process. Just as clearly, the product needs to be amenable to changes as the business environment changes, but inefficiencies creating tardy access to information could prove devastating. This requires that each approach specifically place features promoting all four aspects into the development processes. Though there will always be tradeoffs, the four considerations need not be contradictory and can be enhanced in several fashions:

Use control but promote learning. As many projects are large and operate within large organizations, control is vital. Control is needed by the project manager to maintain roles and responsibilities, and avoid scope deviations, schedule slippages, and cost overruns. This may explain why the managers in the sample strongly emphasized controls. Still, even in the traditional development environment, learning is important to bring in best practices learned by the organization from similar projects. Post-project reviews are an essential practice of control, designed to mitigate future risks, yet are not effective unless the organization fosters an environment of learning. The CMM considers learning by promoting continuous process improvements. In that sense, learning is linked to achieving better control of system projects and processes.

Set standards of quality to promote both flexibility and efficiency. Most quality standards within the CMM and traditional SDLC methods focus on standardizing and optimizing the product to a pre-specified set of customer requirements. It is quite possible that these quality standards will result in a rigid but efficient product which may or may not satisfy customer needs over time. Project managers need to adopt quality measures and standards that promote both product efficiency and flexibility. Measures for product efficiency are already commonly applied and need to be supplemented with measures on flexibility. A metric to measure requirements volatility and the response to change would be an effective measure for flexibility.

In primarily agile developments. Agile development methods argue for a feedback cycle approach to learn more about the user needs. Controls need to be goal-oriented,1 not task-oriented. Control needs to be exercised on processes and people through effective communication and promoting team work. Informal controls that enforce organizational practices and team roles should also be particularly effective.5 Feedback cycles can provide control points just as phases of a life cycle do. In particular, reviews can be used to monitor continued quality and progress. Application of software quality standards can be accomplished through rigorous testing of the product after each cycle, with lessons learned about the quality fed into the next cycle.

In primarily traditional environments. Learning can be established at various points in a traditional project environment through checkpoints, reviews, and experiential learning. Learning can also be promoted by a knowledge management system that codifies some of the knowledge learned by the team that would be valuable to the organization.8 It becomes crucial that organizations examine their process and controls to be certain that learning capabilities are built into the project management framework. Post-project reviews are effective only when the knowledge gained is absorbed by future project teams.

Keep the entire project in view. Keeping a project level view does not stray to one side or the other of the process and product debates. A combined view of the two approaches, shown in Figure 2, should be to adopt the methodology to fit the system project on hand based on their strengths and limitations, then adjust the methods as suggested in the preceding discussion and summarized in Table 2. According to Boehm,3 organizations must evolve toward the best balance of plan-driven and agile methods to arrive at a blend that best meets their needs. In that case, organizations need to apply control and learning while looking to develop a system that is efficient and flexible. Striking a balance among these four considerations is necessitated by the system development project. It is not any particular methodology that drives project risk but how well it fits a given project.11 Perceived differences among stakeholders on the importance of these four indicators should be reconciled prior to the beginning of any development project to arrive at a consonance of ideas.6 Project techniques that promote communication and collaboration should be considered as processes to arrive at mutual goals and agreement on measuring achievement of the goals.7

Back to Top

Back to Top

Back to Top

Back to Top

Figures

F1 Figure 1. Importance of Factors to Project Performance

F2 Figure 2. A Global Project View

Back to Top

Tables

T1 Table 1. Descriptive Items

T2 Table 2. Key Improvements

Back to Top

    1. Armour, P. G. The business of software: To plan, two plans. Comm. ACM 48, 9 (Sept. 2005), 15–19.

    2. Augustine, S., Payne, B., Sencindiver, F., and Woodcock, S. Agile project management: steering from the edges. Comm. ACM 48,12 (Dec. 2005), 85–89.

    3. Boehm, B. Get ready for agile methods, with care. Computer (Jan. 2002), 64–69.

    4. Hardgrave, B. C. and Armstrong, D. J. Software process improvement: it's a journey, not a destination. Comm. ACM 48, 11 (Nov. 2005), 93–96

    5. Kirsch, L. Deploying common systems globally: The dynamics of control. Information Systems Research 48, 4 (2004), 484–498.

    6. Klein, G., Jiang, J., and Sobol, M. Consonance in information systems, in Strategies and Organizations in Transition, C. S. Galbraith, ed., Elsevier Science, Ltd., (2001), 191–210.

    7. Larson, E. Partnering on construction projects: a study of the relationship between partnering activities and project success. IEEE Transactions on Engineering Management 44, (1997), 188–195.

    8. Nerur, S, Mahapatra, R and Mangalaraj, G. Challenges of migrating to agile methodologies. Comm. ACM 48, 5 (May 2005), 72–78.

    9. Nonaka, I. and Takeuchi, H. The Knowledge-Creating Company, Oxford University Press, NY, 1995.

    10. Procaccino, D. Verner, J. and Lorenzer, S. J. Defining and contributing to software development success. Comm. ACM 49, 8, (Aug. 2006), 79–83.

    11. Tiwana, A. and Keil, M. The one-minute risk assessment tool. Comm. ACM 47, 11, (Nov. 2004), 73–77.

    DOI: http://doi.acm.org/10.1145/1562764.1562794

Join the Discussion (0)

Become a Member or Sign In to Post a Comment

The Latest from CACM

Shape the Future of Computing

ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.

Get Involved

Communications of the ACM (CACM) is now a fully Open Access publication.

By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.

Learn More