I’ve heard complaints that the Scrum approach to software development creates a lot of additional stress. Really? That perception needs further analysis. The team commits to a delivering a set of stories by a target date. That’s stressful. They have daily standup meetings to report progress and discuss impediments. More stress. They have to satisfy […]
Car Racing and Software Development Have Something in Common
Enterprise-scale software development is bit like car racing. I’m not thinking about speed or agility. I’m thinking about complexity. Hear me out. Let’s take NASCAR racing as an example. It looks simple. Drivers go round and round on a track as fast as they can. Fastest car wins, right? Not at all! Racing crews win […]
Unlock the Secrets and Pitfalls to Enterprise Agile Development
The Government Accountability Office (GAO) has released a fascinating (PDF) report called “Software Development – Effective Practices and Federal Challenges in Applying Agile Methods”. The title is a little long winded but the content is brief and direct. It’s worth reading. The GAO is part of the United States Congress. They audit and evaluate federal […]
Managers Discover the Easy Button for Software Development
Don’t you wish that headline was true? It’s not. There is no easy button for enterprise software development. Building software applications is a dichotomy (or worse) when it comes to the time required. Building a small standalone software application with a narrow scope is easy. Many of us have done it — often in a […]
Stop Managing. Start Leading. Be Agile.
Managers: Want your company to be more agile? Learn to let go! Managers are trained to maintain control. Their annual reviews reinforce the need to make good decisions and stay in control. And then along comes agile software development. There’s an immediate and harsh conflict. Agile teams need to take control. They can’t be agile […]
Undo Is a Software Feature That Agile Teams Should Embrace
Most software applications include an “undo” feature. It’s great, isn’t it? You can change something and if you don’t like the result, simply undo it. How cool is that! Wouldn’t it be equally cool if software development teams could implement changes to software applications and if the users don’t like them, undo? This would be […]
User Stories and Security Stories Are Not the Same
The folks over at the non-profit group, Software Assurance Forum for Excellence in Code (SAFECode) have published a great document called “Practical Security Stories and Security Tasks for Agile Development Environments”. Here is the direct link to the PDF file. It’s a 34-page document that undoubtedly required a lot of work by a number of […]
Follow a Recipe to Succeed With Agile Software Development
When top consultants engage new clients, they offer ideas and suggestions to get started. A phrase that the consultants listen for from the client is something like “we tried that once before” or “we already did that”. It’s a comment that begs for probing questions. “What exactly did you try?” “What results did you observe?” […]
Fail to Fail and You’ll Fail to Improve
There are two critically important elements to agile software development that are often either overlooked or ignored. Continuous Improvement A Willingness to Fail Any team committed to being agile will seek continuous improvement through regular retrospectives. There’s always room for improvement. Who among us believes that he is the best he can be — there’s […]
Are You a Software Development Extremist?
Some of us tend toward extremism. It manifests itself in many ways in both our personal and professional lives. It could appear in the clothes we buy, the cars we drive, the way we work, or the way we look. In many situations, we’re not even aware that we’re extremists. In software development, there are […]
The Advantages of Distributed Software Development Are Enticing
Distributed software development teams are becoming more common. There are some good reasons for it. Here are a few: Access to potentially lower cost talent Ability to attract highly-specialized and hard-to-find talent Outreach to a larger and more diverse labor pool Advantages of an extended work day via time differences The potential benefits are enticing […]
User Stories Need To Be Viewed From Multiple Perspectives
What the stakeholders and end users don’t want is just as important as what they do want. This is especially true of upgrades or enhancements to existing systems. It’s common to get caught in the flow of the existing design and to just keep doing more of the same. Here’s an example. Let’s say your […]
Avoid the Extremes of Software Development; They’re Not Agile
Large enterprises have lots of rules — do this, don’t do that, ad nauseum. Thus, it’s no surprise that software development teams in large enterprises are forced to follow lots of rules — document this, approve that, wait for something else. Then, along come the agilists promising a better way. You can build software systems […]
Incomplete Software Iterations Put Everything At Risk
Project iterations or sprints are not an excuse to cobble together some software and toss it over the wall to the end users and stakeholders. This happens because the team knows the software isn’t done yet. If it doesn’t work properly or isn’t what the users want, the team will fix it in future iterations. […]
In Agile Software Development, Context Really Matters
Mark Mansour over at Agile Bench published a blog post titled “10 Agile Bloggers You Should Know About, But Don’t”. It’s worth reading. (Please note: In the interest of full disclosure, this BrainsLink blog appears in the post.) A phrase in Mark’s post got my thinking. There are several lists of top agile bloggers around, […]
Software Teams Have to Manage Scarcity to Be Successful
Scarcity is fact of life. There’s never enough time or money to complete a software project — and that’s only the beginning. Every project runs out of something it critically needs. Here are a few things you might not have enough of: Time Money People Computers Storage Space Network Bandwidth Software Licenses Office Space Chairs […]
An Agile Dilemma – Stop Talking. Start Delivering.
A challenge awaits any IT group switching from a waterfall process to agile software development. It is often overlooked. It has to do with the mindset of the company’s business community and how they perceive IT. The business stakeholders and end users have historically complained about issues like the following: It’s difficult to get IT […]
Retrospectives Work When They Are Impersonal and Impartial
Retrospectives are a terrific way to continuously improve any software development process. As long as the organization is committed to improving itself, rather than protecting the status quo, there is nothing better than regular retrospectives. So why are project retrospectives often ignored or under used? There are many articles across the Web describing how to […]
What Are the Characteristics of Successful Software Projects?
We spend a lot of time examining software project failures but it’s equally important to understand why some projects succeed. Here’s a short list. Commitment. The business stakeholders and the technologists are committed to the project — not just at the outset but throughout. This takes intense collaboration. There is also an executive sponsor or […]
As a Product Owner, I Want to Avoid Writing Stories So That I Can Do My Job
Writing user stories for agile software development can be a challenge for any Product Owner. Stories are supposed to deliver business value. What’s that? Stories are supposed to be vertical slices. Slices of what exactly? At times, we get overly bogged down in words and their definitions. We take things too literally and get stuck. […]