Back to library

Way of Working

What do I need to start developing a software application?

So, you have a rough idea for an app to address some problem in your business - what next? Getting started on any software project can often be overwhelming, so it is crucial to be equipped with the right artefacts prior to building your application.

What is a product backlog?

This article will help you understand a little more about building a product backlog. The product backlog is the basis for how a software project is estimated and the roadmap constructed. For the old school, the product backlog is a list of requirements.

Do you scope legacy systems differently?

Or, how do you scope a legacy migration? While we talk about the many different approaches to scoping, there are certain aspects which can be done differently when you are trying to modernise an existing system. This article explores what those differences are, and the most effective way you can modernise your product.

How do I scope like a pro?

Scoping is more than process, its a whole mindset that can help you unlock

Why is scoping important?

Understanding the importance of scoping out a project before you begin work.

What is the difference between Scrum and Kanban?

The quick answer is that Scrum uses sprints and delivers software at the end of each iteration. There is a Scrum guide that details all of the principles and practices of Scrum. Scrum is considered to be Agile. On the other hand, Kanban uses a continuous flow of work and delivers software when it is ready. The Kanban philosophy has roots in lean manufacturing and limits the work in progress through a pull mechanism to do work. It can also be considered to be Agile.

What are some scoping best practices?

A few of the key things you can do when scoping a product to ensure it hits the mark.

How do I scope out a project?

Part of being a product designer is learning how to navigate the start of a project so you can help your team and clients understand exactly what needs to happen to get started.

The cone of uncertainty experiment

The cone of uncertainty is a powerful tool depicting the uncertainty about the time required to complete a project, based upon the amount of knowledge (or lack thereof) at the beginning of a project. In this article, we explore an experiment conducted by a team of people at Codebots to determine how the application of a cone of uncertainty could enhance project estimations.

The tech spike experiment

Tech spikes are an important part of our Way of Working, as they help us reduce the complexity and unfamiliarity of an issue for high risk projects. The tech spike experiment was conducted following the introduction of the risk matrix, as we began to notice issues that had higher risks were too difficult to estimate with a reasonable level of precision. In this article we will follow the how to propose an experiment methodology to understand why Codebots decided to start using tech spikes in our projects.

The software risks experiment

In this article we will look at an experiment the Codebots team conducted to discover how we could best manage software risks.

What are experiments? Using science to solve business problems with heart.

An experiment is a scientific method of evaluating ways to solve a problem. In this article, we'll explore how we run experiments at Codebots, and explain why it's essential for all businesses to encourage their employees to develop an experimental mindset.

Why is science so important?

In an age dominated by the spread of misinformation, it is crucial to remember the pursuit of truth is what lies at the heart of the scientific endeavour. As we embark on this journey of discovery, we should always be asking ourselves the following - How do we know what is true? Who and what should we trust?

How do you convince people not to use Waterfall?

Have you ever been in a meeting where someone is stuck in a waterfall mindset? I have. Many times. And if you start out a project where this still lingers, you have effectively left your future self a land mine and when you step on it ... bang! Your project will derail and life will not be fun.

What is the best software development methodology?

If you are new to software development methodologies, you can think of them like a recipe for cooking. A cooking recipe usually gives you a list of ingredients with their weights/volumes, an instruction list of some sort, and eventually you will serve it up for people to eat. Because the recipe is written down, other people can follow it.

What is a Way of Working?

Every organisation has a different way of working. Some organisations align themselves with a specific methodology, but the truth is they usually only use a subset of what's available and end up making their own hybrid approach. The philosophy behind a Way of Working is to embrace this.

How do you propose an experiment?

Channel your inner scientist and follow these 5 steps for proposing an experiment to make your software more loveable.

Why use hours vs story points when estimating software?

On the surface, story points seem great and make a lot of sense. They provide software teams with the ability to make story estimations relative to each other, without considering time. This allows velocity to be measured. What could be wrong with that?

8 ways to reduce software development costs

Do you know how to reduce software development costs? On average companies spend 3.28% of total revenue on IT and services, according to a study from Deloitte. In this article I will discuss eight strategies we have found to bring down the cost of software development.

How do you calculate the length of a software project?

How do you estimate a software project? It is possible to calculate a decent estimation of a software project (as long as you are willing to put in some effort). Previously, we have covered some other approaches on how to estimate a software project, but in this article we are going to dive into the details on how to follow the Way of Working and use a time estimation spreadsheet.

How do you estimate a software project in man hours?

Anyone who has spent time before building software knows that estimating the length of a project is notoriously difficult. There are of course a number of different methods for estimating. As you build more projects you will likely discover which method works best for you. In this article, we will discuss the method we have come to prefer - estimating in man hours.

Why do developers always need time to polish things off?

This article will give you insight into the logistics of the software development lifecycle, and explain why developers need extra time at the end of a project to polish things off.

How many hours a day are workers productive?

Various studies have found that the average employee is only productive for three hours a day, or an average of 12.5 hours per week.

How do you manage expectations in software development?

Expectations can be a powerful, yet unavoidable force in any project. In the following article, we explore some of the ways in which you can best manage these through the lifecycle of your software project.

How do you identify and manage risks in software development?

No matter the software project, there will always be an element of risk present that you must account for. The follow article explores some of the most effective ways to identify and manage risks in the software development process.

Why do so many software projects fail?

All too often, we hear stories of software failing as IT systems become an increasingly prominent part of our everyday lives. In the following article, we investigate some of the most significant factors behind past examples of failed software projects.

What are the 10 biggest risks in software development?

How do you identify risks in software development? This article will examine 10 of the biggest risks in software development, why they occur, and how you can mitigate these software risks.

7 ways to estimate a software project

If you have had experience estimating software projects, you might think it is an impossible task. However it is possible, and there are a number of known techniques on how to best estimate. If you have a little time and are willing to do some deeper research in the area, you will be able to get your head around the general ideas and the pitfalls of some of the approaches.

Why are software estimates so hard?

Besides being a prediction of the future, there is a very human element to why software estimates are so hard. The psychology behind software estimations is fascinating and some studies have turned up some very interesting results. Knowing about your own biases and human psychology can help improve the realism of software estimates. As Dan Ariely sums up nicely with the title of his book, we are Predictably Irrational.

How long will a legacy migration take?

How long will a legacy migration take? This is a common question and it is important to have a process to follow to answer with truth, transparency and a detailed amount of due diligence. Too many legacy migration projects have failed because they have not addressed this question sufficiently.

Evolving the Bots

The process we follow to evolve the bots.

Experiment Process

How to write and run a Way of Working experiment.

Support Stage

The support stage of the Way of Working.

Release Checklists

An overview of the beta and production release checklists which are required to be completed before every release.

The Environments

A look into the local, beta and production environments and what is done on each.

Release Stage

An introduction to the release stage of the Way of Working.

Conducting User Acceptance Tests

An outline of how to conduct user acceptance tests once development is completed.

Definitions of Ready and Done

An outline of the Definition of Ready and Definition of Done checklists, which should be completed for every iteration.

Development Stage

An introduction to the development stage of the Way of Working.

Types of Development Approach

This lesson outlines the different types of development options.

Scope Estimations

An outline of the Codebots estimation process.

Acceptance Criteria

Acceptance criteria are written against every individual ticket in a project. The acceptance criteria live up to their name, as they are used as the criteria which must be met in order for a ticket to be considered complete in development.

Introduction to the WoW

An introduction to the Codebots Way of Working.

Scoping Stage

A high-level overview of the scoping stage.

Brief Stage

A "brief" introduction to the brief stage.

Team Roles

This lesson explains the various team members and their role within the way of working.