Archive of posts in tag 'Software Development'

Please note: This archive page is only available in English. If a German version of a post is available, you can change the language once you've opened the post.
See all posts

Scroll down to see more ...

post icon Clean Code Development Part 2: Why and how we implement it

November 02, 2018 / by Jenny Dornberger / In Quality

Clean Code Development Part 2: Why and how we implement it

In this blogpost we evaluate the positive factors that influenced our decision Pro-Clean Code and how we use the approach in everyday software development life.

Read more
post icon Java Annotation Processors - Generating Code

October 01, 2018 / by Sebastian Sdorra / In Software Craftsmanship

Java Annotation Processors - Generating Code

In the third and final blog post of this series, we will demonstrate how you can generate source code with the help of an annotation processor, while in the intro part we have learned how to write, register and use a simple Annotation Processor and in the second part we created configurations.

Read more
post icon Clean Code Development Part 1: A Question of Personality and Teamwork

September 13, 2018 / by Jenny Dornberger / In Quality

Clean Code Development Part 1: A Question of Personality and Teamwork

What rules should a "good programmer" actually follow in order to build high-quality software? I used interviews with our developers to evaluate what clean code development (CCD) can do and what hurdles are encountered when integrating this approach into the everyday life in software development.

Read more
post icon DevSecOps and GDPR - Why Open-Source Governance is so important

September 04, 2018 / by Shane Close / In Quality

DevSecOps and GDPR - Why Open-Source Governance is so important

In an economy that is shaped by applications, software development teams face the challenge to release new versions faster, improve the quality and to expedite innovation.

Read more
post icon Java Annotation Processors - Creating Configurations

August 06, 2018 / by Sebastian Sdorra / In Software Craftsmanship

Java Annotation Processors - Creating Configurations

In the second section, we would like to focus on generating configuration files for a simple plugin library. To do this, we will write an annotation processor that exports all classes which are annotated with an `@Extension` annotation to an XML file. In addition to the full name of the class, the Javadoc for the class is also written to the XML file. Additionally, we will write a class that allows us to read these files from the classpath.

Read more
post icon Coding Continuous Delivery — Static Code Analysis with SonarQube and Deployment on Kubernetes et al. with the Jenkins Pipeline Plugin

July 13, 2018 / by Johannes Schnatterer / In Software Craftsmanship

Coding Continuous Delivery — Static Code Analysis with SonarQube and Deployment on Kubernetes et al. with the Jenkins Pipeline Plugin

Jenkins Pipelines were subject to three former blog posts. This last part one is dedicated to the integration of SonarQube, Kubernetes and CD on other platforms.

Read more
post icon Java Annotation Processors - An introduction

June 15, 2018 / by Sebastian Sdorra / In Software Craftsmanship

Java Annotation Processors - An introduction

Java annotation processors are a very powerful tool in a developer’s toolkit. They can be used for many things, such as logging information during the build, aborting a build with an error message, creating configurations and documentation, altering classes or creating new classes.

Read more
post icon Private Software Development Cloud

June 06, 2018 / by Daniel Huchthausen / In EcoSystem

Private Software Development Cloud

Due to the recent announcement of the acquisition of GitHub by Microsoft and the (sometimes very emotional) discussions about possible ramifications, it becomes obvious that people, teams or companies use services like GitHub for many different reasons. That is because they all have different prerequisites and requirements; GitHub hosts code for 100% Open Source developers as well as for companies with private repositories only and everything in between.

Read more
post icon Coding Continuous Delivery—Helpful Tools for the Jenkins Pipeline

May 24, 2018 / by Johannes Schnatterer / In Software Craftsmanship

Coding Continuous Delivery—Helpful Tools for the Jenkins Pipeline

After the first two parts of this series discuss the basics and the performance of Jenkins Pipelines, this article describes useful tools and methods: Shared libraries allow for reuse for different jobs and unit testing of the Pipeline code. In addition, the use of containers with Docker offers advantages when used in Jenkins Pipelines.

Read more
post icon Coding Continuous Delivery—Performance optimization for the Jenkins Pipeline

May 02, 2018 / by Johannes Schnatterer / In Software Craftsmanship

Coding Continuous Delivery—Performance optimization for the Jenkins Pipeline

If you’ve ever used a conventional CI tool to set up a Continuous Delivery pipeline by chaining individual jobs without any direct pipeline support, then you’ll know just how complicated this can get. In this article series, we’ll explain how a pipeline can be defined as code in a central location using the Jenkins pipeline plugin. In the first part of this article series, we’ll take a look at the basics and share some practical tips for getting started.

Read more
post icon Coding Continuous Delivery—Jenkins pipeline plugin basics

April 19, 2018 / by Johannes Schnatterer / In Software Craftsmanship

Coding Continuous Delivery—Jenkins pipeline plugin basics

