We’ve all hit that point on a project: features are working, and you’re starting to really expand the application’s capabilities, but the expansion is steadily leading to slower performance. It’s time for some refactoring around your database interactions Maybe the queries run by the application have become more and more complex. Maybe there are things […]
When did our team start to feel so big? I haven’t had a conversation with Steve outside of a meeting in over a month, I’m not sure who’s going to finish the analysis that’s blocking a big feature decision, and (if I’m honest) I don’t know what features Nikki worked on last sprint or whom […]
Our team’s process for discussing and making significant technical decisions was broken. As the tech lead, I wasn’t getting the feedback I wanted. Some team members were concerned about being excluded from the work, and the thought of running lengthy video meetings to discuss the pending decisions wasn’t something anyone relished. We needed a change. […]
A successful software application needs one united conceptual model. But bringing together different mental models and turning them into a cohesive experience is a significant design challenge. Where should the application maintain divergence, and where should it unify similar concepts? Where do we (as a product team) aim to meet expectations, and where do we […]
Adding a new team member can be a challenge for both the individual and the team. A new person can shake up a team’s culture, and a team’s culture may force the new member to adapt and change. Sometimes it goes well. Sometimes it doesn’t. For things to go smoothly, everyone needs to play their […]
Hosting your cloud infrastructure on AWS in a more protected environment can strengthen the security of your infrastructure. That’s what an Amazon Virtual Private Cloud (VPC) is for. It creates an isolated slice of the cloud within which you have control to manage your own network. But it also means you’re now required to manage […]
This is the second in a two-part series about adjusting Agile practices for larger teams. In Part 1 of this mini-series, we took a look at how individuals and interactions impact Agile practices. In Part 2, I’ll share what we’ve seen in the other areas. Confession: Most of these points still come down to individuals […]
Our project teams usually fit into most people’s definition of a small team, even if you include key players from our client in the count. As a result, many of our default Agile practices are best suited to that smaller team size and need a few adaptations as team size grows. On a recent project […]
This is the third in a three-part series about strategies for synchronizing data between systems during a software replacement project. You can read about one-way integration and two-way integration if you want to catch up.
When replacing large existing software systems, we need to be able to use both systems in parallel, or at least parts of the systems. And to achieve that goal, we often need to share data between the two systems. In this three-part series, we’ll look at a number of strategies that you can use.