Software is finding its way into almost every aspect of our daily lives. Everything from our kitchen appliances and entertainment systems to our automobiles is controlled by software. Regrettably, much of that software suffers from poor design, UX inconsistencies, obvious defects, and sluggish performance. I focus this blog on enterprise software development because it’s a […]
30 Questions Proving That Scrum Is Harder Than It Looks
Many surveys have concluded that Scrum is the most widely used agile approach to software development. This makes sense because Scrum is easy to understand and simple to implement — or so it seems. The basics of Scrum are simple enough. We have three important roles: Scrum Master, Product Owner and Software Team. We have […]
7 Warning Signs of a Technical Debt Collapse
Technical debt is a complex topic. Many factors contribute to it and it tends to grow over time. Implementation shortcuts combined with quick-and-dirty fixes contribute to the buildup. But that’s not the worst of it. The biggest problem with technical debt is that it creeps up on you. Imagine a dam with water building up […]
Apple Maps Can Teach Software Development Teams a Lesson
Did Apple make a major blunder in dumping Google Maps and rolling out its own mapping solution? Was Apple dumb enough to believe that its iOS mapping app is as good as or better than Google’s app? Not a chance! I think many people are missing the boat with regard to Apple’s actions and motivations. […]
Great Teams Satisfy Everyone’s Priority Needs
As a software development blogger, I often write about ways for teams to adopt agile practices or be more agile. There is no single way to be agile. There are many. There is no best way to be agile. There are multiple. What can your team do? Ultimately, software development teams must establish rules and […]
Stories: The 6th (and Final) Level in Building a User Story Roadmap
This is the seventh in a series of posts that began with “How to Capture Software Requirements Using Story Roadmaps”. The focus of this final post is the user stories. If you’ve been following this series since the beginning, you already know how to write good user stories. The INVEST model coupled with the standard […]
Epics: Building a User Story Roadmap – Level 5
This is the sixth in a series of posts that began with “How to Capture Software Requirements Using Story Roadmaps”. It started with goals and will end with stories. The focus of this post is epics. If your software development team has gotten this far along on the User Story Roadmap, the epics should be […]
Themes: The 4th Level in Building a User Story Roadmap
This is the fifth in a series of posts that began with “How to Capture Software Requirements Using Story Roadmaps”. The focus of this post is themes. Agile software development projects usually rely on user stories as the primary vehicle for capturing software requirements. Yet, user stories are often criticized for being disjointed and confusing. […]
Needs: The Next Step in Building a User Story Roadmap
This is the fourth in a series of posts that began with “How to Capture Software Requirements Using Story Roadmaps”. The focus of this post is stakeholder needs. Now that you know the goals of the project and who really cares about reaching them, it’s time to consider needs. Every stakeholder has needs. If the […]
Stakeholders: Building a User Story Roadmap
This is the third in a series of posts that began with “How to Capture Software Requirements Using Story Roadmaps”. The focus of this post is stakeholders. The importance of stakeholders in any enterprise software project cannot be overstated. Let me say that again … The importance of stakeholders in any enterprise software project cannot […]
Business Goals: Building a User Story Roadmap
This is the second in a series of posts that began with “How to Capture Software Requirements Using Story Roadmaps”. The focus of this post is business goals. Every project needs a goal or a set of goals. These are high-level descriptions of the context for the project and the business value to be delivered. […]
How to Capture Software Requirements Using Story Roadmaps
There’s much disagreement among software practitioners about how to capture requirements. Some argue in favor of lengthy, detailed documentation. With equal vigor, others argue in favor of simple tools like user stories. What should you do? There are valid arguments on both sides. Detailed requirements documentation can supply levels of insight that are hard to […]
Agile vs. Waterfall – Avoid the Semantic Debate
Every software development approach has its flaws and its critics. Though at times, it seems like everyone is looking for a panacea — a cure-all or ultimate remedy. Sadly, there is none. Here are a few criticisms leveled at the major development approaches. All have some validity, especially when the approach is applied improperly (which […]
Say It. Do It. Improve It.
Have you ever noticed that some people avoid the spotlight? That is, they like to work on low-key projects that don’t get a lot of corporate attention. I’m not in any way suggesting that they don’t work hard. They simply don’t like drawing attention to themselves. Along comes an agile development approach using Scrum, Kanban, […]
Software Impossible – 6 Questions You Need to Answer
You’ve delivered a new or improved software application. Congratulations! Now you find that the software is not receiving the enthusiastic reception you expected. Some people are complaining about defects. Others are whining about missing features. Something seems to have gone wrong. Unfortunately, this scenario is more common than not in software development. We can try […]
The Minimum Viable Prototype Is a Better Idea
You’ve likely heard about the concept of the Minimum Viable Product or MVP. The idea is to build the simplest software solution that satisfies the business and user needs — then begin iterating. Keep improving the product in release after release. The MVP concept is controversial if only because defining a minimal viable product is […]
The Trial and Error Approach Really Works
Much of what happens around us involves trial and error or the process of elimination. For example, if you’ve ever gone to a medical doctor complaining of not feeling right, you’ve seen this in action. Doctors rarely pinpoint a medical condition immediately. They usually start eliminating possibilities by asking questions. They run some tests that […]
Software Defects Ruin Everything … and they bug me
Software developers often get a bad rap — and at times we deserve it. Even simple defects can ruin an otherwise good application. Here’s a real world example. It’s a true story. I received an email message from a retailer that I purchase from regularly. They are in the pet supplies business though I won’t […]
There’s a Problem with Burndown Charts
The Preservation Trap Steals Productivity and Depletes Morale
Have you ever noticed that start-up companies have a sense of urgency while established companies have a sense of preservation? It makes sense when you think about it. Start-ups have nothing to lose. They have little or nothing to preserve. They need to build something and get it out into their target markets. Only then […]