Browsing by Author "Kanagwa, Benjamin"
Now showing 1 - 20 of 22
Results Per Page
Sort Options
Item Agile Islands in a Waterfall Environment: Challenges and Strategies in Automotive(2020) Kasauli, Rashidah; Knauss, Eric; Nakatumba-Nabende, Joyce; Kanagwa, BenjaminDriven by the need for faster time-to-market and reduced development lead-time, large-scale systems engineering companies are adopting agile methods in their organizations. This agile transformation is challenging and it is common that adoption starts bottom-up with agile software teams within the context of traditional company structures. This creates the challenge of agile teams working within a documentcentric and plan-driven (or waterfall) environment. While it may be desirable to take the best of both worlds, it is not clear how that can be achieved especially with respect to managing requirements in large-scale systems. This paper presents an exploratory case study focusing on two departments of a large-scale systems engineering company (automotive) that is in the process of company-wide agile adoption. We present challenges that agile teams face while working within a larger plan-driven context and propose potential strategies to mitigate the challenges. Challenges relate to, e.g., development teams not being aware of the high-level requirements, difficulties to manage change of these requirements as well as their relationship to backlog items such as user stories. While we found strategies for solving most of the challenges, they remain abstract and empirical research on their effectiveness is currently lackingItem An Approach for Agent-Based Modeling Using AiC+(2011) Ngobye, Martin; Kanagwa, BenjaminIn this paper, we present AiC+, an extension of the AiC framework designed for the explanation of human actions especially in the environmental field. We use first order logics to describe the semantics used to explain the action selection of the agent (actor) using an agent hierarchy system and a fuzzy typing relation. An example is illustrated using the AiC+ to validate the framework and discuss possible future extensions to the frameworkItem An Approach for Discovery of Complex Events and Hierarchies(International Journal of Computing & ICT Research, 2015) Namisanvu, Rashidah; Kanagwa, BenjaminThis paper presents techniques for discovery of event hierarchies in event streams. Event discovery is about recognition of low level events; their relationships and how they combine to cause a composite event. The challenge is that the occurrence time of a composite event, the identity of the low level events, the number of the low level events, and relationship are not known in advance. We start by identifying a set of ‘candidate events’ that lead to a given composite event. We then filter the candidate events to establish the actual events that lead to the composite event. Then a causal relationship between the filtered low level events is discovered. The causal relation among the events allows generation of a hierarchical structure that shows the composition structure between low level events and the composite event. We rely on domain experts and literature to identify the initial set of low level candidate events. To filter candidate events, we use a historical event stream. We develop an approach based on heuristics and similarity measures to identify the structural relations between low level events and composite event. The discovered structure of the events is then validated using domain experts. The approach was developed using a case study of financial crisis with the historical news corpus archived by major news networks, particularly CNN as the event stream.Item DNAP: Dynamic Nuchwezi Architecture Platform - A New Software Extension and Construction Technology(IEEE, 2020) Lutalo, Joseph Willrich; Eyobu, Odongo Steven; Kanagwa, BenjaminThe need to improve or build new software systems to solve new and old business challenges is a persistent challenge in the software consumer and development industry, yet costly. To minimize these costs, the construction method should be designed with the following qualities in mind; software portability, extensibility, and simplicity. To achieve these qualities, this paper proposes the Dynamic Nuchwezi Architecture Platform (DNAP), which is a new software construction and extension technology. DNAP offers a visual programming paradigm with a capability of generating production-ready business automation software for both mobile and web. It also offers a simple mechanism for the extension of existing softwares using embeddable components. To evaluate and justify DNAP, eight Software Operating Environment (SOE) metrics have been developed and together with the SOE model, are used to contrast DNAP against four alternative software construction technologies namely; Android Platform, .NET Framework, Java SE Platform and Python. The performance evaluation results show that DNAP offers an average of 33% reduction in software construction complexity and an 11% enhancement in language efficiency when compared to alternative technologies.Item The Efficacy of ICT in Weather Forecast Information Dissemination: Evidence from Farming Communities in Mbale and Rakai Districts, Uganda(Springer, Cham, 2019) Tuheirwe-Mukasa, Doreen; Haveraaen, Magne; Sansa-Otim, Julianne; Kanagwa, Benjamin; Rwamahe Mujuni, GodfreyInformation and communication technology (ICT) has pervaded all spheres of life from the upscale rich to the rural poor in developing countries. ICT is increasingly being harnessed universally to better the quality of life of communities. This chapter highlights the need to utilize ICT tools to improve livelihoods of farmers in Uganda, in the face of climate change and variations in seasonal weather. We investigated the use of ICT tools and services in enhancing farmers’ access to weather forecast information to improve agricultural productivity in Uganda. The ICT tools in question included mobile phones and computers/laptops, while the services included the use of emails, websites, and social network sites. We used focus group sessions with farmers in Mbale and Rakai districts to (1) capture their perception of the use of ICT tools and (2) establish the mode of ICT-supported dissemination that would be most effective and efficient for relevant weather forecast information dissemination. Extra information was sourced from key informant interviews with agricultural extension workers and personnel from Uganda National Meteorological Authority. We transcribed the information gathered into descriptive narratives, used thematic analysis and coding with spreadsheets for analysis. We found the mobile phone to be the ICT tool that most farmers have access to, and we found them open to solutions designed around the mobile phone. We establish and recommend using ICT tools to complement existing and conventional weather information dissemination strategies such as mass media. ICT tools allow for customized information to be sent to farmers in text, graphic, audio, or visual formatsItem eHealth Service Discovery Framework for a Low Infrastructure Context(IEEE, 2010) Tegegne, Tesfa; Kanagwa, BenjamineHealth services but also general Health services emphasize patient record management. Unfortunately the information in these records is not used to provide quicker, personalized eHealth services and appropriate treatment. Especially in a low infrastructure context where Health service providers are often overwhelmed by large number leads to degradation in service delivery. Domain specific service discovery with personalization aims at providing user-centric services. This is very important in a low infrastructure context where demands on the health services range over various aspects that reflect the massive variation in social economic development synonymous with developing countries. The focus of this paper is a framework for eHealth service discovery in low infrastructure context. To do this, we categorize the context of users and augment it with user specific profile. Our framework provides ontology based, context-aware semantic and personalized services.Item Evaluation of accessibility standards on Ugandan e-government websites(An International Journal, 2019) Nakatumba-Nabende, Joyce; Kanagwa, Benjamin; Nameere Kivunike, Florence; Tuape, MichaelIn spite of the efforts made by the Government of Uganda through the National IT Authority Uganda (NITA-U) to provide many of the government services online, web accessibility is still not considered as a major factor by the developers of the e-government websites. As a result, people with disabilities cannot use websites as effectively as people without disabilities. Therefore, the main objective of this study was to evaluate the extent by which Ugandan e-government websites meet the internationally accepted WCAG 2.0 standards. The analysis was done for 63 websites belonging to government ministries, departments and agencies. Website accessibility assessment was carried out using two automatic evaluation tools: TAW and AChecker. The results presented in this paper indicate that all the websites not do not satisfy the level AA accessibility guidelines. Although NITA-U has developed guidelines for building websites, there is still great need to improve accessibility on e-government websites.Item Hybrid Software and Systems Development in Practice: Perspectives from Sweden and Uganda(Springer, Cham, 2017) Kanagwa, Benjamin; Hebig, Regina; Heldal, Rogardt; Knauss, EricMany organizations are adapting the use of hybrid software development approaches by combining traditional methods with flexible agile practices. This paper presents the initial results from the survey on the use of hybrid software and systems approaches. The results are from twenty one respondents from Sweden and Uganda. Our results show that the iterative model is the most widely used process model in both Sweden and Uganda. However, the traditional process models are also used in combination with the more agile models like Scrum. From the results, we also show that the large sized companies face the biggest problems during implementation of agility since they have to adhere to standards and control measures.Item Improving Learning objects reusability through automatic generation web services(2011) Kanagwa, Benjamin; Agaba, Joab; Tuheirwe, Doreen; Lunkuse, SusanTo support current needs of fl exible e-learning environments, there is need for improved techniques to create, mix and fi nd and compose user e-learning resources. These techniques need to take advantage of the existing web infrastructure and tools to further provide seamless integration with the Internet where most learning objects live. The main enabler has been standardization efforts built around the notion of metadata. However, this standardization effort is not naturally supported by the web infrastructure where e-learning operates. In this paper, we take advantage of the widespread adaptability of web services to provide fl exible and composable learning objects as services. We automatically transform learning objects and expose them as services, thereby allowing Learning Management Systems (LMS) to take advantage of the inherent flexibility, agility and mature tools within the domain of web services.Item On Systematic Design of Service-Oriented Architectures(2008) Kanagwa, Benjamin; Mugisa, Ezra K.; van der Weide, Th.P.We present a systematic means of designing serviceoriented systems. Because services are developed independently, with no prior knowledge about each other, there is only a limited possibility that such services use similar message templates, initiate calls to any other service, or generate messages to support desired architecture configurations. As a result, construction of service-oriented systems rely on intermediary services to preprocess, transform and route messages to appropriate locations. The paper suggests a systematic design for the intermediary services and construction of services-oriented systems using a reuse drive approach. The approach is founded on category theory- a formal foundation for capturing and preserving structures. The approach supports parallel and incremental inter-connection of services in a planned and reusable mannerItem PAMOJA: A component framework for grammar-aware engineering(Science of Computer Programming, 2021) Ssanyu, Jackline; Bainomugisha; Kanagwa, BenjaminPAMOJA is a Java-based component framework for Grammar-Aware Engineering (GAE) in an Integrated Development Environment (IDE). The PAMOJA system is being developed to explore the possibility of Component-Based Software Development (CBSD) in the grammarware field. Our main goal is to develop a coherent set of small GAE components, where each component is dedicated to a single well-defined task. The components should fit into a general-purpose framework like NetBeans or Eclipse and it should be possible to manipulate them inside the IDE just like any other component. This paper describes the PAMOJA architecture supporting this development style. We illustrate its use with the aid of examples, and present a case of composing new components at a higher level from the existing GAE components. For this case, we use a hybrid text/structure editor application as an example. This case study serves as a proof of concept of our approach.Item Partitioning Microservices: A Domain Engineering Approach(2018) Munezero, Immaculée J.; Kanagwa, Benjamin; Tuheirwe-Mukasa, Doreen; Balikuddembe, JosephArchitecture styles in the software world continue to evolve driven by the need to present easier and more appealing ways of designing and building software systems to meet stakeholder needs. One of the popular trends at the moment is microservices. Microservice architecture is gaining the market of software development architecture due to its capability to scale. It separates independent small services of a system to perform one business capability at a time. However, determining the right size of business capability that could be called a microservice is still a challenge. Current practices of partitioning microservice rely on personal practice within industry which is prone to bias by practitioners. Based on the ambiguity of determining the optimum size of a microservice, in this paper, we propose a conceptual methodology to partition a microservice based on domain engineering technique. Domain engineering identifies the information needed by a microservice, services needed for microservice functionality and provides description for workflows in the service.We demonstrate the usage of this methodology on the weather information dissemination domain as a confirmatory case study. We show how to split the weather information dissemination system sub-domain into different microservices that accomplish the weather information dissemination business capability.Item Raising Awareness for Potential Sustainability Effects in Uganda: A Survey-based Empirical Study(CEUR-WS, 2020) Penzenstadler, Birgit; Duboc, Leticia; Hebig, Regina; Dearden, Andy; Kanagwa, Benjamin; Chaudron, Michel; Bainomugisha, Engineer; Umuhoza, Eric; Okello, DorothyIn July 2019, we ran the 3rd International BRIGHT summer school for Software Engineering and Information Systems at the Makerere University in Kampala, Uganda. The participants developed a group project over the course of the week, which included the application of the Sustainability Awareness Framework. The framework promotes discussion on the impact of software systems on sustainability based on a set of questions. In this paper, we present the educational evaluation of the Sustainability Awareness Framework in a country in Sub- Saharan Africa. The results indicate that the framework can provide supportive guidance of the societal and environmental challenges in the given context.Item Requirements Engineering Challenges in Large-Scale Agile System Development(IEEE., 2017) Kasauli, Rashidah; Liebel, Grischa; Knauss, Eric; Gopakumar, Swathi; Kanagwa, BenjaminMotivated by their success in software development, companies implement agile methods and their practices increasingly for software-intense, large products, such as cars, telecommunication infrastructure, and embedded systems. Such systems are usually subject to safety and regulative concerns as well as different development cycles of hardware and software. Consequently, requirements engineering involves upfront and detailed analysis, which can be at odds with agile (software) development. In this paper, we present results from a multiple case study with two car manufacturers, a telecommunications company, and a technology company that are on the journey to introduce organization wide continuous integration and continuous delivery to customers. Based on 20 qualitative interviews, 5 focus groups, and 2 cross-company workshops, we discuss possible scopes of agile methods within system development, the consequences this has on the role of requirements, and the challenges that arise from the interplay of requirements engineering and agile methods in large-scale system development. These relate in particular to communicating and managing knowledge about a) customer value and b) the system under development. We conclude that better alignment of a holistic requirements model with agile development practices promises rich gains in development speed, flexibility, and overall quality of software and systems.Item Requirements Engineering Challenges in Large-Scale Agile System Development(IEEE, 2017) Kasauli, Rashidah; Liebel, Grischa; Knauss, Eric; Gopakumar, Swathi; Kanagwa, BenjaminMotivated by their success in software development, companies implement agile methods and their practices increasingly for software-intense, large products, such as cars, telecommunication infrastructure, and embedded systems. Such systems are usually subject to safety and regulative concerns as well as different development cycles of hardware and software. Consequently, requirements engineering involves upfront and detailed analysis, which can be at odds with agile (software) development. In this paper, we present results from a multiple case study with two car manufacturers, a telecommunications company, and a technology company that are on the journey to introduce organization wide continuous integration and continuous delivery to customers. Based on 20 qualitative interviews, 5 focus groups, and 2 cross-company workshops, we discuss possible scopes of agile methods within system development, the consequences this has on the role of requirements, and the challenges that arise from the interplay of requirements engineering and agile methods in large-scale system development. These relate in particular to communicating and managing knowledge about a) customer value and b) the system under development. We conclude that better alignment of a holistic requirements model with agile development practices promises rich gains in development speed, flexibility, and overall quality of software and systems.Item Safety-Critical Systems and Agile Development: A Mapping Study(IEEE, 2018) Kasauli, Rashidah; Knauss, Eric; Kanagwa, Benjamin; Nilsson, Agneta; Calikli, GulIn the last decades, agile methods had a huge impact on how software is developed. In many cases, this has led to significant benefits, such as quality and speed of software deliveries to customers. However, safety-critical systems have widely been dismissed from benefiting from agile methods. Products that include safety critical aspects are therefore faced with a situation in which the development of safety-critical parts can significantly limit the potential speed-up through agile methods, for the full product, but also in the non-safety critical parts. For such products, the ability to develop safety-critical software in an agile way will generate a competitive advantage. In order to enable future research in this important area, we present in this paper a mapping of the current state of practice based on a mixed method approach. Starting from a workshop with experts from six large Swedish product development companies we develop a lens for our analysis. We then present a systematic mapping study on safety-critical systems and agile development through this lens in order to map potential benefits, challenges, and solution candidates for guiding future research.Item Software Business Incubation Model Using ICTs for Sustainable Economic Development in Uganda(Springer, Berlin, Heidelberg, 2011) Cameron, Hugh; Kanagwa, Benjamin; Niyitegeka, MichaelIn low-income countries, a recurring challenge in the use of mobile and web-based services to foster development is to ensure the economic sustainability of those new services after their initial launch. The Makerere University Software Business Incubation programme tests a novel approach to this challenge, by applying a venture-capital-like management discipline to ICT innovations created by students, recent graduates and staff of the College of Computing and Information Sciences. The incubation process, which has been refined over the past 3 years, has already resulted in six new business start-ups. Scaling up appears feasible, because of the very low capital funding needs of the programme: the new services are profitable from the start. This paper describes the programme’s structure and operational processes and gives several examples of the new services created, along with a discussion of the challenges faced and solved by the programme’s management.Item Technical ICT research for Development? Getting from research to practice(2010) Dearden, Andy; Light, Ann; Kanagwa, Benjamin; Rai, IdrisIn this paper we argue that, if technical ICT research is going to contribute positively to development, the activities of specialized, highly paid ‘researchers’ must be combined with skilled contributions from many other actors. In particular, there is a critical need to develop the capacity available in development organizations, community based organizations, and in local economies, to innovate and to adapt technologies to support their objectives. This suggests that the methods that we adopt in research and in design should be open to local appropriation and contribute to capacity building, and that education programmes are needed in developing countries to support the broader processes of innovation. We describe the Mobile Innovation & Enterprise partnership, which is working to develop the innovation capacity available in Uganda.Item Towards a REST-ful Visualization of Complex Event Streams and Patterns(WorldComp, 2014) Kanagwa, Benjamin; Kimbugwe, NasserThis paper presents a scalable architecture for visualization of complex events, event hierarchies and relations. The goal is to support flexible, multi-level, multidimentional visualization of primitive and composite events to aid faster decision making. Our approach is to apply the concept of Representational State Transfer (REST) that focusses on design of large scale distributed systems. Different visualizations are first and foremost mapped to state representations of Complex Event Processing (CEP) systems. We show how RESTful design can be applied to common CEP visualization requirements such as root-cause analysis. Finally, we present a prototype implementation of the API using a case study of event streams in public procurementItem Towards an Interoperability e-Government Framework for Uganda(Springer, Cham, 2017) Kanagwa, Benjamin; Nakatumba-Nabende, Joyce; Mugwanya, Raymond; Kigozi Kahiigi, Evelyn; Ngabirano, SilasIn the absence of a single entity that develops all systems for government, there is need to support a common understanding of the development environments such that new products can easily be integrated within existing services. Owing to the size of governments, different departments tend to conceive and develop services independently and yet they serve the same citizens. These services should be consistent regardless of which entity is providing the service. This paper proposes a National Enterprise Architecture (NEA) to support the implementation of an e-government interoperability framework (e-GIF). The architecture is driven by a Service Oriented Architecture (SOA) model and uses ontologies to provide semantic interoperability.