6 research outputs found

    Enhancing IT Architect capabilities: Experiences within a university subject

    Get PDF
    The role of IT Architect is important in the development and successful implementation of Information Technology systems across the world. The people performing the role are critical to the success of the systems. This paper reports on the results of an experiment aimed at developing two key IT architect capabilities within the context of a post graduate Systems Architecture subject. One capability is related to problem solving and while surprisingly student problem solving confidence was impacted other aspects of problem solving important for IT Architects were unchanged. The other capability being researched, future time orientation was also unchanged through intervention. Therefore alternative approaches for improving these capabilities are preferable as factors such as external pressures on the students within the semester outweighed any short term capability improvement

    To work from home (WFH) or not to work from home? Lessons learned by software engineers during the COVID-19 Pandemic

    Get PDF
    This research investigates software engineering during the COVID-19 pandemic with a focus on the lessons learned and predictions for future software engineering work. Four themes are explored: Remote work, Team management, Work/Life balance, and Technology/Software Engineering Methods. Our research has demonstrated that software companies will derive tangible benefits from supporting their employees during this uncertain time through ergonomic home offices, listening to their concerns, as well as encouraging breaks and hard stops to boost long term well-being and productivity. It shows that communication and collaboration tools, critical to project success, have been utilised. The hiring of new talent has been reimagined, with managers playing a vital role in the process. The insights gained are significant as they will assuage some pre-existing concerns regarding remote work, creating a new understanding of its role in the future. Looking to a post-COVID-19 future, we envision the rise of hybrid software development working arrangements, with a focus on the Working-From-Home to Not-Working-From-Home ratio - WFH: NWFH - perhaps colloquialised as Home: Not Home (HNH). For many this ratio will be neither 100:0 or 0:100, the former would lead to team breakdowns, developer isolation, difficulties onboarding and too many communication gaps, the latter would lead to disaffected employees. We identify plausible future software engineering working arrangements, noting that there are challenging times ahead for employers and employees as they navigate this HNH future, but there are benefits for both parties in getting the balance right

    A pattern language for evolution reuse in component-based software architectures

    Get PDF
    Context: Modern software systems are prone to a continuous evolution under frequently varying requirements and changes in operational environments. Architecture-Centric Software Evolution (ACSE) enables changes in a system’s structure and behaviour while maintaining a global view of the software to address evolution-centric trade-offs. Lehman’s law of continuing change demands for long-living and continuously evolving architectures to prolong the productive life and economic value of software. Also some industrial research shows that evolution reuse can save approximately 40% effort of change implementation in ACSE process. However, a systematic review of existing research suggests a lack of solution(s) to support a continuous integration of reuse knowledge in ACSE process to promote evolution-off-the-shelf in software architectures. Objectives: We aim to unify the concepts of software repository mining and software evolution to discover evolution-reuse knowledge that can be shared and reused to guide ACSE. Method: We exploit repository mining techniques (also architecture change mining) that investigates architecture change logs to discover change operationalisation and patterns. We apply software evolution concepts (also architecture change execution) to support pattern-driven reuse in ACSE. Architecture change patterns support composition and application of a pattern language that exploits patterns and their relations to express evolution-reuse knowledge. Pattern language composition is enabled with a continuous discovery of patterns from architecture change logs and formalising relations among discovered patterns. Pattern language application is supported with an incremental selection and application of patterns to achieve reuse in ACSE. The novelty of the research lies with a framework PatEvol that supports a round-trip approach for a continuous acquisition (mining) and application (execution) of reuse knowledge to enable ACSE. Prototype support enables customisation and (semi-) automation for the evolution process. Results: We evaluated the results based on the ISO/IEC 9126 - 1 quality model and a case study based validation of the architecture change mining and change execution processes. We observe consistency and reusability of change support with pattern-driven architecture evolution. Change patterns support efficiency for architecture evolution process but lack a fine-granular change implementation. A critical challenge lies with the selection of appropriate patterns to form a pattern language during evolution. Conclusions: The pattern language itself continuously evolves with an incremental discovery of new patterns from change logs over time. A systematic identification and resolution of change anti-patterns define the scope for future research
    corecore