Coding Insights: Experience-oriented software development for business people
At a glance
General information
2 days of practice-oriented training (remote)
Target group
- Managing Director/Owner of a tech-oriented company
- Scrum Master or Agile Coach, job starter (first entry into the job), Product Owner
- Career changers
without a programming background
Application examples
- Introduction to software development
- building up know-how in the field of software development
- getting to know agile working methods in software development
- concrete implementation of code
- collaboration in a remote setup
- getting to know agile collaboration
Description
This two-day workshop conveys the agile software development process clearly with little theory and lots of practice. It has been specially developed for large groups of participants who have little or no previous IT knowledge. The workshop includes interactive practical tasks that explain the basic concepts of agile development in an understandable way and provide the necessary knowledge of the Python programming language. In the Lean Coffee, questions of all kinds relating to software development are answered for the participants. Process or IT knowledge is explicitly not required.
Target group
This workshop is particularly suitable for one or more departments or teams, as well as companies with up to 100 participants. It is aimed at:
- Managing directors/owners of a tech-oriented company who do not have a programming background but want to understand how software development is implemented and how it works. It also gives a better understanding of the cost/effort ratio.
- Scrum Masters or Agile Coaches without a programming background
- Job starters (first entry into the job)
- Product Owners who want to build up technical knowledge: How does my team actually work? What processes are there in my team and what is hidden behind the terminology? Goal: To (better) bridge the gap between stakeholders and developers and to improve requirements management and
- Career changers who want to gain an insight into software development and then, if necessary, move on.
Course program
In smaller teams, the participants work together, supported by the trainer, to develop a complete small application in individual steps. After each step, all teams come together, present and celebrate their progress and inspire each other for the next round.
At the beginning of the workshop, the agile development process of a modern software project is explained. Then, in small groups (max. 10 participants), each with a trainer, concrete programming tasks from an example project are implemented. There is an introduction before each task. The trainer gives instructions and moderates through the task, while the participants participate interactively in the collaborative, shared development environment in the browser and can follow every keystroke live and contribute code themselves.
In the workshop, the trainer takes the group’s level of technical knowledge into account and adjusts the speed accordingly. The aim is to make the understanding of the complexity of software tangible and to make the agile development process tangible by working on the tasks in regular cycles (agile sprints). In a demo after each cycle, the individual groups are given insights into alternative solutions of the other participants, as well as the opportunity to ask questions. Finally, all participants can share and discuss their IT-related topics and questions in a moderated format.
Prerequisites
No special operating system or other software needs to be installed to complete the exercises; all that is required is an up-to-date browser and a willingness to participate.
Agenda
- Presentation of technical basics
-
- Presentation of the modern software delivery process from requirements analysis to monitoring
- Presentation of Test Driven Development
- Introduction to the online IDE in the browser (structure, folder and file structure)
- Exercise 1 (2-3 iterations): First programming steps
- Getting to know the basic language features of Python (variables, data types, conditions, functions, …)
- First steps in programming using simple use cases
- Creating unit tests and applying test-driven development
- Refactoring the grown code base
- Using the principles of separation of concerns
- Dealing with errors and fixing them (bug fixing)
- Lean Coffee
- Brainstorming of topics related to software development and the exercises, as well as interesting facts from the trainers from the everyday project life of a software developer
- Prioritization of the topics
- Joint exchange/discussion on the topics (time boxed)
- Exercise 2 (3 iterations): Advanced use cases
- Getting to know advanced language features of Python (loops, data structures such as lists, classes, …)
- Implementation of the advanced use cases
- Creating unit tests and applying test-driven development
- Refactoring the grown code base
- Clear structuring of code by encapsulating information with classes
- Best practices for naming variables, functions and classes
- How to deal with technical debt
- How to deal with unexpected errors with resilient software design
- How to make code robust with defensive programming
- Use of 3rd party code and its pitfalls
Sequence of the individual iterations
The workshop is carried out in short iterations of 90 minutes each, in which the main points (planning, implementation, review and retro) are included:
- Introduction: What is the task and what is the content that will be worked on in this sprint?
- Coding: Working on the task together with the trainer
- Review: Joint consideration of the solution and discussion of possible alternatives and improvements. What has been implemented well? What could be improved?
Retro/Lessons Learned: What have we learned professionally in this iteration? What have we learned as a team in our collaboration?
- signed certificate of completion
- in-house training
- Customization available (agenda, tech stack, language, etc.)
- small training groups
Why inovex Academy?
Our offerThe inovex Academy has set itself the task of passing on knowledge about methods and technologies that we already use successfully in our projects.
Curated content
Our trainers create a customized training offer based on your requirements.
Customizable tech stack
In exclusive trainings, we can consider your tech stack for the training content.
Individual assistance
If needed, we can tailor the training to a specific use case of your company and work directly based on your data.
Our training approach
From the needs analysis to the awarding of certificates, we offer customized training courses, flexibly designed and carried out according to your requirements.
If you are interested in in-house training, we will start by identifying your needs and discussing your objectives. This discussion forms the basis for an initial offer.
As soon as the framework data has been clarified, our trainers start adapting the training content. Many of our training courses have a modular structure and offer the opportunity to design the agenda flexibly. Training courses that prepare for certifications, on the other hand, are less flexible. Here, however, you can set the content focus according to your wishes.
You will receive all relevant information in advance of the training. The training will then take place in the room of your choice and at the agreed time. Our trainers will adapt to your requirements.
After completing the training, all participants receive a certificate confirming their participation. You will also have the opportunity to give us feedback on the content and the course. We are always happy to receive praise and suggestions for improvement.