1. Modern Software Development Flashcards
What are the two things that Agile teams should be willing to do?
- Ask tough questions
2. Be open to improvement
What can be said about managing knowledge workers regarding team hierarchy?
Knowledge workers are employed for what they know. This makes it very difficult to manage them with a traditional hierarchy. You can’t direct a team of people who collectively know more about the product than anyone else in management. Therefore, managers must become less directive and more supportive.
What can be said about self-organisation with regards to Agile, and why?
One of the key things that you see with Agile teams is a push to be self-organised. That’s because it’s very difficult to manage the team with a top-down approach.
What can be said about decision-making with regards to Agile?
The focus should be on collective decision-making.
What is the main difference between working on a software project and working on a physical project (eg. building a bridge, manufacturing a car).
When working on a software project, a change of direction might occur mid-way through it — in fact, it’s common. It’s easier to reprogram software than it is to rip up steel and crack concrete.
What is one of the most common negative remnants of manufacturing in software development, and why doesn’t it make sense in the context thereof?
- There’s still a lot of focus on planning out the work.
- Software is much more like science than manufacturing. When you’re developing software, you’re doing a mixture of building and learning, and so as much as it’s tempting to plan everything out, it’s just too difficult to predict all the moving pieces.
What’s the cone of uncertainty — what does it show and what should you do about it?
It’s a diagram that visualises the fact that we know more and more about what it takes to deliver a product as we come closer and closer to the finish line. It also indicates that as we come closer to the end of the project, it also gets more expensive to make changes.
All this means that you need to find the balance between making the minimum amount of decisions to get started and giving yourself enough flexibility to make changes.
See: https://git.io/Js23c
Achieving the balance between what two things is a key part of the agile mindset, and why?
Making decisions and having enough flexibility to make changes. This way, you can make lasting decisions even when working within the cone of uncertainty.