The management of software development is a major challenge that stakeholders must not overlook. Software development is becoming complex because of constant changes, fierce competition in the industry, and cost issues. These challenges are even complex in situations where so many stakeholders have their inputs. Consequently, traditional strategies for software development often fail to produce the desired results. This implies that management teams must consider new strategies for solving such issues.
We will write a custom Term Paper on Soft Systems Methodology Application specifically for you
301 certified writers online
Soft Systems Methodology (SSM) is an appropriate system for analyzing problems in such complex and messy cases (Checkland and Scholes, 1990). SSM relies on systems thinking, which uses “a cycle of action research, learning, and reflections to help understand various perceptions that exist in the minds of different people involved in the situation” (Checkland and Scholes, 1990). In this case, SSM strives to evaluate all options presented in a complex management system. SSM is applicable in most fields such as health, information, planning, human resources, and logistics among others. Specifically, SSM is useful in areas of project, knowledge, engineering, and construction management.
Problems in Software Project Management
Software development is a difficult process that experiences unexpected changes. The industry experiences problems from innovative technology from competitors and other demands from customers. The rapid development in this industry means that a firm does not have the luxury of time when developing new software. Otherwise, the product will be out-of-date before reaching the customer.
The firm consists of software developers, product managers, marketers, quality assurance teams, and senior executives. There are also external partners like customers and vendors.
This industry has extreme demands as compared to other industries. Software developers may work long hours, experience challenges of the deadline, and client’s demands. This implies that there is no room for experimenting with new ideas and researching innovative solutions because such cases may result in risks and jeopardize the entire project (Martin and Schwaber, 2004). Consequently, attempts to avoid risks in the software industry have created poor approaches to software development. However, firms, which have organized project management systems, have produced the best software for the market. Consequently, such an innovative approach has the potential of enhancing the creativity and productivity of the sector. This is a process of change. Unfortunately, most people tend to resist change initiatives for varied reasons. This means that a firm may not implement innovative ideas from other members of the team. For instance, the management may reject such proposals to save costs. Therefore, a firm may only adopt a few ideas and discard the rest. Such discrepancies originate from various sources.
Such problems are what Rittel and Webber classify as ‘wicked problems’, which relate to social problems for planners. Such problems are not easy to solve. The problem has a web of interrelated elements. This brings confusion because it is difficult to comprehend how a proposed solution shall affect other areas. The software industry is dynamic and uncertain. This makes the situation risky. There are also cases of competing interests.
Organizational change provides an example of a situation where a wicked problem exists. For instance, Primavera experienced such challenges with its software development projects. This is a situation whereby the problem keeps on changing and complex decisions are necessary for effective change. Many stakeholders make such situations complex and aggravate the situation (see fig. 1: an adaptation of a wicked problem).
The best approach to handling such a problem involves an analysis of the whole system rather than its elements. This approach recognizes that parts of problems relate to one another and solutions affect other parts too. Thus, the best solution entails discussions, debates, brainstorming, and deliberation for compromising positions and reconciling divergent viewpoints among the team. In this area, firms must take into account a thorough stakeholders’ analysis to solve the problem.
Other scholars (Barry and Foriue McIntosh) recommended SSM as the best method for handling such problems. This is because SSM has systems thinking and concepts, which offer chances for improvement so that stakeholders can address the problem. SSM provides a system whereby all stakeholders participate in all processes. It provides opportunities to think, analyze, and respond to the issue.
SSM shall enable us to explore and complex and messy conditions in software development. These problems originate from human activities within and outside an organization. SSM considers all alternatives from various stakeholders in the project. This enables stakeholders to understand sources of complexity. Thus, SSM provides a practical approach to complex problems in software development. Stakeholders must apply their strategies to understand vague and complex problems, which exist in software development.
Learning is imperative in this process. In software development, SSM works because every goal, solution, or purpose may present another problem. Thus, SSM presents an efficient method of getting a precise end. SSM provides logical stages, which involve seven steps of handling the problem.
These stages do not have a definite starting point. The process can begin at any stage. The process involves iteration concerning the previous stage. This approach also enables system practitioners to understand a firm from cultural perspectives. This implies that various cultures of stakeholders shall influence the organization. In other words, people in a firm attribute “different meanings to situations and identify their initiatives for the organization” (Checkland and Scholes, 1990).
Application of SSM in Software development problems
Software companies with traditional approaches to software development find it difficult to operate in a dynamic and fierce environment. As a result, such companies are under pressure to change their practices. SSM can facilitate the change process and problem-solve for such organizations. In this sense, SSM facilitates debates and discussions among stakeholders by highlighting the future needs of the organization. SSM relies on the experiences, social, and intellectual capabilities of stakeholders to solve problems.
Stakeholders can apply SSM during the early stages of software development to understand the problem situation from a general point. Software development is a complex process that needs multidisciplinary approaches. Besides, there is a need to incorporate various opinions, designs, innovation, and management practices that various stakeholders bring.
Get your first paper with 15% OFF
Software development requires “a root definition of problems and expression of problems in forms of rich pictures to identify responsible stakeholders, key changes, and knowledge resources needed for software development” (Checkland and Scholes, 1990). Besides, SSM must create “a conceptual model that shows knowledge patterns in various activities” (Checkland and Scholes, 1990). Patterns from a conceptual model provide “a basis for innovation, technical design, and organizational and social intervention” (Checkland and Scholes, 1990). This model can address complex situations in software development organizations. At the same time, it can provide a basis for innovation and management of knowledge in software companies.
From the above diagram, we can decipher how SSM can deal with complex and confusing problems that involve human, organizational, and technical features of project development. SSM facilitates group activities, learning, and decision-making. The approach gains strength from involving various stakeholders in the firm and encourages a joint approach to problem-solving. At the same time, SSM helps a firm to pursue changes relating to culture and learning.
The research had no potential hazard to participants. On the other hand, it shall benefit stakeholders in software development organizations on how to improve their project management approaches. The researcher took care to protect any information obtained from the subjects.
The researcher ensured complete anonymity and confidentiality of the participants. The researcher assured the subject that the data collected were for study purposes only. The study report shall only appear in the student’s report and the University shall securely keep the information and destroy it when appropriate from the date of publication. The researcher shall not use any personal information on the report. Also, the researcher did not collect any data related to personal information.
The data type the researcher collected did not require the informed consent of the participants. However, the researcher requested informants’ permission before proceeding with the data collection. Thus, informants also agreed with the researcher by participating and returning the questionnaires. At the same time, the researcher informed the participants that they had a right to withdraw from the researcher at any time of their choice.
Dissemination of findings only involved the University channel. The researcher shall be available to stakeholders for future consultation and reference. The researcher hopes that the report shall retain its current context and meaning.
Apart from these concerns, the researcher did not see any other matter of ethical concern.
A Stakeholder Analysis
Software development has various stakeholders who the researcher considered in the study. These included software developers, marketers, senior executives, and customers.
Software developers play a significant role in the organization. They must develop software to meet competition, deadlines, pass quality standards, and fit within the organizational budget. They have both high interests and power in the organization. They put effort and extra hours to develop products that meet customers’ demands. Any slightest delay may result in a late release of the product, which may make it obsolete. Thus, the organization must fully engage and satisfy software developers.
Marketers also have market intelligence and trends, which influence industry practices. The information they provide helps the company to know its position among its competitors. Occasionally, software developers and marketers may have different expectations on product delivery, quality, and features, which may lead to conflicts.
Senior executives make decisions that affect the organization. Traditionally, managers made decisions, which affected marketers and software developers. However, they never get close to various activities taking place in the organization. Consequently, change initiatives must ensure that these senior executives participate in various activities of the organization.
Customers have influenced various activities of software development. They are the ultimate users of such products. Customers can change their orders in the middle of a project or cancel the whole project. Such changes have effects on the organization. Customers also do not accept late deliveries as they term such products as obsolete. As a result, the organization must always strive to keep them informed and satisfied.
There are also external partners and competitors. Partners and vendors are responsible for supplying products to users. Thus, they help organizational processes. On the other hand, competitors’ activities challenge the systems of other organizations. They make the market dynamics with new products, which result in obsolete products.
However, these stakeholders must work together to create a highly satisfied customer base and motivated employees. In this manner, the team can build the best products, participate in decision-making, and encourage tradeoffs of decisions. Senior executives also get opportunities to work with the team during project development. This creates a vibrant workplace where employees can freely suggest new ideas.
Explanation of problems encountered in this project
First, defining the research paradigm in this study was difficult. This was because of the complexity of the problems. It was difficult to determine who understood the reality of organizational business and its activities. However, the researcher adopted SSM based on its action research (AR) that is cyclic nature.
Second, the nature of the study also made it difficult to define organizational stakeholders. These clients were to participate in the problem-solving processes of the AR project. This is because different people in the organization have different ideas and constructions of problem situations. Therefore, they maintain different opinions about problem situations. Besides, the values, beliefs, prejudices, and attitudes of these people influence outcomes.
Third, the nature of the problem required a multidisciplinary approach. Therefore, handling various sets of skills and capabilities also presented problems.
Fourth, planning of the research and engaging all stakeholders about decisions and directions adopted for studies were also challenges.
A reflection of the understanding of the complexity
The research process provided an insight into how a practitioner could develop his approaches when dealing with complex problems. This process also enabled learners to apply various approaches such as SSM, CATWOE, and others into a real-world situation with a project of their own choice.
This project provided opportunities for understanding various views in systems thinking and how such views challenge system practitioners. This provides opportunities for system practitioners to develop and understand complex problems through diagrams and reflective approaches to such complex situations. In this regard, the project enhanced the professional development of the researcher by presenting real-world issues and develop understanding through practical engagements.
Based on this study, there is a need to adopt the change to facilitate software development processes. We understand the complexity of software development and the issues that arise during project development.
Change of project management is necessary to establish effective communication among various stakeholders like innovators and users. This study has established that organizational process can improve in the following ways:
- Encouraging interpersonal communication among different stakeholders
- Increasing attention on new ideas and innovation, especially those coming from research and development
- Offering technical support in defining complex problems, identifying needs, selecting transformations, planning for implementation, and evaluating the progress
- Providing stakeholders with new knowledge, competencies, and enhancing problem-solving strategies
- Facilitating the flow of information and feedback among stakeholders
- Encouraging time management
This study has recognized that users of products are different from those who develop them. This leads to incompatibility among stakeholders. Hence, the study has proposed the creation of a linkage among stakeholders to increase collaboration in the organization.
Senior executives must promote collaboration among stakeholders and ensure effective communication in the organization. This approach aims at creating a culture of learning and group problem-solving.
Effective implementation of this initiative requires senior executives to demonstrate competence in the following areas:
- Fostering change and learning
- Enhancing program knowledge
- Facilitating collaborative decision-making
- Encouraging instructional leadership
- Creating a collaborative work environment
This is a process of change. It is a change that cuts across stakeholders, tools used, procedures employed, sociology of relationships, change of workplace space, and continuous collaboration to problem-solving to improve processes and products.
There must be a change between software developers and the marketing department so that they can understand how change shall affect their works. The change process shall focus on the requirements of a project rather than the project itself. This process must deviate from the company routines. Therefore, the organization must plan its approaches to change management.
The organization must ensure that there are changes in tracking project developments. This may need constant planning among all departments. Thus, stakeholders can make crucial decisions before moving forward to the next stage of the project. This creates accountability for emerging uncertainties during project development. This process provides opportunities to deal with uncertainties as they arise. The organization must recognize volatility in the software industry. This implies that it is difficult to predict future developments.
The organization shall have trouble in implementing changes. Every stakeholder must practice self-management. The team must plan how to cooperate and work together. The process aims to create an organization where the entire team gets credit for its performance. This reduces cases of competition within the organization and encourages change in thinking among stakeholders. It enables stakeholders to understand the outcome at the end of every phase and realize the importance of cooperative effort in the organization.
However, the organization must also realize that changes occur gradually. Adaptation of SSM outcomes to facilitate problem-solving of a complex situation is a step to changing the culture of the organization. Thus, executives must ensure that these initiatives are successful.
The system shall also create the flexibility needed for change in both internal and external environments. Thus, practitioners must look at changes taking place in both external and internal environments to relate them to initiatives in the organization. In case of any conflict, stakeholders must change processes and create new strategies.
This is the ‘story of the project’ in two parts.
The weekly summaries
The course introduced me to understanding managing complexity in the area of sustainable development. I noted several perspectives from practitioners on how we can apply systems thinking to complex and messy situations to create sustainability. The course also enabled me to recognize systems thinking so that I could participate in it by undertaking a project.
The course took me through stages or parts of systems thinking. Part one exposed me to systems thinking as a system practitioner. It enabled me to understand that a system practitioner had to manage complexity in organizations. In this process, I must recognize the influence of human beings as elements that can create complexity through various responses and outcomes in which only a few can serve complexity. Therefore, we have to apply systems methodologies for desired outcomes. Part two showed that we had to understand human complexity by using different proposals to understand complex situations.
Part three described ethical considerations during systems thinking projects. During the project, I ensured that I had the ethicality statement for the research subjects and a declaration of how my project shall affect their lives.
The overall summary
The project and course enabled me to appreciate that complex situation was difficult to understand and were often messy. Thus, the practitioner must be rational in his approach to the situation. My experience from the project enabled me to understand that systems thinking required a rational approach. However, the complexity of the situation made me feel confused and lost. At times, the situation would overwhelm me. Thus, formulating the project methodology was never a simple task. Besides, I also felt that the project would never discover the truth behind the situation. However, the experience from the overwhelming complexity of the situation also encouraged me to think of new approaches to understand the problem situation. Thus, systems thinking provided an opportunity for me to identify areas of interest in the project.
From systems thinking perspective, I had to recognize that there was a distinction between a real-world situation and possible alternatives various stakeholders generated. Many of these responses were not suitable for a complex situation. In this case, I recalled the idea of Ross Ashby about cybernetics. This was where the Law of Requisite Variety helped me. To understand the complexity of a situation, I needed many varieties of responses, and to identify how they related to one another and the problem. This enabled me to appreciate that problems were interconnected, and one solution could affect other outcomes.
I recognized that conducting the project required adequate preparation. I had to think carefully about the problem situation and choose the most appropriate methodology. I had to gather adequate information about the issue, identify a workable approach to the project, and formulate the project timetable to eliminate the delay. A thorough reflection of methodology enabled me to eliminate possible errors later in the project. This phase introduced me to the project.
This project also relied heavily on my class experiences and courses. The course provided valuable information about course expectations from systems thinking and system practitioners. Systems thinking required a thorough review of past studies. This was the only way I could understand how previous studies treated their cases. I noted that the application of various designs in the study was a difficult challenge I had to face. I knew that my project had to reflect the expected course objectives. Thus, I had to formulate a strategy for developing my method of managing complexity for sustainability. This was an opportunity for me to apply systems ideas, strategies, methods, and concepts learned in the class to a real-world project. I knew that the project would expose me to many views and approaches relating to managing complexity and how system practitioners handled such issues. It also enabled me to understand that projects were never linear especially where multiples stakeholders had to contribute their diverse opinions. The system diagrams simplified the process of understanding complex situations. It offered an opportunity to reflect on every response I received. This was my step to become a professional in the field of systems thinking.
This was where I faced a complex situation. I recognized that not all methodologies could fit the situation. This process involved a deep reflection. I had difficulties identifying organizational stakeholders and who exactly understood the activities of the organization. This was because different stakeholders had various views of what the organization should be or not be. Still, I had to balance my research with problem-solving. I had to remain impartial to the situation and conduct thorough research. At the same time, various departments and stakeholders I dealt with showed me that systems thinking must incorporate a multidisciplinary approach for creating sustainability. After this stage and completion of the research, I had to review it and ascertain its relevancy and contribution to the systems thinking.
SSM enabled me to develop conceptual models for understanding the complexity by defining the rich picture and root definition. From this strategy, I was able to identify all stakeholders such as clients and main actors, transformations, external environments, and real-world situations. I used the CATWOE strategy to ensure the inclusion of important aspects of what I expected from outcomes. At the same time, I realized that the system needed continuous monitoring in every stage of development.
The most important feature of this approach was that it enabled me to capture as many responses as possible from the problem situation. In this case, the rich picture expressed images of complexity I encountered.
Systems thinking also provided opportunities for me to think like a practitioner. I had to recognize influences from both internal and external environments. In all this, the human aspect attracted my attention. In this project, human beings created a system that was messy and made the problem complex. This made me think that it was responsible for the messy, complex, and problematic situation I encountered. In this context, I had to refer to some systems that helped practitioners understand how human beings worked. Therefore, I realized the importance of understanding human complexity before I could understand the existing problem. To conduct this project effectively, I had to adopt a participatory approach and experience shared events among stakeholders. SSM required collaboration among stakeholders to understand complexity.
This point brought me to another important aspect of research. I had to formulate an ethical statement regarding my project, the information I would collect, and my subject. It reflected my aspirations and values about the project. I knew that I had to deal with several people in the project that cared about their safety.
Checkland, P and Scholes, J 1990, Soft Systems Methodology in Action, John Wiley & Sons, Chichester.
Martin, C and Schwaber, R 2004, Best Practices in Scrum Project Management and XP Agile Software Development, Web.