An agile journey | Part 1_Introduction

In the last time I found myself obsessed with thinking a lot about agile software development methods and the whole idea around microservices, DevOps and continuous integration and deployment.

I think it started with reading the “Lean Startup” and “Lean Enterprise” books and listening to a lot of tech-podcasts covering microservices. These books really got me and helped me a big deal with understanding the fundamental ideas behind the above mentioned concepts and how it all fits together in a certain way (at least I think I got it …somehow).

My interest in these books was highly motivated by the fact that my current project faces a lot of trouble that affect my everyday work-life (and my private life as well, due to overtime and working through weekends). Deadlines are exceeded, scope has to be reduced although everyone on the team works his ass off and more and more people are pulled to the project and everyone is under constant stress.

Reading those books (and several others, I will link a list of books somewhere) and listening to podcasts, describing awesome architectures and this culture of getting things done on my way to work ,was such a big difference to the world I found when I arrived at the office, that I started to question more and more aspects of the way we worked, but also saw great potential in applying the things I heard and read.  Like every average worker would do, I started to complain about the points that frustrated me to the person I thought was in charge and capable of solving this issues.

The effect was depressing. Nothing happened, it always resulted in “yeah…we really should to this sometime” and everybody “being to busy to improve”. And things got worse, the project team was really unsatisfied and overworked and at some time, the project-manager resigned and left the company. A new project-manager was assigned and everybody was confident that everything will get better. But nothing really changed…I started to discuss my ideas in the team, talking to other engineers and architects, trying to plant little seeds of hope and pushing people to the direction I thought was best. And I was surprised as most people agreed and saw my suggestions as a way out, or even developed thoughts in the same direction.

Now it is 2017, a new year and yet still no specific actions have been taken, even though everybody sees, that we need to change the way we work and there are a lot of good ideas on improvement. I think this is due to uncertainty or the lack of experience how to implement these ideas in a practical way and of course the lack of time, because the workload and pressure did not really decrease. It is a circle.

I decided to stop talking and complaining and take action now to do everything I can, to strive towards an agile organization that delivers high quality software in an efficient way that people enjoy working in.

The “agile journey” is going to be a diary-like series of blog-posts on the actions and progress it takes. I have not worked in an agile project so far and lack any practical experience, but I am convinced, that this the right way for my project. I will try capture as many impressions and experiences I make on this journey in these posts and hopefully it leads to some productive discussions, new ideas or maybe even help somebody out there, who finds himself in a similar situation.

Lets get this done!

Side project – Building my own little software engineering lab

As a developer or software architect I always strive to explore new technologies, build some stuff by myself, try something or just hack around for fun. For most of these things, it is sufficient to have my stuff running on localhost, but the real fun starts with really distributed systems.

So my plan was, to build my own infrastructure to run stuff on using raspberry pis. They are quite cheap, don’t consume that much energy and are sufficient for most of my use-cases.
As I succeed with some of the things I wan’t to do, I will try to post a new article here.

The steps I already did:
– setup raspberries
– setup git repositories on raspberry pi
– run Jenkins on raspberry pi
– run docker on raspberry pi
– run docker container with mongo DB on raspberry pi

Next steps:
– run some of my node.js applications on raspberry pi
– automation with Jenkins

If you are interested in one of these topics, please let me know!