If you’ve ever used a conventional CI tool to set up a Continuous Delivery pipeline by chaining individual jobs without any direct pipeline support, then you’ll know just how complicated this can get. In this article series, we’ll explain how a pipeline can be defined as code in a central location using the Jenkins pipeline plugin. In the first part of this article series, we’ll take a look at the basics and share some practical tips for getting started.

Read more
post icon Reality check for another agile approach

June 30, 2017 / by Daniel Huchthausen / In Methods

Reality check for another agile approach

Some time ago we introduced the lean methodology #NoEstimates. We showed the basic principles and how to get started with it. Now, after some time, we want to comment on how to use this approach in reality. The time has come to figure out whether #NoEstimates is applicable in the real world and with real projects and we want to share some tips what you should focus on.

Read more
post icon Source Code Management with SCM-Manager

March 30, 2017 / by Daniel Huchthausen / In EcoSystem

Source Code Management with SCM-Manager

Over the years we talked a lot about SCM-Manager, but we never officially introduced it as one of the Cloudogu EcoSystem. Since SCM-Manager had its 6th anniversary not long ago, we want to catch up on that.We mentioned SCM-Manager the first time about 4 years ago, when the current version was 1.28. These days version 1.52 was released. That is reason enough to give an update on SCM-Manager, to sum up the changes and improvements that were made in the meantime.

Read more
post icon First Steps Towards Test Management

February 28, 2017 / by Daniel Huchthausen / In Methods

First Steps Towards Test Management

If you develop software it is inevitable to test the code that was programmed and there are several different ways to do that. For instance you can automate your tests or execute them manually. No matter how you carry out your tests you have to ensure that you test the right thing and that you test everything that is relevant. That is where test cases and scenarios come into play.

Read more
post icon Software Prototyping - Rapid Application Development

December 20, 2016 / by Daniel Huchthausen / In Methods

Software Prototyping - Rapid Application Development

Prototypes are a great way to get feedback on design ideas and the feasibility of technical solutions. RAD (Rapid Application Development) is a methodology that focuses on starting development asap instead of writing rigorous design specifications. In contrast to the advice from the first post on software prototyping, to never use a prototype in production, RAD does exactly that. That is why we want to take a closer look at it.

Read more
post icon How about a new agile approach?

November 04, 2016 / by Daniel Huchthausen / In Methods

How about a new agile approach?

#NoEstimates is a lean and agile methodology that focuses on the delivery of customer value. To reach this goal it tries to minimize non-value-creating actions like the estimation of implementation effort for User Stories. In the first part we introduced the basic ideas of the methodology. In this part we want to provide some tips on how you can get started with #NoEstimates.

Read more
post icon Just Another Agile Methodology

November 04, 2016 / by Daniel Huchthausen / In Methods

Just Another Agile Methodology

In the "Lean way of thinking" effort to estimate the implementation time for tasks, user stories or features, is waste, because it doesn´t produce value to the customer, it just makes people feel better. Therefore time spent on such activities should be reduced as much as possible. #NoEstimates is an agile methodology that helps you to focus on creating customer value instead of spending time on things that don´t create value.

Read more
post icon Software Prototyping

May 24, 2016 / by Daniel Huchthausen / In Methods

Software Prototyping

Prototyping is a great way to get an impression of how a product or idea could look like. In manufacturing you can use e.g. 3D printers to create prototypes. In software development you still have to code but you can apply different principles compared to developing a "real" product. We want to give a short introduction into software prototyping, because it can help you to develop better software, faster.

Read more
post icon How to improve software quality

February 24, 2016 / by Daniel Huchthausen / In Quality

How to improve software quality

In the last post we defined quality as "the degree of conformance to explicit or implicit requirements and expectations" and took a closer look at the different terms of the definition. During this examination it became clear that quality starts with thoroughly defined requirments. In this post we want to go one step further and show which steps can be taken to improve quality.

Read more
post icon Understanding Software Quality

February 24, 2016 / by Daniel Huchthausen / In Quality

Understanding Software Quality

People often talk about high quality software products, but what is that? How can you measure or compare the quality of an application? Let´s take a closer look at this topic and discuss what quality is all about and how it can be improved.

Read more
post icon Bring Your Product Idea to Life - with Lean Startup

January 07, 2016 / by Daniel Huchthausen / In Methods

Bring Your Product Idea to Life - with Lean Startup

Lean Startup is a methodology that focuses on successfully bringing product ideas to life. The main elements of the approach are an interactive product launch, very short development iterations and as the most important element, customers´ feedback.

Read more
post icon Making Estimations

September 22, 2015 / by Daniel Huchthausen / In Methods

Making Estimations

When you are working on a software development project you need to estimate the required effort for tasks or a whole project. In traditional project management (waterfall) it is necessary to estimate the overall expenses for the project before it has even started. This comes along with high uncertainties and risk. In projects that are using agile approaches the uncertainties are lower, because you only need to consider the next iteration in detail (in case of Scrum). Nevertheless it is necessary to estimate effort and there are different approaches for that.

Read more
post icon Agile Contracts

August 31, 2015 / by Daniel Huchthausen / In Methods

Agile Contracts

