Bits and Pieces

Seven Strategies for Empowering Developers

Developers are the engine of software development, the people who write the code. Empowering developers to improve and supporting them to do the right things is an important part of building great software. Here are seven strategies for empowering developers. 1. Avoid sacrificing quality Unrealistic deadlines can lead to cutting corners that shouldn’t be cut. …

Read More
Bits and Pieces

Seven Strategies for ScrumMasters

The ScrumMaster serves a unique role on an Agile team–part leader, part servant. ScrumMasters are responsible for the overall health of their team and for making sure everyone has what they need to do their work. This is not a technical role but it is helpful to understand the technical issues the team will face …

Read More
Bits and Pieces

Seven Strategies for Getting Support from Management

Agile software development requires management support. If the rest of an organization is fundamentally entrenched in a waterfall process then it will be difficult to for software development to become agile. In such situations, we must identify external dependencies and give the non-agile parts of the organization time to get us whatever we need so …

Read More
Bits and Pieces

Seven Strategies for Successful Agile Development

Agile is not a silver bullet but it does have the potential of improving software development when done correctly. Unfortunately, teams newly adopting agile practices often don’t know how to get the most out of applying agile practices until it is too late. Here are seven strategies for getting more from agile software development. 1. …

Read More
Bits and Pieces

Seven Strategies for Doing Emergent Design

Emergent design is an advanced technique, drawing on several agile practices. When done correctly, it can be a highly efficient way of building quality software but it is not a beginner technique, it requires a deep understanding in many areas. Here are seven strategies to help you master emergent design: 1. Understand object-oriented design Just …

Read More
Bits and Pieces

Seven Strategies for Improving Your Scrum Process

Scrum is a minimal framework for providing feedback so we can constantly improve our development process yet many teams use Scrum prescriptively without using the feedback that Scrum makes available for ongoing improvement. Here are seven strategies for using Scrum to improve your development process. 1. Use retrospectives Scrum offers many subtle feedback loops to …

Read More
Bits and Pieces

Aggregation verses Composition

When teaching software design skills I often get asked what the difference is between aggregation and composition. My answer: parking lots. Parking lots aggregate cars. A parking is still a parking lot even if there are no cars on it. It is a zero-to-many relationship and what is being aggregated is optional. A car is …

Read More
Announcements

Bits and Pieces

Ok, I get it. We’re all busy and we don’t have time to read long articles. That’s why I’m offering a new category on my blog called Bits and Pieces. They are few short paragraphs that get right to the point and offer some key distinctions for software developers in bit-sized chunks. There are also …

Read More