Management Dimensions: Organization, Process, Project

This brief essay introduces the nature of, and interactions within, three dimensions of management; organizational, process, and project management. Each of these three dimensions of management is introduced, with interactions between them described in the process. To further illustrate the nature of, and interactions within, these three management dimensions, organizational responses to innovations within the past fifty years are discussed. These innovations include reusable modules in software development, object-oriented programming, and Agile development. Organizational management is demonstrated to provide an overarching framework from which processes are established and projects arise.

Management Dimensions

Organization Management

Organizational management refers to “the art of getting people together on a common platform to make them work towards a common predefined goal” (MSG, 2020). The practice of organization management includes the management of organizational resources to achieve clearly defined organizational goals. Organization management includes an over-arching approach to planning, organizing, resource acquisition and disposal as well as human resource management. To carry out organizational management involves implementation of projects and processes. With respect to software in the organization, organizational goals and priorities should drive the development and acquisition of software assets.

Organization management establishes processes designed to achieve organizational goals and priorities (Ahmed, 2011, p. 11). Examples of processes within the organization would be the employment application process, equipment acquisition processes, or the human resources annual review process. Organizational management also typically establishes processes for new projects, and approves processes which take place within each project.

Process Management

A process is simply a “defined way of doing things” (Ahmed, 2011, p. 9). Within any organization there are tasks to be completed and processes developed for accomplishing those tasks. Processes can be broken down into a series of steps to be completed, the final result of which is task completion. Process management within an organization provides “a way of looking at and then controlling the process that are present in an organization” (AIIM, 2020). From a software development perspective, the stages of the software development life cycle can be described as the completion of many sequential tasks.

Formalizing software requirements, as an example, would include the task of requirements elicitation which involves the following process of steps; 1) identify actors, 2) identify scenarios, 3) identity use cases, 4) refine use cases, 5) identify relationships among actors and use cases, identify objects, and 6) identify nonfunctional requirements (Bruegge & Dutoit, 2010, pp. 130-148). Such processes would need to be established on software projects within guidelines established by organizational management. Accordingly, in order to be successful, project managers need to be aware of process structures in the organization well beyond their project borders (Ahmed, 2011, pp. 11-12).

Project Management

Organization management determines the need for new projects according to its established goals and priorities. A project is “a temporary endeavor undertaken to create a unique product, service or result” (PMI, 2020). Each project has a desired outcome, which can be characterized by well-defined requirements. Project management is “the application of knowledge, skills, tools, and techniques to project activities to meet project requirements” (PMI, 2020). Software projects arise in response to organizational needs, and each project will usually involve several processes to complete (Ahmed, 2011, pp. 11-18). Software project management involves four phases; initiation, planning, monitoring, and closure (Ahmed, 2011, p. 5). Each phase of software project management can be broken down into a number of tasks and associated processes to complete those tasks.

Software project tasks for the initiation phase include schedule estimates, project charter, project scope, project objectives, initial effort estimates, and a preliminary cost estimate (Ahmed, 2011, p. 13). Processes would be established for accomplishing each of these tasks. For example, project initiation would include the task of determining if commercial off the shelf (COTS) can be utilized or if the project requirements dictate development of a new software system (Ahmed, 2011, pp. 13-14). Taking the example one step further, the task would include a process such as; 1) gather a list of all COTS products which can produce the project requirements, 2) construct a realistic estimate of the cost of implementing each COTS solution, and 3) present the cost of COTS solutions to management for review.

Management Dimensions in Action:

Innovative Change

Technological innovation calls on every organization to change. At times, this will mean new organizational initiatives as well as associated projects and processes. To illustrate the roles and interactions of organization, project, and process management, this paper examines the impact of three innovations in software development; 1) the introduction of development in reusable modules, 2) the advent of object-oriented programming, and 3) Agile approaches to software development (Glass, 2005, pp. 16-18). Each of these three innovations have proven to have far reaching consequences in organizations today with each requiring adaptation and interaction in organizational, process, and project management.

Reusable Modules

Robert Glass suggests that software development in modules can be traced to the mid-1950’s and that this single ideal remains “the arguably most important advancement in software history” (Glass, 2005, p. 16). This development, which originally called for software systems to be made up of separable components, has developed progressively from its simple beginnings to a world where third-party software modules are deployed in the vast majority of applications. A primary reason for this is driven by market factors. Stephen Schach explains that “no matter how high the quality of a software product may be, it will not sell if it takes 2 years to get it on the market when a competitive product can be delivered in only 1 year” (Schach, 2011, p. 227). An example of these third-party modules can be found in mail service providers like Mailgun (2020). By offering a few lines of code, developers can utilize Mailgun to send email messages from any application, regardless of whether or not that application is written in one of eight programming languages. This saves the developer need to acquire mail server resources and to automate their own mail application.

Organizational goals typically include maximizing profit, reducing costs, and accordingly producing software applications and products quickly without sacrificing quality. As is illustrated by Schach’s example above, market forces today will often necessitate that reusable modules be sought out wherever possible. Software project managers should be familiar with available reusable modules and understand where they can be implemented in the completion of software projects. During the design and planning phase of projects, processes should be established gathering information on reusable modules which can be utilized, the risks and benefits of each, and determination of their role in the software project at hand.

Object-Oriented Programming

