Requirements elicitation techniques for overcoming a lack of domain knowledge
- Authors: Kawayongo, Jojo Mbumba
- Date: 2016
- Subjects: Interactive computer systems , Human-computer interaction , System design , Computer software - Development
- Language: English
- Type: Masters (Thesis)
- Identifier: http://ujcontent.uj.ac.za8080/10210/366326 , http://hdl.handle.net/10210/213034 , uj:21069
- Description: Abstract: Evidence suggests that requirements elicitation has been one of the fundamental activities in the development of software systems. Requirements elicitation entails systems analysts to interact effectively with users in order to gain knowledge of the proposed system. To ensure the quality of requirements elicitation, systems analysts might require domain knowledge of the proposed system. However, systems analysts might also be assigned to elicit requirements of a software system for which they lack domain knowledge. Thus, this research study presented a systematic literature review to identify all articles that discussed the techniques that can assist systems analysts obtain domain knowledge. This was achieved by following a systematic review protocol from which the researcher found 53 related articles. These articles were reviewed to identify which techniques might be used to obtain a specific type of domain knowledge such as behaviour, data, and process of the proposed system. The most interesting findings about this systematic review were that: - Most techniques were effective for obtaining domain knowledge of process. - A great number of techniques might be used for obtaining domain knowledge of behaviour. However, scenarios seemed to be the most effective. - Structure interview, card sorting, repertory grid, and prototyping were relatively a good fit for obtaining domain knowledge of data. Despite a great number of findings, this systematic review was also exposed to some validity threats. These threats were drastically reduced by following a well-defined systematic review protocol. However, not all of these threats were minimized completely and thus might need to be further investigated in future studies. In summary, this systematic review might be used as a guideline for helping both systems analysts who lack domain knowledge and practitioners in requirements elicitation. This systematic review also contributed to the body of literature in requirements elicitation techniques. , M.Ing.
- Full Text:
- Authors: Kawayongo, Jojo Mbumba
- Date: 2016
- Subjects: Interactive computer systems , Human-computer interaction , System design , Computer software - Development
- Language: English
- Type: Masters (Thesis)
- Identifier: http://ujcontent.uj.ac.za8080/10210/366326 , http://hdl.handle.net/10210/213034 , uj:21069
- Description: Abstract: Evidence suggests that requirements elicitation has been one of the fundamental activities in the development of software systems. Requirements elicitation entails systems analysts to interact effectively with users in order to gain knowledge of the proposed system. To ensure the quality of requirements elicitation, systems analysts might require domain knowledge of the proposed system. However, systems analysts might also be assigned to elicit requirements of a software system for which they lack domain knowledge. Thus, this research study presented a systematic literature review to identify all articles that discussed the techniques that can assist systems analysts obtain domain knowledge. This was achieved by following a systematic review protocol from which the researcher found 53 related articles. These articles were reviewed to identify which techniques might be used to obtain a specific type of domain knowledge such as behaviour, data, and process of the proposed system. The most interesting findings about this systematic review were that: - Most techniques were effective for obtaining domain knowledge of process. - A great number of techniques might be used for obtaining domain knowledge of behaviour. However, scenarios seemed to be the most effective. - Structure interview, card sorting, repertory grid, and prototyping were relatively a good fit for obtaining domain knowledge of data. Despite a great number of findings, this systematic review was also exposed to some validity threats. These threats were drastically reduced by following a well-defined systematic review protocol. However, not all of these threats were minimized completely and thus might need to be further investigated in future studies. In summary, this systematic review might be used as a guideline for helping both systems analysts who lack domain knowledge and practitioners in requirements elicitation. This systematic review also contributed to the body of literature in requirements elicitation techniques. , M.Ing.
- Full Text:
A new perspective and a framework for software generation
- Authors: De la Harpe, Margaretha
- Date: 2012-08-17
- Subjects: Computer software - Development , Software engineering
- Type: Thesis
- Identifier: uj:2645 , http://hdl.handle.net/10210/6090
- Description: M.Sc. , The following questions led to this study: Why are there still so many approaches to the software generation process without one single approach taking the lead? Not only are there several methodologies available for the software generation process, but a methodology is not in use for long before it is replaced by an improved version or even another methodology. This is as a result of continuing further development and research. Sometimes the new methodology is not necessarily an improvement, but a paradigm shift. An example of this is object-orientation which followed shortly after the introduction of CASE as an alternative to software generation. Why are users to a large extent still dissatisfied and disillusioned with the software generation process even though they are more involved with it than before? User are more involved in the software generation process as a result of the availability of sophisticated tools, as well as joint sessions with the developer during the analysis and design stages of the software generation process. Yet, despite this, software systems in most cases still do not perform according to users' expectations. Why did the use of formal methodologies, based on successful techniques of the engineering field, only result in a limited improvement of the quality, control and operationalization of the software system? The cost of maintenance is still very high in relation to the total cost of generating a software system. The same degree of success attained in, say, the engineering field, could not be achieved [AND I]. Why is there a simultaneous movement towards incremental approaches and formal methods although these approaches are really moving in opposite directions? The incremental approach is based on obtaining quick results through prototyping without necessarily following a formal methodology [AND2]. Formal methods, on the other hand, attempt to formalize the software generation process through mathematical transformations. The advantage of using these mathematical transformations is that automation and verification of processes can be achieved [McC1]. Both these approaches show promising results, but the incremental approach might suit the developer better and is already used widely by practitioners. Why is it so difficult to find the correct methodology for generating a software system? The selection of an appropriate methodology is extremely difficult because of the variety of methodologies, technologies and hardware available. Some methodologies are also used for only a limited period because of rapid advances in technology. Why do sophisticated and user-friendly tools not succeed in simplifying the software generation process? Despite sophisticated tools such as CASE, where the user of these tools is guided through the different steps of the methodology, these tools have not succeeded in delivering the results expected by industry. The problems experienced during the software generation process are investigated. In order to distinguish between different approaches to software generation, is it necessary to place different approaches in relation to one another by considering the different elements of each. The characteristics and constraints of the software generation process must also be considered. All the issues pertaining to the software generation process will be discussed in terms of the problem statement.
- Full Text:
- Authors: De la Harpe, Margaretha
- Date: 2012-08-17
- Subjects: Computer software - Development , Software engineering
- Type: Thesis
- Identifier: uj:2645 , http://hdl.handle.net/10210/6090
- Description: M.Sc. , The following questions led to this study: Why are there still so many approaches to the software generation process without one single approach taking the lead? Not only are there several methodologies available for the software generation process, but a methodology is not in use for long before it is replaced by an improved version or even another methodology. This is as a result of continuing further development and research. Sometimes the new methodology is not necessarily an improvement, but a paradigm shift. An example of this is object-orientation which followed shortly after the introduction of CASE as an alternative to software generation. Why are users to a large extent still dissatisfied and disillusioned with the software generation process even though they are more involved with it than before? User are more involved in the software generation process as a result of the availability of sophisticated tools, as well as joint sessions with the developer during the analysis and design stages of the software generation process. Yet, despite this, software systems in most cases still do not perform according to users' expectations. Why did the use of formal methodologies, based on successful techniques of the engineering field, only result in a limited improvement of the quality, control and operationalization of the software system? The cost of maintenance is still very high in relation to the total cost of generating a software system. The same degree of success attained in, say, the engineering field, could not be achieved [AND I]. Why is there a simultaneous movement towards incremental approaches and formal methods although these approaches are really moving in opposite directions? The incremental approach is based on obtaining quick results through prototyping without necessarily following a formal methodology [AND2]. Formal methods, on the other hand, attempt to formalize the software generation process through mathematical transformations. The advantage of using these mathematical transformations is that automation and verification of processes can be achieved [McC1]. Both these approaches show promising results, but the incremental approach might suit the developer better and is already used widely by practitioners. Why is it so difficult to find the correct methodology for generating a software system? The selection of an appropriate methodology is extremely difficult because of the variety of methodologies, technologies and hardware available. Some methodologies are also used for only a limited period because of rapid advances in technology. Why do sophisticated and user-friendly tools not succeed in simplifying the software generation process? Despite sophisticated tools such as CASE, where the user of these tools is guided through the different steps of the methodology, these tools have not succeeded in delivering the results expected by industry. The problems experienced during the software generation process are investigated. In order to distinguish between different approaches to software generation, is it necessary to place different approaches in relation to one another by considering the different elements of each. The characteristics and constraints of the software generation process must also be considered. All the issues pertaining to the software generation process will be discussed in terms of the problem statement.
- Full Text:
Programontwikkelingsmetodologieë
- Authors: Van Wyk, Jessica
- Date: 2015-03-17
- Subjects: Computer software - Evaluation , Computer software - Development
- Type: Thesis
- Identifier: uj:13432 , http://hdl.handle.net/10210/13469
- Description: M.Sc. (Computer Science) , The data processing crisis in software development today can be ascribed firstly to insufficient requirements defmition, which results from a lack of communication between developer and user, and secondly to insufficient project management. During the last decade we succeeded in adding more control and discipline to the traditional software development life cycle, but requirements specification remains a problem. The traditional software development life-cycle is long and inflexible and the results do not satisfy the requirements of the user. The prototyping approach can be part of a solution to the problems posed by this situation. The author proposes a four-dimensional conceptual model as a framework for a Prototyping methodology that was developed as basis for this study. In business practice today, confusion exists as to what prototypes are the best to use - prototypes that are developed to become the complete system, or prototypes that are thrown away. Dimension one of the model is discussed in terms of type of prototype. With type of prototype is meant one of the different approaches to prototyping in the software development process. The author standardized on throw-away prototypes and evolutionary prototypes. The most general and well-known usage of prototyping is during the requirements :definition phase. However, this is not the only use of prototyping. Dimension two of the model describes the different areas of usage of prototyping, e.g. requirements definition, as technique during JAD sessions, during simulation, during the minimizing of risk and in the development of working models. The development of prototypes should be an easy and rapid process, however, this is dependent on the tools that are used in the process. Dimension three of the model is discussed in terms of tools.
- Full Text:
- Authors: Van Wyk, Jessica
- Date: 2015-03-17
- Subjects: Computer software - Evaluation , Computer software - Development
- Type: Thesis
- Identifier: uj:13432 , http://hdl.handle.net/10210/13469
- Description: M.Sc. (Computer Science) , The data processing crisis in software development today can be ascribed firstly to insufficient requirements defmition, which results from a lack of communication between developer and user, and secondly to insufficient project management. During the last decade we succeeded in adding more control and discipline to the traditional software development life cycle, but requirements specification remains a problem. The traditional software development life-cycle is long and inflexible and the results do not satisfy the requirements of the user. The prototyping approach can be part of a solution to the problems posed by this situation. The author proposes a four-dimensional conceptual model as a framework for a Prototyping methodology that was developed as basis for this study. In business practice today, confusion exists as to what prototypes are the best to use - prototypes that are developed to become the complete system, or prototypes that are thrown away. Dimension one of the model is discussed in terms of type of prototype. With type of prototype is meant one of the different approaches to prototyping in the software development process. The author standardized on throw-away prototypes and evolutionary prototypes. The most general and well-known usage of prototyping is during the requirements :definition phase. However, this is not the only use of prototyping. Dimension two of the model describes the different areas of usage of prototyping, e.g. requirements definition, as technique during JAD sessions, during simulation, during the minimizing of risk and in the development of working models. The development of prototypes should be an easy and rapid process, however, this is dependent on the tools that are used in the process. Dimension three of the model is discussed in terms of tools.
- Full Text:
Programmatuurontwikkelingsmetodologieë met besondere verwysing na 'n ideale raamwerk saamgestel uit data- en prosesgeorienteërde benaderings
- Authors: Vermeulen, Susan Elizabeth
- Date: 2015-03-17
- Subjects: Computer software - Development
- Type: Thesis
- Identifier: uj:13434 , http://hdl.handle.net/10210/13470
- Description: M.Com. (Informatics) , Please refer to full text to view abstract
- Full Text:
- Authors: Vermeulen, Susan Elizabeth
- Date: 2015-03-17
- Subjects: Computer software - Development
- Type: Thesis
- Identifier: uj:13434 , http://hdl.handle.net/10210/13470
- Description: M.Com. (Informatics) , Please refer to full text to view abstract
- Full Text:
Information technology audit approach for the assessment of software patch management
- Authors: Oosthuizen, Deon
- Date: 2015
- Subjects: Auditing - Data processing , Information technology - Auditing , Computer software - Development
- Language: English
- Type: Masters (Thesis)
- Identifier: http://hdl.handle.net/10210/54885 , uj:16254
- Description: Abstract: Computer software is ubiquitous and is driven extensively by our information-based society. However, little consideration is given to the complex task of developing software, which may involve conflicting objectives. Developing software that is free from material defects is the ultimate goal for software developers; however, due to its cost and complexity, it is a goal that is unlikely to be achieved. As a consequence of the inevitable defects that manifest within computer software, the task of software patch management becomes a key focus area for software companies, IT departments, and even end users. Audit departments, as part of their responsibilities, are required to provide assurance on the patching process and therefore need to understand the various decisionmaking factors. The task of patching software to rectify inherent flaws may be a simple operation on computer systems that are of low significance, but is far more complex and critical on high-risk systems. Software flaws that exist within computer systems may put confidential information at risk and may also compromise the availability of such systems. One of the environments that is extremely susceptible to software flaws is the South African banking system, where not only is confidentiality a critical imperative, but also where high system availability is expected by the banking public. The study investigated the recommended approaches for the task of software patching, with a view to balancing the sometimes conflicting requirements of security and system availability. The reasons for software patching, the discipline of risk management relating to IT and software patching are also identified as fundamental to the audit approach for assessing the process. The study found that there are a number of key aspects that are required to ensure a successful patching process and that the internal auditors of the ‘big four’ South African banks considered most of these factors to be important. Despite these organisations being extremely mature from a risk management perspective, the auditors believed that the patching process may benefit from an increased focus on risk management. , M.Com. (Computer Auditing)
- Full Text:
- Authors: Oosthuizen, Deon
- Date: 2015
- Subjects: Auditing - Data processing , Information technology - Auditing , Computer software - Development
- Language: English
- Type: Masters (Thesis)
- Identifier: http://hdl.handle.net/10210/54885 , uj:16254
- Description: Abstract: Computer software is ubiquitous and is driven extensively by our information-based society. However, little consideration is given to the complex task of developing software, which may involve conflicting objectives. Developing software that is free from material defects is the ultimate goal for software developers; however, due to its cost and complexity, it is a goal that is unlikely to be achieved. As a consequence of the inevitable defects that manifest within computer software, the task of software patch management becomes a key focus area for software companies, IT departments, and even end users. Audit departments, as part of their responsibilities, are required to provide assurance on the patching process and therefore need to understand the various decisionmaking factors. The task of patching software to rectify inherent flaws may be a simple operation on computer systems that are of low significance, but is far more complex and critical on high-risk systems. Software flaws that exist within computer systems may put confidential information at risk and may also compromise the availability of such systems. One of the environments that is extremely susceptible to software flaws is the South African banking system, where not only is confidentiality a critical imperative, but also where high system availability is expected by the banking public. The study investigated the recommended approaches for the task of software patching, with a view to balancing the sometimes conflicting requirements of security and system availability. The reasons for software patching, the discipline of risk management relating to IT and software patching are also identified as fundamental to the audit approach for assessing the process. The study found that there are a number of key aspects that are required to ensure a successful patching process and that the internal auditors of the ‘big four’ South African banks considered most of these factors to be important. Despite these organisations being extremely mature from a risk management perspective, the auditors believed that the patching process may benefit from an increased focus on risk management. , M.Com. (Computer Auditing)
- Full Text:
Compliance at velocity within a DevOps environment
- Authors: Abrahams, Muhammad Zaid
- Date: 2017
- Subjects: Information technology - Security measures , Computer software - Development , Data protection , Computer security
- Language: English
- Type: Masters (Thesis)
- Identifier: http://hdl.handle.net/10210/279418 , uj:30006
- Description: M.Sc. (Informatics) , Abstract: Please refer to full text to view abstract.
- Full Text:
- Authors: Abrahams, Muhammad Zaid
- Date: 2017
- Subjects: Information technology - Security measures , Computer software - Development , Data protection , Computer security
- Language: English
- Type: Masters (Thesis)
- Identifier: http://hdl.handle.net/10210/279418 , uj:30006
- Description: M.Sc. (Informatics) , Abstract: Please refer to full text to view abstract.
- Full Text:
Vulnerability testing in the web application development cycle
- Authors: Van Rensburg, Alice
- Date: 2017
- Subjects: Web applications - Development , Web applications - Security measures , Internet - Security measures , Computer software - Development
- Language: English
- Type: Masters (Thesis)
- Identifier: http://hdl.handle.net/10210/279585 , uj:30027
- Description: M.Sc. (Computer Science) , Abstract: Web applications have been the target of endless attacks which reach unprecedented levels every year. As described in various security publications, a wide variety of web applications are targeted, affecting all industries. Furthermore, sophisticated targeted attacks, where attackers observe and subsequently target web applications visited by their targeted victim group, leave no web application immune to potential attacks. The root cause of such exposures are vulnerabilities found within web applications. The purpose of this dissertation is to improve the security of web applications, specifically by addressing vulnerabilities found in web applications. Security measures are well researched and defined in the Secure Software Development Life Cycle (S-SDLC) and are actively applied by the industry in an attempt to secure web applications. However, despite applying various mitigating measures, including security measures, annual security reports from various specialist organisations report that 70% to 80% of scanned web applications contain several critical vulnerabilities. These critical vulnerabilities are vulnerabilities listed on the OWASP Top 10. The OWASP Top 10 represents a broad consensus of the most critical security risks to web applications. These critical vulnerabilities are well documented, with technical details as to how such vulnerabilities can be detected and avoided. Noteworthy is that the vulnerabilities listed on the OWASP Top 10 account for more than 85% of successful exploits. The same critical vulnerabilities listed on the OWASP Top 10 are discovered in web applications, year after year. Surveys by specialist organisations in the field, found that the effect of security measures in the S-SDLC are situation dependent and suggest the implementation of a comprehensive metrics program. Such a comprehensive metrics program would include the continuous measurement of the security posture of a web application, tracking of progress over time and in so doing, serve as a guide for which of the SDLC-related activities are effective. The aim of this dissertation is to develop a process for web applications which realises continuous, automated vulnerability self-assessment conducted during the development phase. In order to achieve the aim of this dissertation, firstly, a theoretical model of the process to conduct continuous automated vulnerability assessments during the development phase of a web application was defined. Furthermore, based on this theoretical model, a prototype was developed. The prototype is named the Vulnerability Test Network Prototype, referred to as VTNP from here onwards. The VTNP realizes the theoretical model. The deliverable of this dissertation is an artefact, the VTNP. The VTNP is an automated process, integrated into the development process, specifically the continuous integration (CI) build process, which scans a web application for vulnerabilities, reports and stores the results for each iteration. The VTNP determines the security posture of a web application as early as possible in the implementation phase, specifically during the continuous integration (CI) build process, and does this continuously as the web application is enhanced and changed. In so doing, the VTNP provides the information for tracking and measuring the security posture of a web application and guides appropriate actions to be taken...
- Full Text:
- Authors: Van Rensburg, Alice
- Date: 2017
- Subjects: Web applications - Development , Web applications - Security measures , Internet - Security measures , Computer software - Development
- Language: English
- Type: Masters (Thesis)
- Identifier: http://hdl.handle.net/10210/279585 , uj:30027
- Description: M.Sc. (Computer Science) , Abstract: Web applications have been the target of endless attacks which reach unprecedented levels every year. As described in various security publications, a wide variety of web applications are targeted, affecting all industries. Furthermore, sophisticated targeted attacks, where attackers observe and subsequently target web applications visited by their targeted victim group, leave no web application immune to potential attacks. The root cause of such exposures are vulnerabilities found within web applications. The purpose of this dissertation is to improve the security of web applications, specifically by addressing vulnerabilities found in web applications. Security measures are well researched and defined in the Secure Software Development Life Cycle (S-SDLC) and are actively applied by the industry in an attempt to secure web applications. However, despite applying various mitigating measures, including security measures, annual security reports from various specialist organisations report that 70% to 80% of scanned web applications contain several critical vulnerabilities. These critical vulnerabilities are vulnerabilities listed on the OWASP Top 10. The OWASP Top 10 represents a broad consensus of the most critical security risks to web applications. These critical vulnerabilities are well documented, with technical details as to how such vulnerabilities can be detected and avoided. Noteworthy is that the vulnerabilities listed on the OWASP Top 10 account for more than 85% of successful exploits. The same critical vulnerabilities listed on the OWASP Top 10 are discovered in web applications, year after year. Surveys by specialist organisations in the field, found that the effect of security measures in the S-SDLC are situation dependent and suggest the implementation of a comprehensive metrics program. Such a comprehensive metrics program would include the continuous measurement of the security posture of a web application, tracking of progress over time and in so doing, serve as a guide for which of the SDLC-related activities are effective. The aim of this dissertation is to develop a process for web applications which realises continuous, automated vulnerability self-assessment conducted during the development phase. In order to achieve the aim of this dissertation, firstly, a theoretical model of the process to conduct continuous automated vulnerability assessments during the development phase of a web application was defined. Furthermore, based on this theoretical model, a prototype was developed. The prototype is named the Vulnerability Test Network Prototype, referred to as VTNP from here onwards. The VTNP realizes the theoretical model. The deliverable of this dissertation is an artefact, the VTNP. The VTNP is an automated process, integrated into the development process, specifically the continuous integration (CI) build process, which scans a web application for vulnerabilities, reports and stores the results for each iteration. The VTNP determines the security posture of a web application as early as possible in the implementation phase, specifically during the continuous integration (CI) build process, and does this continuously as the web application is enhanced and changed. In so doing, the VTNP provides the information for tracking and measuring the security posture of a web application and guides appropriate actions to be taken...
- Full Text:
Enhancing the throughput of software development projects using a model that improves the process of release management
- Ferreira, Natasha Nicolette Vito
- Authors: Ferreira, Natasha Nicolette Vito
- Date: 2014-06-30
- Subjects: Computer software - Development , Agile software development
- Type: Thesis
- Identifier: uj:11628 , http://hdl.handle.net/10210/11341
- Description: M.Sc. (Computer Science) , The process that involves creating and altering software systems can be defined as the software development lifecycle. People often use methodologies and methods in order to develop these systems with success factors such as people, processes and technology. The lifecycle is comprised of the following stages: • Planning • Requirements definition • Design • Development • Integration and testing • Installation • Acceptance. The underlying issue in such a lifecycle is that project defects are identified late within the lifecycle and therefore, the process of rectifying these problems becomes costly. Ultimately, an ideal product is one with minimal or zero defects which can be achieved with a software project that prevents or detects defects earlier within the cycle. Release management can be described as the process involving decision-‐making regarding the implementation and releasing of a software product. A conceptual framework exists which stipulates the stages involved in the development process of a software application. Several models exist that describe the SDLC in different approaches. A philosophy is adopted within the RAD model, known as Agile and is beneficial since it minimises future scope creep and scope changes. Development occurs in shorter intervals. Over and above the stages and values in this methodology, the Agile methodology includes incremental changes which are then captured in the scheduled software releases. The purpose of the research presented in this dissertation is to incorporate findings where large companies with global IT projects can adopt the Agile conceptual framework and to testify whether all types of IT projects will benefit from a frequent release approach to the delivery of the project. Three different projects across a large South African financial institution that specialises in corporate organisation banking and core-‐banking functionality will be studied and presented as case studies. Release management will also be studied from an organisational perspective with the following banking institution in context. Data will be retrieved by carrying out interviews and surveys with appropriate stakeholders, and therefore, analysed to generate a valid conclusion.
- Full Text:
- Authors: Ferreira, Natasha Nicolette Vito
- Date: 2014-06-30
- Subjects: Computer software - Development , Agile software development
- Type: Thesis
- Identifier: uj:11628 , http://hdl.handle.net/10210/11341
- Description: M.Sc. (Computer Science) , The process that involves creating and altering software systems can be defined as the software development lifecycle. People often use methodologies and methods in order to develop these systems with success factors such as people, processes and technology. The lifecycle is comprised of the following stages: • Planning • Requirements definition • Design • Development • Integration and testing • Installation • Acceptance. The underlying issue in such a lifecycle is that project defects are identified late within the lifecycle and therefore, the process of rectifying these problems becomes costly. Ultimately, an ideal product is one with minimal or zero defects which can be achieved with a software project that prevents or detects defects earlier within the cycle. Release management can be described as the process involving decision-‐making regarding the implementation and releasing of a software product. A conceptual framework exists which stipulates the stages involved in the development process of a software application. Several models exist that describe the SDLC in different approaches. A philosophy is adopted within the RAD model, known as Agile and is beneficial since it minimises future scope creep and scope changes. Development occurs in shorter intervals. Over and above the stages and values in this methodology, the Agile methodology includes incremental changes which are then captured in the scheduled software releases. The purpose of the research presented in this dissertation is to incorporate findings where large companies with global IT projects can adopt the Agile conceptual framework and to testify whether all types of IT projects will benefit from a frequent release approach to the delivery of the project. Three different projects across a large South African financial institution that specialises in corporate organisation banking and core-‐banking functionality will be studied and presented as case studies. Release management will also be studied from an organisational perspective with the following banking institution in context. Data will be retrieved by carrying out interviews and surveys with appropriate stakeholders, and therefore, analysed to generate a valid conclusion.
- Full Text:
Optimisering van die bedryf van besproeiingskanaalstelsels
- Authors: Benade, Nico
- Date: 2014-03-10
- Subjects: Irrigation engineering , Computer software - Development , Computer simulation
- Type: Thesis
- Identifier: uj:4246 , http://hdl.handle.net/10210/9604
- Description: M.Ing. , An optimization system, consisting of a water office database, monitoring stations, communication system and simulation model is described. The main objective of the optimization system is to minimize management related distribution losses in irrigation canals. The optimization system can be implemented in parts, or as a whole, depending on the requirements of the user. This property makes it flexible and facilitates systematic implementation on an irrigation scheme. The water office database which was developed on an IBM-PC promotes computerization of the water register and facilitates compilation of water accounts. Input hydrographs can also be recalculated on short notice. The monitoring stations consist mainly of waterloggers and sensors which record waterdepth as a function of time. These stations can be telemetrically connected to a computer in the water office. The telemetric connection makes it possible to monitor canal operation from the water office and can _be used as an aid in water loss control. The recording stations play an important roll in the calibration of the simulation model. The simulation model was also developed on an IBM-PC and simulates unsteady non-uniform flow of water in irrigation canals. The simulation of unsteady non-uniform flow of water in irrigation canals consists of the solution of the St Venant equations which were discretized with the aid of the Preissmann scheme. The model can simulate a number of watertakeoffs and is only restricted to a maximum of 1300 takeoffs per canal. Changing slope, changing roughness, manual and upstream controlled sluices, pressure controlled and manual turnouts, weirs, transition losses, discharge and waterdepth as a function of time at the end of the canal, free overflows, any .change in cross section and any losses in the form of seepage and evaporation can also be taken into account. The five different types of sections which can be handled are trapeziodal, rectangular, circular, triangular and parabolic sections. Flow in irregular cross sections of rivers can be simulated by storing cross section properties in table format. Waterflow in pipelines and rectangular culverts can also be simulated over short distances. The output of the computer program at each node is available in the form of hydrographs, with a choice of output to a printer or screen. The time dependant variables that can be examined are discharge, waterdepth, velocity and cross sectional area of flow.
- Full Text:
- Authors: Benade, Nico
- Date: 2014-03-10
- Subjects: Irrigation engineering , Computer software - Development , Computer simulation
- Type: Thesis
- Identifier: uj:4246 , http://hdl.handle.net/10210/9604
- Description: M.Ing. , An optimization system, consisting of a water office database, monitoring stations, communication system and simulation model is described. The main objective of the optimization system is to minimize management related distribution losses in irrigation canals. The optimization system can be implemented in parts, or as a whole, depending on the requirements of the user. This property makes it flexible and facilitates systematic implementation on an irrigation scheme. The water office database which was developed on an IBM-PC promotes computerization of the water register and facilitates compilation of water accounts. Input hydrographs can also be recalculated on short notice. The monitoring stations consist mainly of waterloggers and sensors which record waterdepth as a function of time. These stations can be telemetrically connected to a computer in the water office. The telemetric connection makes it possible to monitor canal operation from the water office and can _be used as an aid in water loss control. The recording stations play an important roll in the calibration of the simulation model. The simulation model was also developed on an IBM-PC and simulates unsteady non-uniform flow of water in irrigation canals. The simulation of unsteady non-uniform flow of water in irrigation canals consists of the solution of the St Venant equations which were discretized with the aid of the Preissmann scheme. The model can simulate a number of watertakeoffs and is only restricted to a maximum of 1300 takeoffs per canal. Changing slope, changing roughness, manual and upstream controlled sluices, pressure controlled and manual turnouts, weirs, transition losses, discharge and waterdepth as a function of time at the end of the canal, free overflows, any .change in cross section and any losses in the form of seepage and evaporation can also be taken into account. The five different types of sections which can be handled are trapeziodal, rectangular, circular, triangular and parabolic sections. Flow in irregular cross sections of rivers can be simulated by storing cross section properties in table format. Waterflow in pipelines and rectangular culverts can also be simulated over short distances. The output of the computer program at each node is available in the form of hydrographs, with a choice of output to a printer or screen. The time dependant variables that can be examined are discharge, waterdepth, velocity and cross sectional area of flow.
- Full Text:
New organisational models that break silos in organisations to enable software delivery flow
- Authors: Motingoe, Mahlomola
- Date: 2018
- Subjects: Computer software - Development
- Language: English
- Type: Masters (Thesis)
- Identifier: http://hdl.handle.net/10210/295432 , uj:32171
- Description: Abstract: Software development has played a significant role in the evolution of organisations and society. Organisations are looking for new approaches to meet overall business objectives and technical expectations, while optimising software delivery, at reduced cost and overall risk. However, alarming obstacles exist that prevent organisations from continually evolving and achieving software delivery efficiency. One such obstacle is organisational silos and, because of their existence, corporates fail to fully integrate their software development activities to enable multiple teams to jointly develop, test, implement and maintain new applications more effectively and efficiently. This study aims to investigate how organisational silos can be broken down to enable software delivery flow. To achieve this, the research utilises predominately qualitative research methods because of the need to study human activities to understand how individual software development practitioners develop software, and how teams correlate their contributions. Personal interviews are used as the primary research tool, with 25 people identified as worthy participants. Based on the interviews conducted this paper concludes that both an organisation’s culture and structure contribute significantly to the formation of silos within corporates. This is because an organisation can have silos because of how employees are organised (namely hierarchical and categorised), which fosters a culture of inward looking. Because of the presences of silos, the software development cycle is often divided into multiple processes that operate independently and there is a missed opportunity to perform work concurrently, which introduces delays and inefficiencies. Hence, there is a need for organisations to operate in a vastly different manner, which would entail significant employee engagement, shorter decision cycles and more collaboration at enterprise level through widespread adoption of agile (also known as agile-at-scale). Therefore, for organisations looking to eliminate silos through the adoption of agile-at-scale, this study recommends the adoption of practices and principles from existing bodies of knowledge, namely Lean Agile and System Thinking. This is because lean... , M.Sc. (Informatics)
- Full Text:
- Authors: Motingoe, Mahlomola
- Date: 2018
- Subjects: Computer software - Development
- Language: English
- Type: Masters (Thesis)
- Identifier: http://hdl.handle.net/10210/295432 , uj:32171
- Description: Abstract: Software development has played a significant role in the evolution of organisations and society. Organisations are looking for new approaches to meet overall business objectives and technical expectations, while optimising software delivery, at reduced cost and overall risk. However, alarming obstacles exist that prevent organisations from continually evolving and achieving software delivery efficiency. One such obstacle is organisational silos and, because of their existence, corporates fail to fully integrate their software development activities to enable multiple teams to jointly develop, test, implement and maintain new applications more effectively and efficiently. This study aims to investigate how organisational silos can be broken down to enable software delivery flow. To achieve this, the research utilises predominately qualitative research methods because of the need to study human activities to understand how individual software development practitioners develop software, and how teams correlate their contributions. Personal interviews are used as the primary research tool, with 25 people identified as worthy participants. Based on the interviews conducted this paper concludes that both an organisation’s culture and structure contribute significantly to the formation of silos within corporates. This is because an organisation can have silos because of how employees are organised (namely hierarchical and categorised), which fosters a culture of inward looking. Because of the presences of silos, the software development cycle is often divided into multiple processes that operate independently and there is a missed opportunity to perform work concurrently, which introduces delays and inefficiencies. Hence, there is a need for organisations to operate in a vastly different manner, which would entail significant employee engagement, shorter decision cycles and more collaboration at enterprise level through widespread adoption of agile (also known as agile-at-scale). Therefore, for organisations looking to eliminate silos through the adoption of agile-at-scale, this study recommends the adoption of practices and principles from existing bodies of knowledge, namely Lean Agile and System Thinking. This is because lean... , M.Sc. (Informatics)
- Full Text:
Effective conflict management as a risk management strategy in Agile development environment
- Authors: Tshabalala, Mothepane Maria
- Date: 2018
- Subjects: Information technology , Computer software - Development , Conflict management , Agile software development
- Language: English
- Type: Masters (Thesis)
- Identifier: http://hdl.handle.net/10210/414125 , uj:34915
- Description: Abstract: Background: Whenever teams are created with the purpose of working together to deliver a software product, conflictrisk is always inherent; some even argue it is necessary. This is because the teams consist of various roles that have differing aims, expectations, views, values, or even purposes. However, these differing purposes or expectations can have either a negative or positive effect on the overall successful delivery of a software product. Purpose: This study aimed to explore the conflict-risk that exists in a software development project managed using the Agile methodology with the purpose of developing an effective conflict management framework to manage conflict-risk. Methods: An online questionnaire as well as semi-structured interviews were used to collect data from 189 Agile development professionals South Africa. Quantitative and qualitative analyses were employed, resulting in a framework for effective conflict management within Agile development environments. Results: There is existence of conflict-risk in Agile projects. Since Agile is interactive and collaborative, it leads to high chances of differing views among team members, causing numerous disagreements that results to conflict-risk. The study has also found that the existence of such conflict-risk has negative and positive effect on the development environment, and this is dependent on how the conflict-risk is mitigated and managed when it arises. Finally, the study identified approaches to manage conflict-risk effectively within the Agile environment, inclusive of contingencies like effective communication, skilled resources, effective discussions and negotiations as well as strategies like accommodate, collaborate and compromise. Identification of such contingencies and strategies led to the development of a framework for effective conflict-risk management for projects managed using the Agile methodology. Conclusions: The findings from this study may be utilised to give Agile professionals such as product owners and scrum masters some direction on contingencies and strategies that can be applied to manage the conflict-risk within Agile development environments... , M.Com. (Information Technology Management)
- Full Text:
- Authors: Tshabalala, Mothepane Maria
- Date: 2018
- Subjects: Information technology , Computer software - Development , Conflict management , Agile software development
- Language: English
- Type: Masters (Thesis)
- Identifier: http://hdl.handle.net/10210/414125 , uj:34915
- Description: Abstract: Background: Whenever teams are created with the purpose of working together to deliver a software product, conflictrisk is always inherent; some even argue it is necessary. This is because the teams consist of various roles that have differing aims, expectations, views, values, or even purposes. However, these differing purposes or expectations can have either a negative or positive effect on the overall successful delivery of a software product. Purpose: This study aimed to explore the conflict-risk that exists in a software development project managed using the Agile methodology with the purpose of developing an effective conflict management framework to manage conflict-risk. Methods: An online questionnaire as well as semi-structured interviews were used to collect data from 189 Agile development professionals South Africa. Quantitative and qualitative analyses were employed, resulting in a framework for effective conflict management within Agile development environments. Results: There is existence of conflict-risk in Agile projects. Since Agile is interactive and collaborative, it leads to high chances of differing views among team members, causing numerous disagreements that results to conflict-risk. The study has also found that the existence of such conflict-risk has negative and positive effect on the development environment, and this is dependent on how the conflict-risk is mitigated and managed when it arises. Finally, the study identified approaches to manage conflict-risk effectively within the Agile environment, inclusive of contingencies like effective communication, skilled resources, effective discussions and negotiations as well as strategies like accommodate, collaborate and compromise. Identification of such contingencies and strategies led to the development of a framework for effective conflict-risk management for projects managed using the Agile methodology. Conclusions: The findings from this study may be utilised to give Agile professionals such as product owners and scrum masters some direction on contingencies and strategies that can be applied to manage the conflict-risk within Agile development environments... , M.Com. (Information Technology Management)
- Full Text:
The influence of software development project maturity levels on software project outcome
- Authors: Bogopa, Moketo Ephraim
- Date: 2019
- Subjects: Computer software - Development , Project management
- Language: English
- Type: Masters (Thesis)
- Identifier: http://hdl.handle.net/10210/448601 , uj:39364
- Description: Abstract: The study investigates the influence of maturity level on the outcomes of Software development projects. Other objectives of the research conducted covers the factors that makes a software project to succeed or fail. The study also discusses the maturity levels of each development phase of each software development team, organization, or company that develop software code. The research determines other things like the correlation between factors and software development projects. The aim of the study is to determine if the maturity level plays a major role on the outcome of the software development project. The results can be used with confidence because the reliability and validity tests were proven. Studies such as the Standish Group which was published in 2013 and 2014 and the Prosperus report (2003, 2008, and 2013), highlight the frequency with which Software development project failure occurs and the link between project success or lack thereof and project management maturity. However, this research has revealed that software projects are currently succeeding as viewed by members of software development teams. The success metrics were initially defined as meeting time, budget and scope. The definition is evolving around the three main traditional measures of project success. The research has revealed that the projects that are on time, work well, have excellent quality, and have happy customers. Our statistical analysis indicated that Software development projects are doing well in South Africa; European countries can insource their project to South Africa. The study was quantitative and implemented the survey in the form of structured questionnaire. As nature of cross-sectional study, the data was collected once from members of software development teams... , M.Com. (Information Technology Management)
- Full Text:
- Authors: Bogopa, Moketo Ephraim
- Date: 2019
- Subjects: Computer software - Development , Project management
- Language: English
- Type: Masters (Thesis)
- Identifier: http://hdl.handle.net/10210/448601 , uj:39364
- Description: Abstract: The study investigates the influence of maturity level on the outcomes of Software development projects. Other objectives of the research conducted covers the factors that makes a software project to succeed or fail. The study also discusses the maturity levels of each development phase of each software development team, organization, or company that develop software code. The research determines other things like the correlation between factors and software development projects. The aim of the study is to determine if the maturity level plays a major role on the outcome of the software development project. The results can be used with confidence because the reliability and validity tests were proven. Studies such as the Standish Group which was published in 2013 and 2014 and the Prosperus report (2003, 2008, and 2013), highlight the frequency with which Software development project failure occurs and the link between project success or lack thereof and project management maturity. However, this research has revealed that software projects are currently succeeding as viewed by members of software development teams. The success metrics were initially defined as meeting time, budget and scope. The definition is evolving around the three main traditional measures of project success. The research has revealed that the projects that are on time, work well, have excellent quality, and have happy customers. Our statistical analysis indicated that Software development projects are doing well in South Africa; European countries can insource their project to South Africa. The study was quantitative and implemented the survey in the form of structured questionnaire. As nature of cross-sectional study, the data was collected once from members of software development teams... , M.Com. (Information Technology Management)
- Full Text:
- «
- ‹
- 1
- ›
- »