The Path to industrial Software Development


Scientific Essay, 2017
12 Pages

Free online reading

content

1. Brief description of the author

2. Summary

3. Software development processes

4. Additional Certifications and Roles

5. Tools and programming languages

6. Job exchanges and networking opportunities

7. Summary and outlook

8. bibliography

9. list of figures

10. table directory

1. Brief description of the author

I am a qualified electrical engineer with a focus on electronics, microelectronics, renewable energy technology and computer engineering. In October 2004 I received my diploma at the Technical University of Berlin. By side my work I successfully completed a Master of Art at the HWR-Berlin in 2012, which had the core areas of sustainability and quality management. In October 2014, I started a PhD program in German, based on a cooperation between Austria (KMU Institut) and Middlesex University in England. These are core areas of green IT, software risk management and the use of qualitative and quantitative research methods. The DBA programme will come to an end at the end of 2020.

2. Summary

These guidelines are based on more than 17 years of professional experience in application-oriented software development in Berlin in both the automotive and medical technology industries. It serves to give students and graduates who are about to write their final thesis or have just finished it and are looking for a new challenge a glimpse into the practical industrial environment of software development in order to better make the decision for the future job, one or the other company, technology used, processes used and roles in the team. Figure 1 schematically shows the objective of this guideline.

Abbildung in dieser Leseprobe nicht enthalten

Figure 1: Schematic representation of the objectives of this guideline. Source: own representation

In order to achieve the objectives of this guideline, the prerequisites, requirements, challenges and technical as well as non-technical aspects of software development in the automotive and medical technology industries are summarized according to personal experience. The following topics will be dealt with in detail, to have heard them or to have used them will be classified after personal experience as very important in each application file:

1. Which development processes are used in software development? Both agile (e.g. Scrum) and traditional procedures (V-model) are used.
2. Which additional certifications increase the chance of finding a job and enable better pay?
3. Which knowledge of the tools and programming languages used increases the chance of finding a job and enables better pay. Where can you expand or deepen your knowledge if you have not learned or applied it during your studies?
4. Selected job exchanges and networking opportunities on the Internet, whether with headhunters or potential employers, are presented.

Figure 2 shows the structure of this guideline, which is suitable for the fields of Computer Science, Computer Engineering, Business Information Systems and Electrical Engineering according to personal experience. The knowledge about the topics, technologies, processes and further education possibilities enables that the chances are better to be invited to an interview as well as to negotiate good starting conditions in the details of the contract negotiations (e.g. salary).

Abbildung in dieser Leseprobe nicht enthalten

Figure 2: The structure of the route. Source: own representation

3. Software development processes

Software development projects and the resulting products are in an environment that can be summarized in Figure 3. The development has defined milestones and stages. It starts with the analysis of the requirements up to the delivery and runs several iterations (Figure 3 middle line). The environment of a project usually plays a decisive role in leading the projects to success. In a large company with guidelines, quality management and project and product management departments, requirements are derived from the market in order to integrate them into new features of a software product. To this end, tools, configuration management and tools play a supporting role in order to survive in an environment of large competition and short lifecycles (cf. Plewan and Poensgen, 2011, pp. 12-14).

Abbildung in dieser Leseprobe nicht enthalten

Figure 3: Software development. Source: own presentation, based on Plewan, Poensgen, 2011, p. 12

In order to get the software under control according to the principle of parts and control, two process models have become established in industrial software development. On the one hand the V-model is used as a classical model (see Figure 4) and on the other hand mostly small teams use the agile approach Scrum (see Figure 5). The V-model breaks down the phases in software development into constructive (left branch of the Vs) and destructive (right branch of the Vs) phases that run in parallel. In each of these development steps there are roles and tasks(cf. Spillner and Linz, 2012, p. 41). Scrum as an agile method divides the project into iterations (sprints) that go through summarized steps of the V-model to deliver parts of the entire product. This enables better customer feedback on the one hand and team members can react better to changing requirements on the other (cf. Alby et al., 2016).

Abbildung in dieser Leseprobe nicht enthalten

Figure 4: Development steps in the V-model. Source: Spillner, Linz, 2012, p. 41

Abbildung in dieser Leseprobe nicht enthalten

Figure 5; The steps in Scrum. Source: Alby et. al., 2016

In the following chapter (Chapter 4), additional qualifications and roles will be developed, which are often desired for the agile environment such as Scrum as well as for the classic environment such as the V-model. This path is limited to the roles in Scrum, the requirements phase, architecture, project management and testing. Chapter 5 is devoted to programming and tools, which languages and tools are most commonly used and where to learn them, for a better understanding.

4. Additional Certifications and Roles

The roles of software development and the associated certifications are compared as examples in Table 1. For the details and certification (certificate, programs and exam) you can search the internet. In Germany, the International Software Quality Institute (iSQI GmbH), headquartered in Potsdam, is a suitable contact point for training and certification programs(see iSQI, 2017).

Table 1: Examples of certifications in German-speaking countries

Abbildung in dieser Leseprobe nicht enthalten

Students are entitled to discounts on the training and subsequent examinations offered by a training provider as well as on taking the iSQI examination. For many employers, these additional qualifications in industry are desirable. For each certification there is a book which you can work on yourself and can take the exam without a training provider. Examples of these books are listed in the bibliography (Johannsen et al., 2017; Johner et al., 2011; Pohl und Rupp, 2015; Spillner und Linz, 2012).

