2013 is winding down and businesses around the globe are making plans (or have made them) for 2014. Most of those plans will be poorly defined and lacking in clear objectives. Rather than focus your energy on things beyond your control, focus on you. Would you like your software development team and your company to […]
Category: People
Don’t Let Your Team Become Complacent and Predictable
Many managers tend to assemble software development teams with the goal of keeping the team together — release after release, project after project. The logic is that the team’s performance will improve as the team members get to know and understand each other. But is this the best approach to managing teams? It’s true that […]
Successful Agile Development Demands New Cooking Skills
Software developers and cooks have something in common. You see, there are essentially two types of cooks: 1) Those who carefully follow recipes in order to recreate a dish or dessert; and 2) Those who use recipes as guides while preferring to adapt them to suit their tastes. Similarly, some software developers like to follow […]
Stop and Think About Your Assumptions
What are you assuming? Every software development project contains many assumptions. Often, they’re obvious things like “the software has to operate in Windows 7 using IE 9 or above”. Yet at times, they’re not quite so obvious like “the software has to be written in Java”. The problem with assumptions is simply that they are […]
You Might Be a Bottleneck If…
You know what a bottleneck is, right? In this context, a bottleneck is a stage in a process where progress is retarded or blocked. Bottlenecks can slow down software development teams to the point where failure becomes imminent. Bottlenecks are all too common. They can be caused by anyone who tries to do the right […]
Dysfunctional Teams Never Deliver Great Software
Technologists love to argue and it’s really easy to start an argument. Here goes — my software development approach is better than yours! My approach has a better success rate. My approach delivers better results. It works for me so it’s the approach that everyone has to use. Only an idiot would develop software any […]
Without an Executive Sponsor, Your Project Is Just Skunkworks
Management buy-in, in the form of an executive sponsor, is a critical success factor for every software project. An executive sponsor is a business person with the authority to get the project done. According to Wikipedia, “The project sponsor will be a senior executive in a corporation (often at or just below board level) who […]
5 Ideas for Engaging Business People in Your Software Project
Getting the business stakeholders and end users to actively participate in a software development project can be tough. They are accustomed to submitting software requests and receiving working software several months later. They don’t like the process or the lengthy wait time but they’ve been conditioned to expect it. Once the software arrives (which doesn’t […]
Managing Requirements Is Not Just for Dummies
I just finished reading “Requirements Definition & Management for Dummies” by Robert D. Schneider, Tony Higgins and Keith Barrett. The eBook is being freely distributed by Blueprint Software Systems (registration required). While it’s intended to draw attention to Blueprint’s requirements management software, it’s not just marketing literature. The book makes some good points. Much of […]
Scrum Isn’t the Problem But You Might Be
Some people claim that Scrum is incomplete, unpredictable and chaotic. Sadly, it’s all true and the same can be said about waterfall, Kanban, Lean, XP and every other approach to building software systems. People making such comments are looking for a step-by-step approach to guaranteed software development success. (If I could define such an approach, […]
Successful Team Building Is an Agile Process
You’ve likely heard of Tuckman’s stages of group development. If you haven’t, there’s a nice summary on Wikipedia. I’d to focus your attention on ways to accelerate the team-building process for software development teams. Tuckman articulates four stages of team building — forming, storming, norming and performing. In the forming stage, most people tread carefully. […]
It’s Better to Have Great People Than a Great Process
Imagine you had a team of ace software developers. This team is fabulous. They know how to get stuff done. They work well together and they work well with other teams. They always find a way to deliver good software. Now imagine that they are given a terrible software development process to follow. The process […]
To Change, You need to Learn AND Unlearn
The challenge isn’t learning new things. It’s unlearning old ones. Change is all but doing something differently, which requires learning something new. No problem, right? Life is learning. But there’s a flip side to change. You have to unlearn something old. You need to stop doing something you’ve learned to do. If you’re not particularly […]
You Don’t Need to Be Better. You Need to Execute Better.
Companies don’t need to be better than their competition, they need to execute better. You don’t need to be better than your coworker, you need perform better. Your team doesn’t need to be better than another team, it needs to do better. Make sense? Simple, right? Not at all. When we use the term “better”, […]
How to Do Less and Deliver More
Getting Stuff Done Leads to Happier and More Productive People
Don’t Just Change the Rules, Change the Game
Several studies have shown superior software development success rates when using an agile approach like Scrum or Kanban versus a waterfall approach. Does using a waterfall approach to develop software cause many projects to fail? Conversely, does using an agile approach cause projects to succeed? I wish it was that simple. Ultimately people cause projects […]
Hire the Best People By Focusing on What Matters
In my post “Don’t Just Prioritize User Needs, Prioritize the Process Too”, I discussed the need to prioritize the elements and artifacts of the software development process. In this post, I’m turning my attention to the hiring process. When your team needs to bring another developer on board, what do you look for? If yours […]
Open Source, Agile Development and Social Media Have Something In Common
Open source software, agile development techniques and social media tools are three of my favorite things. They have one thing in common that binds them together — they help people collaborate. All three provide mechanisms people can use to interact and cooperate. In fact, the more we do so, the better the results. That’s how […]
Don’t Ask Me What I Want, Give Me What I Need
I don’t know about you, but scenarios like the following happen to me all too often. I meet with the business stakeholders and representatives of the user community to discuss changes to a software application. We discuss new features and/or changes to existing ones. They give me a general idea of what they want. I […]