Posts

Showing posts from April, 2020

How to solve problems?

Image
Why should you care about problem-solving? Problem solving is one of the most important skills in life and work. At an early age, we learn to deal with simple problems, big and small. From our first wobbly steps, where we solve the problem of balancing on two ridiculously small feet at the end of our limbs, to figuring out the right shaped block to go in the right shaped hole - the round block goes in the round hole, of course, of course! Humans are natural problem solvers. At least when it comes to figuring out how to navigate the physical world. As we grow, our lives become more complex. Problems move from the purely physical to include the theoretical; different kinds of problems created by our modern digital world. Physical problem-solving skills are intuitively learned as infants and children, similar to art skills where there is a certain freedom. However, as we get older, we tend to be more risk averse and feel there is just one elusive answer to the problems we face, if on

Four goals of agile documentation

Image
Documentation is a vast area. It can be done in lots of different mediums, describing  many different aspects of software for various stakeholders. Here, we focus on how  developers can use high-level documentation to communicate inside a team, and with  direct stakeholders. All of these are things that can complement the documentation  already provided by code, scripts, and tests. 1. Create a common understanding I often catch myself working under the assumption that everybody on the team has the  same understanding of what we are doing. “Surely the view of the architecture in my  head is clear to everybody?” That would imply we don’t have to write these  seemingly obvious things down or have a sketch on the wall. This is a fallacy that, especially more tenured developers on the team are prone to. Architecture show-and-tell To verify how accurate our assumptions about common understanding really are, you  need to get each team member to lay out their understanding. You can