Between 1975 and 1985, Object-Oriented (OO) approaches to software development “became all the rage” (Glass, 2005, p. 18). OO approaches to development, as opposed to the traditional, structured or classical approaches, arose primarily as a solution to two growing problems (Schach, 2011, p. 18). First, traditional techniques were struggling to cope with the increasing size of software applications. While traditional techniques could reasonably manage an application with 5,000 or fewer lines of code, applications were commonly growing to 500,000 lines of code and more (Schach, 2011, p. 18). The second reason for the advent of OO approaches can be found in the burgeoning cost of postdelivery maintenance. With traditional approaches, organizations were spending 70% to 80% or more of their resources on postdelivery maintenance (Schach, 2011, p. 18). OO approaches create natural divisions in the software system by objects, breaking the coding process down into modules. Once the system is delivered, maintenance usually involves the modification of only the objects affected.

Because OO approaches are designed to reduce development and postdelivery costs, they are often consistent with organizational goals. Accordingly, organizational management in many cases has responded to require software to be produced using OO approaches. Human resource guidelines for hiring, established by organizational management, often require software professionals to be trained in OO approaches to development. Organizational management would also establish guidelines that new project and processes use OO principles.

Using OO approaches, software projects today proceed with a division of the software system into objects, a definition of object attributes, and established relationships between objects in the system (Bruegge & Dutoit, 2010, pp. 143-146). Well defined processes can be implemented to define the objects and their relationships within the system including; 1) determination of object classes, 2) functional modeling, and 3) dynamic modeling (Schach, 2011, pp. 404-414).

Agile Development

In February 2001, seventeen software developers produced together the Manifesto for Agile Software Development (Agile, 2001). The manifesto expressed a commitment to individuals over interactions, working software over comprehensive documentation, customer collaboration over contract negotiation, and responding to change over following a plan. Since that time, a variety of software development life cycles and management practices have been developed which are consistent with these Agile principles (Schach, 2011, pp. 60-62). Initially, these life cycle and management approaches were initially met with some skepticism (Schach, 2011, p. 61). However, over the past 20 years, the Agile approaches have grown to be accepted as generally “increasing success rates in software development, improved quality and speed to market, and boosted the motivation and productivity of IT teams” (Rigby, Sutherland, & Takeuchi, 2016).

Because the positive organizational impacts of Agile are generally accepted today, many successful organizations are looking at Agile as a source of continued improvement. Organizations adopting Agile approaches to management include Caterpillar, Boeing, Ford, United Healthcare, State Farm, Wells Fargo, Capital One, NASA, the FBI, and the US Department of Defense (Barton, 2012). In a similar fashion to OO approaches and even perhaps more far reaching, Agile methods have affected organizational priorities. In human resources management, software professionals are often required to have a knowledge and experience related to Agile work environments and processes. Job definitions and responsibilities are affected throughout the organization.

The Project Management Institute, a recognized certification authority for project managers for over fifty years, now has a project management certification focused solely on Agile methods (PMI, 2020) . In most cases, traditional ‘Project Manager’ positions have been eliminated completely from organizations. In their place, Agile teams exist with ‘Team Member’ roles and a ‘Team Leader’ also known as ‘Scrum Master’ (Ambler, 2012). While the organization’s human resource department coordinates hiring, members of projects using Agile methods will also require training in Agile principles and processes.

Summary

While degrees of formalization vary from case to case, every organization is faced with the need for organization management, process management, and project management. This paper has introduced these three dimensions of management, discussed the roles and interactions of each, and illustrated these roles and interaction with historical focus on innovations in the past fifty years. Using reusable modules, object-oriented development approaches, and Agile, it was illustrated that technical innovation is embraced by organizational management as a means to better meet organizational goals and priorities. Moreover, once adopted by organizational management, process management must implement new processes throughout the organization to be consistent with the impact of the innovations. New projects, as they may arise, will also adjust to needs arising from the new innovations.

References

Agile. (2001). Manifesto for Agile Software Development. Retrieved from AgileManifesto.org: http://agilemanifesto.org/

Ahmed, A. (2011). Software project management: A process driven approach. Boca Raton: CRC Press.

AIIM. (2020, January 10). What is business process management? Retrieved from AIIM: Association for information and image management: https://www.aiim.org/What-is-BPM#

Ambler, S. (2012). Roles on Agile teams: From small to large teams. Retrieved from Ambysoft: http://www.ambysoft.com/essays/agileRoles.html

Barton, B. (2012, July 31). Agile has crossed the chasm, Agile hasn’t crossed the chasm. Retrieved from CutterBlog: https://blog.cutter.com/2012/07/31/agile-has-crossed-the-chasm-agile-hasnt-crossed-the-chasm/

Bruegge, B., & Dutoit, A. H. (2010). Object-oriented software engineering, 3rd Edition. Upper Saddle River: Pearson Education.

Glass, R. L. (2005). Silver bullet milestones in software history. Communications of the ACM Vol. 48, No. 8, 15-18.

Mailgun. (2020, January 10). Home Page. Retrieved from Mailgun: The email service for developers: https://www.mailgun.com/

MSG. (2020, January 10). Organiation management – meaning, need and its features. Retrieved from MSG: Management Study Guide: https://www.managementstudyguide.com/organization-management.htm

PMI. (2020, January 10). PMI Agile Certified Practitioner. Retrieved from PMI: Project Management Institute: https://www.pmi.org/certifications/types/agile-acp

PMI. (2020, January 10). What is project management? Retrieved from PMI: Project Management Institute: https://www.pmi.org/about/learn-about-pmi/what-is-project-management

Rigby, D. K., Sutherland, J., & Takeuchi, H. (2016, May). Embracing Agile. Harvard Business Review. Retrieved from https://hbr.org/2016/05/embracing-agile

Schach, S. (2011). Object-oriented and classical software engineering, 8th edition. New York: McGraw Hill.

Leave a Comment

Your email address will not be published. Required fields are marked *