17 research outputs found

    Software Engineering Education Needs More Engineering

    Get PDF
    To what extent is “software engineering” really “engineering” as this term is commonly understood? A hallmark of the products of the traditional engineering disciplines is trustworthiness based on dependability. But in his keynote presentation at ICSE 2006 Barry Boehm pointed out that individuals’, systems’, and peoples’ dependency on software is becoming increasingly critical, yet that dependability is generally not the top priority for software intensive system producers. Continuing in an uncharacteristic pessimistic vein, Professor Boehm said that this situation will likely continue until a major software-induced system catastrophe similar in impact to the 9/11 World Trade Center catastrophe stimulates action toward establishing accountability for software dependability. He predicts that it is highly likely that such a software-induced catastrophe will occur between now and 2025. It is widely understood that software, i.e., computer programs, are intrinsically different from traditionally engineered products, but in one aspect they are identical: the extent to which the well-being of individuals, organizations, and society in general increasingly depend on software. As wardens of the future through our mentoring of the next generation of software developers, we believe that it is our responsibility to at least address Professor Boehm’s predicted catastrophe. Traditional engineering has, and continually addresses its social responsibility through the evolution of the education, practice, and professional certification/licensing of professional engineers. To be included in the fraternity of professional engineers, software engineering must do the same. To get a rough idea of where software engineering currently stands on some of these issues we conducted two surveys. Our main survey was sent to software engineering academics in the U.S., Canada, and Australia. Among other items it sought detail information on their software engineering programs. Our auxiliary survey was sent to U.S. engineering institutions to get some idea about how software engineering programs compared with those in established engineering disciplines of Civil, Electrical, and Mechanical Engineering. Summaries of our findings can be found in the last two sections of our paper

    Towards harmonized professional standards for software engineers: Constraints, conflicts and concessions

    Get PDF
    The harmonization of professional standards usually means an attempt to unify the standards among different nations or states. It is necessary step towards the maturity of a profession because of two factors: that professional standards are developed independently in different nations; and that the standards thus developed are not uniform among nations. Since harmonization is not only step before a mature software engineering profession, a new look at various constraints and conflicts against harmonized professional standards in software engineering is proposed.published_or_final_versio

    Relevance in MIS Research: The Need for the Laws as a Reference Discipline

    Get PDF
    Recently, IS research has been criticized for lacking in rigor and relevance. One reason for this is that IS researchers have a limited exposure to relevant contexts where IT use and behavior of management are involved. Another consideration is the multiplicity of theoretical frameworks and reference disciplines that exist. This paper suggests that considering the law as a much needed reference discipline for IS research can advance rigor and relevance. The body of law that is suggested includes contract, tort, and intellectual property. Some areas of IS research that would be lacking in rigor and relevance should the law not be considered are also identified and discussed

    Does Code Review Speed Matter for Practitioners?

    Get PDF
    Increasing code velocity is a common goal for a variety of software projects. The efficiency of the code review process significantly impacts how fast the code gets merged into the final product and reaches the customers. We conducted a survey to study the code velocity-related beliefs and practices in place. We analyzed 75 completed surveys from 39 participants from the industry and 36 from the open-source community. Our critical findings are (a) the industry and open-source community hold a similar set of beliefs, (b) quick reaction time is of utmost importance and applies to the tooling infrastructure and the behavior of other engineers, (c) time-to merge is the essential code review metric to improve, (d) engineers have differing opinions about the benefits of increased code velocity for their career growth, and (e) the controlled application of the commit-then-review model can increase code velocity. Our study supports the continued need to invest in and improve code velocity regardless of the underlying organizational ecosystem

    Shall we play a game?

    Get PDF
    In response to real and perceived short-comings in the quality and productivity of software engineering practices and projects, professionally-endorsed graduate and post-graduate curriculum guides have been developed to meet evolving technical developments and industry demands. Each of these curriculum guidelines identifies better software engineering management skills and soft, peopleware skills as critical for all graduating students, but they provide little guidance on how to achieve this. One possible way is to use a serious game — a game designed to educate players about some of the dynamic complexities of the field in a safe and inexpensive environment. This thesis presents the results of a qualitative research project that used a simple game of a software project to see if and how games could contribute to better software project management education; and if they could, then what features and attributes made them most efficacious. That is, shall we— should we— play games in software engineering management? The primary research tool for this project was a game called Simsoft. Physically, Simsoft comes in two pieces. There is an A0-sized printed game board around which the players gather to discuss the current state of their project and to consider their next move. The board shows the flow of the game while plastic counters are used to represent the staff of the project. Poker chips represent the team’s budget, with which they can purchase more staff, and from which certain game events may draw or reimburse amounts depending on decisions made during the course of the game. There is also a simple Java-based dashboard, through which the players can see the current and historical state of the project in a series of reports and messages; and they can adjust the project’s settings. The engine behind Simsoft is a system dynamics model which embodies the fundamental causal relationships of simple software development projects. In Simsoft game sessions, teams of students, and practicing project managers and software engineers managed a hypothetical software development project with the aim of completing the project on time and within budget (with poker chips left over). Based on the starting scenario of the game, information provided during the game, and their own real-world experience, the players made decisions about how to proceed— whether to hire more staff or reduce the number, what hours should be worked, and so on. After each decision set had been entered, the game was run for another next time period, (a week, a month, or a quarter). The game was now in a new state which the players had to interpret from the game board and decide how to proceed. The findings showed that games can contribute to better software engineering management education and help bridge the pedagogical gaps in current curriculum guidelines. However, they can’t do this by themselves and for best effect they should be used in conjunction with other pedagogical tools. The findings also showed that simple games and games in which the players are able to relate the game world to an external context are the most efficacious

    The strategic role of software development within the software industry of the Western Cape (South Africa)

    Get PDF
    Philosophiae Doctor - PhDAfrica’s mobile phone penetration has surpassed that of the United States of America and information communication technologies, according to the World Bank, contribute more to its gross domestic product than the global average. What has been the enabling environment for the development of software and mobile applications to sustain this information revolution? India, an affiliate of the family of economic nations consisting of Brazil, Russia, China and South Africa, has enjoyed remarkable success as a software developing country and thus could provide some guidelines in this respect. Ireland on the other hand, as a developed country, has also established a successful software industry. In this thesis, the key initiatives taken by both India and Ireland to establish their software industries were investigated. A grounded research approach, incorporating case studies of India, Ireland and South Africa, using a content analysis approach, was used to analyse cited literature about software development in these countries. India’s approach, which includes enabling policies, economic incentives, educational and human resource initiatives, attracting outsourced businesses from other countries and a combination of government and industry initiatives, has contributed to its software industry’s success. Ireland’s approach was industry initiatives, policies, software products and educational developments. Since India and South Africa share similar challenges and Ireland and South Africa have a common heritage, the initiatives by India and Ireland were juxtaposed with known initiatives in South Africa to determine what initiatives are needed for potential success of the software industry in the Western Cape region and in developing countries beyond. A better understanding of the software industry in the Western Cape Province of South Africa and the views of software practitioners in the region has been formulated. Recommendations on what needs to be done to promote the software industry in the Western Cape Province in terms of policy (local, provincial and national government), educational (school, tertiary), practice and other criteria are presented.National Research Foundation (NRF
    corecore