Agile approaches and methodologies are being used more and more, because the benefits of using them can be huge, e.g. improved quality of products. But often an issue arises that makes adopting agile in companies difficult: the contract with the customer. Clients often prefer fixed prices and demand a fixed set of requirements which is totally in contrast with the principles of agile approaches. This prevents that the development team can take advantage of the full potential. Lately, the awareness for this issue rose and efforts for creating contracts that support agile working are undertaken.

Read more
post icon Example setup of continuous integration platform

July 20, 2015 / by Daniel Huchthausen / In EcoSystem

Example setup of continuous integration platform

In software development there is no such thing as the holy grail, no perfect process that you can follow in each project and that ensures that everything works out smoothly. But there are tons of very helpful best practices that you can use as a guideline. One of the principles of SCM-Manager Universe is that you can adapt it to different software development processes, because it isn't designed specifically for one process. To give you a better understanding of how you can use SCM-Manager Universe, we want to show you how we configured the appliance for one of our projects.

Read more
post icon Software Development in the Cloud

June 30, 2015 / by Daniel Huchthausen / In Cloud

Software Development in the Cloud

It is predicted that the cloud market will keep on growing for the next years and that more and more businesses will start moving to the cloud. That's why we want to take a closer look at the pros and cons of this subject, especially focused on advantages and disadvantages for software development with cloud services.

Read more
post icon Automated Release Management

April 28, 2015 / by Daniel Huchthausen / In Software Craftsmanship

Automated Release Management

Use SCM-Manager Universe to implement an automated release-management for your projects. You can do that by using Jenkins and Sonatype Nexus. In this post we will show the necessary configuration for Maven projects with an automated deploy of snapshots and release of new versions.

Read more
post icon Code Anywhere

March 03, 2015 / by Daniel Huchthausen / In Cloud

Code Anywhere

Web IDEs are a good way to be independent from a single workstation. Over the last couple of months a large number of web IDEs came up, either as cloud service or as server based option. Depending on your project and the way you work, it could be a good alternative to a classic IDE. We want to take a look at Orion by Eclipse, which is geared for Java projects, just like our appliance and the standard Eclipse IDE. Therefore it could be a perfect match to integrate Orion into SCM-Manager Universe.

Read more
post icon Code Conventions

February 03, 2015 / by Daniel Huchthausen / In Methods

Code Conventions

80% of lifetime costs goes to maintenance and hardly any software is maintained for its whole life by the original author. Therefore it is crucial that code is written in a comprehensible manner. Code conventions help to achieve this.

Read more
post icon PHP meets SCM-Manager Universe

November 28, 2014 / by Daniel Huchthausen / In Technology

PHP meets SCM-Manager Universe

To keep SCM-Manager Universe as lean as possible the appliance is geared for Java projects. To use it with some of the other programming languages it is necessary to perform some modifications. We want to show you how to adjust your SCM-Manager Universe for PHP projects.

Read more
post icon SCM-Manager Plugins Part 7: pathwp and branchwp

May 23, 2014 / by Daniel Huchthausen / In Technology

SCM-Manager Plugins Part 7: pathwp and branchwp

If you want to restrict the write access to parts of your repositories, SCM-Manager offers you two useful plugins: scm-branchwp-plugin and scm-pathwp-plugin. Both enable you to manage write access to your repositories in more detail, either by paths or by branches.

Read more
post icon SCM-Manager Plugins Part 6: Checkstyle

September 04, 2013 / by Daniel Huchthausen / In Technology

SCM-Manager Plugins Part 6: Checkstyle

We published a new SCM-Manager plugin: scm-checkstyle. It helps you to improve your software quality in Java projects by checking your code against code conventions in a very early stage of software development where adaptations are only little time-consuming.

Read more
post icon Continuous Integration Server Jenkins

July 22, 2013 / by Daniel Huchthausen / In EcoSystem

Continuous Integration Server Jenkins

We would like to present Jenkins, a continuous integration tool that is part of the Cloudogu EcoSystem (CES). We will introduce Jenkins and continuous integration in general and special circumstances of Jenkins as part of the CES.

Read more
post icon Open Source. A Success Story

June 05, 2013 / by Daniel Huchthausen / In Insides

Open Source. A Success Story

What comes into your mind when you hear "open source"? Do you think about something that came up several years ago, which is now a trend in software development? Or do you think about something that was there from the early days of the computer age, went through a difficult time and is now celebrating a renaissance? In this post we give a condensed overview on the history of open source, its characteristics and a prospect on where it might go.

Read more
post icon Source Code Management and the SCM-Manager

April 18, 2013 / by Daniel Huchthausen / In Technology

Source Code Management and the SCM-Manager

Nowadays distributed source code management is a must-have tool for every developer and a large number of different implementations compete for attention. So getting started is a complex task. To make the start more easy we want to show you today the development of source code management from centralized to distributed systems and the on top tool SCM-Manager. In following articles we will familiarize you with the different version control systems (VCS) in more depth.

Read more