top of page

SYSTEM FUNDAMENTALS | SYSTEM DESIGN

SECTION 1 | STAKEHOLDERS

 

​Stakeholders in the planning of a new computer system can come from a variety of backgrounds and have a range of interests and concerns. Some examples of stakeholders include:

  • End-users: The individuals who will actually use the new system on a day-to-day basis. They will have specific requirements for the system's functionality, usability, and performance.

  • Business owners: The individuals or organizations that will benefit from the new system. They will have concerns about the system's ability to support their business goals and meet their operational needs.

  • IT department: The individuals responsible for implementing, maintaining, and supporting the new system. They will have concerns about the technical requirements of the system and the resources needed to deploy and maintain it.

  • Project team: The individuals responsible for planning, designing, and developing the new system. They will have concerns about the scope of the project, the timeline, and the budget.

  • Vendors: The individuals or organizations providing equipment, software, or services for the new system. They will have concerns about the technical specifications of the system and their ability to meet the project's requirements.

  • Regulators: The individuals or organizations responsible for ensuring that the new system complies with relevant regulations and standards. They will have concerns about the security and privacy of the system and the protection of sensitive data.

  • Customers: The individuals who will use the products or services offered by the business. They will have concerns about the reliability and quality of the new system and its ability to support their needs.

 

The stakeholders in a new computer system project can be diverse and have varying interests and concerns. It is important to consider all stakeholders when planning a new system to ensure that the project meets the needs of everyone involved and has the best chance of success.

 

The System Development Life Cycle (SDLC) is a structured approach to designing, developing, and deploying new systems. One of the key components of the SDLC is stakeholder analysis and management, which involves identifying the individuals or groups who have a vested interest in the outcome of the project and considering their needs and requirements throughout the planning and development process.

 

There are several reasons why considering stakeholders is important when planning a new system:

  • Aligning goals: By engaging with stakeholders and understanding their needs, the project team can ensure that the goals of the project align with the goals of the stakeholders. This can help to build support for the project and increase the chances of its success.

  • Better decision-making: By including stakeholders in the planning process, the project team can gain valuable insights into the needs and concerns of different groups, which can inform decision-making and help to avoid potential roadblocks.

  • Increased buy-in: When stakeholders feel that their needs and concerns have been taken into consideration, they are more likely to support the project and be invested in its success.

  • Improved communication: Engaging with stakeholders can help to improve communication and build relationships between the project team and different groups. This can help to reduce misunderstandings and minimize the risk of conflict.

 

Considering stakeholders is crucial to the success of a new system development project. It helps to align goals, inform decision-making, increase buy-in, and improve communication, all of which are critical to the success of the project.

 

SECTION 2 | METHODS OF OBTAINING REQUIREMENTS

 

There are several methods for obtaining requirements from stakeholders during the planning phase of a new system development project. These methods include:

  • Surveys: Surveys are a useful tool for gathering information from a large number of stakeholders in a relatively short amount of time. Surveys can be conducted online or in person, and can be designed to gather specific types of information, such as functional requirements or user preferences.

  • Interviews: Interviews are a more personal and interactive way of gathering information from stakeholders. They allow the project team to ask questions, probe for more information, and get a better understanding of the stakeholders' needs and requirements. Interviews can be conducted one-on-one or in small groups.

  • Direct observations: Direct observations involve observing stakeholders as they perform tasks related to the new system. This method can provide valuable insights into the way stakeholders currently perform their work, and can help the project team identify areas where the new system can improve their efficiency and effectiveness.

  • Focus groups: Focus groups are a form of group interview that involve a small number of stakeholders who are brought together to discuss and provide feedback on the new system. Focus groups can provide a collaborative and interactive forum for stakeholders to voice their opinions and requirements.

  • Workshops: Workshops are structured sessions where stakeholders and the project team work together to identify and prioritize requirements for the new system. Workshops can be a highly effective way of engaging stakeholders and ensuring that their needs are taken into consideration throughout the planning and development process.

 

There are several methods for obtaining requirements from stakeholders, including surveys, interviews, direct observations, focus groups, and workshops. The best method will depend on the specific needs and goals of the project, as well as the preferences and availability of the stakeholders.

 