5. Tools and programming languages

In order to master the content of software development in the industry, efficient tools are needed that are suitable for implementing the software from the requirements to the qualitative delivery. Table 2 shows examples of some of these tools. The basic knowledge with the tools represent a good starting point for a graduate to get a job in the industry.

Table 2: Examples of tools in software development

Abbildung in dieser Leseprobe nicht enthalten

The tools are partly commercial and partly open source. There are platforms on the Internet that offer learning videos on the contents of the tools and the correct operation. Some of them are www.video2brain.com and www.udemy.com

6. Job exchanges and networking opportunities

In order to network at an early stage so that contacts can be gathered for potential employers, platforms are available both in German-speaking countries and internationally.

XING under www.xing.com (national and/or internationally) as well as LINKEDIN www.linkedin.com can be used, in order to develop a network for vocational contacts. Other platforms can be used to find out what experiences have been made about a particular employer. For this KUNUNU offers itself under https://www.kununu.com .

There are many job exchanges on the Internet, it is advisable to use the following as an introduction, as your own experience has shown that they are well suited for the introduction. INDEED at https://de.indeed.com , STEPSTONE at www.stepstone.de and JOBVECTOR at www.jobvector.de

7. Summary and outlook

Software development projects require a lot of knowledge, social skills and good communication. The guide tries to shed light on some aspects to be able to survive in the market and to get good job opportunities. It is advisable to regularly read job advertisements on the Internet to get an overview of the innovations and development in the industry. Some aspects of software development have not been covered in this guide, but knowledge in the areas of process maturity and models can provide a very good summary of the state of the art in software development. Details can be found in the literature or on the Internet, especially on CMMI and SPICE as representatives of maturity models (Hoermann, 2012; Kneuper, 2007; Mueller et al., 2008; Müller et al., 2016; Wagner and Dürr, 2007).

8. bibliography

Alby, T.; David, B.; Sabine, P. (2016). Project Management: Definitions, Introductions and Templates - Project Management explained in an understandable way. Online: http://projektmanagement-definitionen.de/ [accessed 04.09.2016]

Hoermann, K. (2012). CMMI-DEV Essentials: CMMI for Development - compactly taught. (1st edition). Kornwestheim: KUGLER MAAG CIE

iSQI (2017). Certificates - iSQI - Germany's leading personnel certifier. Online: https://www.isqi.org/de/zertifikate.html [queried on 22.09.2017]

Johannsen, A.; Kramer, A.; Kostal, H.; Sadowicz, E. (2017). Basic knowledge for software project managers: Training and further education to become a Certified Professional for Project Management. (1st edition). Heidelberg: dpunkt.verlag

Johner, C.; Hölzer-Klüpfel, M.; Wittorf, S. (2011). Basic knowledge of medical software: Training and further education to become a Certified Professional for Medical Software. (1st edition). Heidelberg, Neckar: Dpunkt Publishing House

Kneuper, R. (2007). CMMI: Improvement of software and system development processes with Capability Maturity Model Integration. (3rd edition). Heidelberg: dpunkt

Mueller, M.; Hoermann, K.; Dittmann, L.; Zimmer, J. (2008). Automotive SPICE in Practice: Surviving Implementation and Assessment. (1. Auflage). Santa Barbara, CA: Rocky Nook

Müller, M.; Hörmann, K.; Dittmann, L.; Zimmer, J. (2016). Automotive SPICE® in practice: Interpretation help for users and assessors. (2nd edition). Heidelberg: dpunkt.verlag

Plewan, H. J.; Poensgen, B. (2011). Productive software development: Evaluation and improvement of productivity and quality in practice. (1st edition). Heidelberg: Dpunkt Publishing House

Pohl, K.; Rupp, C. (2015). Basic knowledge Requirements Engineering: Training and further education according to IREB standard to Certified Professional for Requirements Engineering Foundation Level. Heidelberg: dpunkt.verlag

Spillner, A.; Linz, T. (2012). Basic knowledge of software testing: Training and further education to become a Certified Tester - Foundation Level according to ISTQB standard. (5th edition). Heidelberg: dpunkt.verlag

Wagner, K. W.; Dürr, W. (2007). Determine maturity level according to ISO/IEC 15504 (SPiCE). (1st edition). Munich: Carl Hanser Publishing House

9. list of figures

Figure 1: Schematic representation of the objectives of this guideline. Source: own representation

Figure 2: The structure of the route. Source: own representation

Figure 3: Software development. Source: own presentation, based on Plewan, Poensgen, 2011, p. 12

Figure 4: Development steps in the V-model. Source: Spillner, Linz, 2012, p. 41

Figure 5; The steps in Scrum. Source: Alby et. al., 2016

10. table directory

Table 1: Examples of certifications in German-speaking countries

Table 2: Examples of tools in software development

[...]

12 of 12 pages

Details

Title
The Path to industrial Software Development
Course
-
Author
Year
2017
Pages
12
Catalog Number
V505899
Language
English
Tags
Software Development, Working in Software Development
Quote paper
Haider Karomi (Author), 2017, The Path to industrial Software Development, Munich, GRIN Verlag, https://www.grin.com/document/505899

Comments

  • No comments yet.
Read the ebook
Title: The Path to industrial Software Development


Upload papers

Your term paper / thesis:

- Publication as eBook and book
- High royalties for the sales
- Completely free - with ISBN
- It only takes five minutes
- Every paper finds readers

Publish now - it's free