So you are trying to build a fast moving digital organisation, one that responds to market opportunities, is decisive and can get things delivered. One of the challenges you may encounter is a thing we call Analysis Paralysis.
Digital service delivery
Things We Learned Building a Complex React App
React is a fantastic tool for building frontends. We’ve been using it for small applications for a while, and recently used it for a more complex app. Given the library, and the mass of libraries you’ll use with it, are still brand new, we encountered many architectural and code challenges throughout development which haven’t been solved before.
How to run a successful retrospective
At the end of an iteration it’s good to take some time to reflect as a team to assess what worked, what didn’t work, and what could be improved upon. This can result in future iterations being more efficient and productive, as well as increasing happiness in the team.
How to give your application the support it needs
For many organisations with their own software application, whether it be a website, an internal tool or something else entirely, managing said application can be a source of frustration, particularly in the absence of an internal software team.
9 Techniques to Support and Improve Software Quality
Most software systems will suffer from a deterioration of quality over time. Codebases become bloated, software is changed to solve problems nobody knew existed when it was initially written, and the cost of change keeps increasing.
The Strawman: TDD
There have been a few rumblings recently between the subculture of TDD-lovers and the rest of the programming community, as always. I’ve heard reports that TDD doesn’t work, that it is snake oil, and that there are studies to suggest that TLD and TDD are no better than each other in a scientific study.
Dismantling Silos
A silo exists in an organisation when one group within the organisation has differing goals to another. In most organisations there are groups of people that, usually, have an objective to fulfil by an agreed upon date. For example, the Sales team is set a mandate to increase the number of customers of the company by 10% every month, whereas the Support team has internal performance goals, and one of them is to deliver support within a fixed budget.
Overcoming Common Challenges with Offshore Development
It’s not a particularly well kept secret that there can be challenges organisations face when offshoring software development, both for greenfield builds and for products running in support and maintenance.
Keeping code quality high
Code quality is a term that is often thrown around in the software engineering industry. And like the art of coding itself, it is very subjective and its true meaning will differ depending on an individual, or a team’s beliefs. But at its heart most engineers and teams would agree that good quality code is easy to read, well tested, and maintainable in the long term. But how do we achieve this?
Agile Planning
Both words, “agile” and “planning”, mean different things to different people. In this article I hope to provide an overview of agile planning without going into specific implementations like Scrum or Kanban whilst still providing practical advice for any implementation.