SECTION 3 | GATHERING INFORMATION

 

Examining current systems, competing products, and organizational capabilities are important steps in the planning phase of a new system development project. These examinations can help to ensure that the new system meets the needs of the stakeholders and has the best chance of success.

  • Examining current systems: Examining the current systems in place can help to identify areas for improvement and provide valuable insights into the way that stakeholders currently perform their work. This information can be used to inform the design of the new system and ensure that it meets the needs of the stakeholders.

  • Competing products: Examining competing products can provide valuable information about the state of the market and the capabilities of similar systems. This can help the project team to identify best practices and innovative features that can be incorporated into the design of the new system.

  • Organizational capabilities: Examining the organizational capabilities of the business is important to ensure that the new system will be able to integrate effectively with existing systems and processes. This examination can help to identify any limitations or constraints that may impact the deployment and adoption of the new system, and can inform the design and development of the new system to ensure that it is well-suited to the needs of the organization.

 

Examining current systems, competing products, and organizational capabilities is a critical step in the planning phase of a new system development project. This examination can help to ensure that the new system meets the needs of the stakeholders, integrates effectively with existing systems and processes, and has the best chance of success.

 

The following methods of gathering information on current systems - questionnaires, interviews, direct observation, and reading documentation - are all effective in their own ways.

  • Questionnaires can be a useful way to gather information from a large number of stakeholders in a relatively short amount of time. They can be designed to gather specific types of information and can be conducted online or in person.

  • Interviews are a more personal and interactive way of gathering information from stakeholders. They allow the project team to ask questions, probe for more information, and get a better understanding of the stakeholders' needs and requirements. Interviews can be conducted one-on-one or in small groups.

  • Direct observation involves observing stakeholders as they perform tasks related to the current system. This method can provide valuable insights into the way stakeholders currently perform their work, and can help the project team identify areas where the new system can improve their efficiency and effectiveness. A drawback of this method can be the Hawthorne effect.

  • Reading documentation is a useful way to understand the technical details of the current system, including its architecture, components, and integration points. It can also help the project team to identify areas where the current system may be lacking and where improvements can be made.

 

Overall, using a combination of these methods can provide a more comprehensive understanding of the current system and its limitations. It is important for the project team to select the most appropriate methods for their specific needs and goals, and to involve stakeholders throughout the process to ensure that their needs and requirements are taken into consideration.

 

SECTION 4 | PROTOTYPING

 

Prototyping is the process of creating a preliminary version of a proposed system to demonstrate its functionality and design to the client. The purpose of prototypes is to provide a tangible representation of the proposed system, which can help to:

  • Improve communication: Prototypes can help to improve communication between the project team and the client by providing a visual representation of the proposed system. This can help to clarify any misunderstandings or ambiguities and ensure that both the project team and the client are on the same page.

  • Solicit feedback: Prototypes can be used to solicit feedback from the client and other stakeholders about the proposed system. This feedback can be used to make improvements to the system and ensure that it meets the needs of the stakeholders.

  • Validate assumptions: Prototyping can help to validate assumptions about the feasibility and usability of the proposed system. This can help to identify any potential issues early in the development process and prevent costly mistakes down the line.

  • Demonstrate functionality: Prototypes can demonstrate the functionality of the proposed system, allowing the client to see how it will work in practice. This can help to build confidence in the system and increase the chances of its successful adoption.

  • Accelerate development: Prototyping can help to accelerate the development process by allowing the project team to test and refine the system before investing significant resources in full-scale development.

 

The purpose of prototypes is to demonstrate the proposed system to the client and provide a tangible representation of its functionality and design. Prototyping can help to improve communication, solicit feedback, validate assumptions, demonstrate functionality, and accelerate development, all of which are critical to the success of the project.

 

SECTION 5 | ITERATING THROUGH THE SDLC

Iteration is the process of repeating a sequence of steps to refine and improve a design. Iteration is an important part of the design process, as it allows the project team to refine the design and make improvements based on feedback and testing.

 

