Over my career in software engineering management, there are many things that I found out the hard way. Many lessons have been learnt through trial and error and first hand experience in delivering software. I have used these lessons to streamline my development teams workflow and ability to deliver effectively.
At the end of this article, you will learn how to remove friction from your development process, hold folks accountable for their contribution and enable your teams to deliver software more effectively.
Ok so I know software development doesn’t involve horse’s or any other animals (apart from the rubber duck), but this lesson is important, and the tacky analogy is permitted. Many organisations want the focus to be on delivering software, which seems reasonable. However, to deliver software effectively, some software needs to be re-written or refactored to accommodate the new requirements or to remove code that always causes problems. When teams keep ploughing ahead without taking the time too refactor or replace bad code we call this flogging a dead horse. …
The modern workplace is evolving at a rapid pace. This is driven by many different factors including COVID which has driven the widespread adoption of working from home as a necessity, right through to the generational shift sweeping the world new workers having different expectations of what organisations will be like.
One area which continues to evolve is society’s view on acceptable behaviour. No longer does society accept people behaving poorly on account of their fame, fortune or their standing in the business, and nor should they. …
This is a question that is often asked of managers. Some people tackle this question from many different perspectives wanting to focus on roles and responsibilities, tracking progress against a project schedule or indeed the flow of cards on a scrum wall. But I believe that the most important thing a manager can do is getting to know your team. I manage software engineering teams; however, the same applies to all teams in any discipline. In this article, I will explain why getting to know your team (and them you) is important. …
In today’s article, I will discuss scaling your engineering organisation. I have managed software teams of all sizes during my career. I have managed through growth periods, and also during downturns. Over my career, I have come across many different issues which can hamper the ability to scale. In this article, I will discuss the top issues I have seen hamper the ability to grow engineering teams. I will also cover how to get on top of these problems to enable your teams to scale. Let’s get started.
Scaling refers to increasing the size and capabilities of your engineering organisation. …
Business value is a concept that can mean different things to different people. A product manager at one company may value a long list of features that her customers have demanded for months. While the support manager at the same company may value a more stable product to keep the customers, she deals with happy. Business value is a difficult thing to define and indeed deliver.
A team effort is required to define and deliver business value, with careful consideration needed to ensure all voices are heard. While a lot of what I will be covering in this article is typically the purview of business analysts and product management, I believe that engineering leaders have a critical role to play in this space. Engineering leaders bring software development experience and technical expertise to the table to provide a crucial element to the delivery of business value which I will explain in this article. …
A guide to super charge your development cycle.
Hello friends,
In today’s article, we will discuss how incorporating cloud technologies into your development process can speed up your product development enabling you to get your product out the door and into the hands of your users quicker. I won’t be covering any particular flavour of cloud here, such as AWS, Azure or Google but rather core concepts of cloud technology which assist in speeding up developer velocity, with that said let us get started.
Modern cloud-based infrastructure providers have developed out of a select few companies where they developed in house expertise to manage their own huge compute requirements. AWS, Google, Microsoft all developed technologies to manage their own in house offerings and released that they would be beneficial (and profitable) to make this available to the general public. As the compute requirements of the world have increased exponentially, so have the ways and means to manage these vast arrays of computing muscle. …
Hello friends,
In today’s article, we will discuss mobile apps, more specifically how to choose the implementation your new app. There are quite a few different options for app development, but these mainly fall into two major camps: Native mobile apps and mobile web apps. I will cover a brief definition of each type of app architecture, and the various considerations for selecting one over the other. Now there are many different ways to develop mobile apps, with many different languages to choose from. In this article, we won’t be discussing any cross-platform framework or development languages, but two high level approaches for getting your killer product out and used on mobile devices. These are Native mobile apps and mobile web apps. …
Hello friends, in this article, I will discuss how I created my blog www.herdingcoders.com and hosted it in the cloud. I have long wanted to have my own personal blog, and this year I went ahead and committed to getting this done. With a little technical expertise and some patience, you can stand up your own blog in no time. In this article, I will detail the options I selected to stand up my blog, with that said, let us get started.
As I stated earlier, I have eyed off having a blog for a while now, and this year was the year to start one. Before I purchased any domains or hosting options, I took a look at the tech stacks around for having a blog. There are many, many options with the most popular being WordPress, Wix and Squarespace, amongst many others. These require no coding and are very easy to get started with. But to be honest, where is the fun in this if you can’t get your hands a little dirty with some code and cloud fun.? …
Hello friends. In this article, I will outline five ways to ensure your development team meets their delivery schedule. This article follows on from How to assess a development team, where I described five measures a manager could use to evaluate the overall health of a development team. Delivering software is one of the most important tasks undertaken by the team for obvious reasons, so it is critical they deliver on time and to a high quality. So with that, let’s get started.
The engineering team that develops the software you use is a great bunch of people. They produce great software and are very attentive to their users. They always are keen to understand how they can assist the business, and they never say no to a great idea or to offer help when someone yells out. Sounds great, doesn’t it? The only issue here is that they never ever hit any of their delivery schedules. Sometimes the delays are small only a few weeks or a month at the most, however sometimes the delays can stretch for six months or more. When the team consistently misses delivery timeframes, it is a pretty good indication that they have some severe issues to address. …
Hello friends. In this article, I will explain what to do when you don’t have a clear picture of what your development team is doing. It may sound quite weird that a manager doesn’t fully understand what their team is doing; however, it can be common for this to occur primarily in an experienced team or when the manager is new or non-technical. So with that, let us get started.
You have responsibility for the management or oversight of a development team. Details such as the size of the group or what they do don’t matter. But primarily this team will develop and support a particular application (or system) for a company. The team never seem to be slacking off, and they always seem to be busy. The team has a group of users that seem to be happy with their app and love the development team. …