There are several reasons why iteration is important during the design process:

  • Improving quality: Iteration allows the project team to make gradual improvements to the design, which can help to increase its quality and effectiveness. Iteration can also help to identify and resolve any issues early in the development process, reducing the risk of costly mistakes down the line.

  • Responding to feedback: Iteration allows the project team to respond to feedback from stakeholders and make changes to the design based on that feedback. This can help to ensure that the design meets the needs of the stakeholders and has the best chance of success.

  • Building momentum: Iteration can help to build momentum and keep the project team motivated and engaged. By seeing their design improve over time, the project team can feel a sense of progress and accomplishment, which can help to maintain their focus and commitment to the project.

  • Encouraging creativity: Iteration can encourage creative problem-solving and encourage the project team to explore new ideas and approaches. This can help to identify innovative solutions and increase the chances of success for the project.

  • Reducing risk: Iteration can help to reduce the risk of failure by allowing the project team to test and refine their design before committing to full-scale development. This can help to identify and resolve any potential issues early in the development process and prevent costly mistakes down the line.

 

Iteration is an important part of the design process. It allows the project team to refine the design, respond to feedback, build momentum, encourage creativity, and reduce risk, all of which are critical to the success of the project.

 

SECTION 6 | END USER INVOLVEMENT

 

Failing to involve end-users in the design process can have several negative consequences, including:

  • Poor usability: End-users have a unique perspective on the way they perform their work and the tasks they need to complete. If they are not involved in the design process, the system may not be designed to meet their needs and may be difficult or inefficient to use.

  • Low adoption: If end-users are not involved in the design process, they may not feel a sense of ownership or investment in the system. This can lead to low adoption rates and reduced use of the system, which can impact its effectiveness and efficiency.

  • Resistance to change: If end-users are not involved in the design process, they may feel that their needs and concerns have been ignored. This can lead to resistance to change and a lack of buy-in from the end-users, which can make it more difficult to implement and support the new system.

  • Unmet requirements: End-users have a deep understanding of their work processes and requirements. If they are not involved in the design process, it can be difficult to ensure that their needs are being met. This can result in a system that does not meet their needs and is less effective and efficient than it could be.

  • Missed opportunities: End-users may have ideas and suggestions for how the system could be improved or enhanced. If they are not involved in the design process, these ideas and suggestions may be missed, and the system may not be as innovative or effective as it could be.

 

Failing to involve end-users in the design process can have serious consequences, including poor usability, low adoption, resistance to change, unmet requirements, and missed opportunities. It is important to engage end-users in the design process to ensure that their needs are taken into consideration and that the system meets their requirements and has the best chance of success.

 

SECTION 7 | SOCIAL AND ETHICAL CONSIDERATIONS

 

The introduction of new IT systems can raise a range of social and ethical issues, including:

  • Privacy: New IT systems often involve the collection, storage, and processing of personal data. This can raise concerns about privacy and the protection of personal information. There is a risk that personal data may be misused or disclosed without the individual's consent, which can have serious consequences for their privacy and security.

  • Employment and job displacement: The introduction of new IT systems can have a significant impact on employment and job displacement. Automated systems and artificial intelligence technologies can replace human workers, leading to job losses and a decline in the demand for certain types of work.

  • Digital divide: The introduction of new IT systems can create a digital divide, with those who have access to technology and the skills to use it having a significant advantage over those who do not. This can exacerbate existing social and economic inequalities and create barriers to opportunity.

  • Bias and discrimination: The algorithms used in new IT systems can perpetuate existing biases and discrimination. For example, facial recognition technology has been criticized for having a higher error rate for people with darker skin tones, which can result in discriminatory outcomes.

  • Cybersecurity: The introduction of new IT systems can increase the risk of cyber attacks and data breaches, which can have serious consequences for individuals, organizations, and governments. This can raise concerns about the security of personal information and the protection of sensitive data.

 

The introduction of new IT systems can raise a range of social and ethical issues, including privacy, employment and job displacement, the digital divide, bias and discrimination, and cybersecurity. It is important to consider these issues and to take steps to mitigate their impact and ensure that new IT systems are designed and deployed in a responsible and ethical manner.

Teacher don't teach me nonsense  

                                       

                     - Fela Kuti

bottom of page