Have you ever worked on an enterprise-scale project in a big company? By ‘big’, I mean one with an IT organization of several hundred people — or more. If you have, you’ve likely had the frustrating experience of sitting in a room with 10-20 people (or more), some of them senior managers from several IT […]
Category: Technique
7 Steps to Bug-Free Software
No bugs! Sounds good! Is it feasible? Can agile software developers create software with no bugs? Image if they could. Think of all the time that would be saved testing, re-testing and testing some more. All that time spent repairing things that weren’t done correctly becomes time to spend on making the software better and […]
Don’t Get Stuck on a Definition of Done
What does it mean to be ‘done’? Many agile software development teams adopting Scrum, XP or Kanban struggle with their ‘definition of done’. They usually try to derive a set of measurable criteria that will enable them to verify that a work product is fully complete and ready to be deployed to the user community. […]
Agile Techniques Work in Crisis Management
It’s time for March Madness. For those of you not familiar with the phrase, March Madness refers to the collegiate basketball tournament resulting in the selection of a U.S. college basketball, national champion. For college basketball fans, this is the equivalent of a feeding frenzy. It reminds me of more than a few corporate feeding […]
Could Your Project Withstand an Earthquake?
The earthquakes and associated catastrophes in Japan highlight the important and often ignored area of project risk management. There are some things we can’t control. It’s not just natural disasters and events like terrorist attacks. What would you do if any of the following occurred during your project? Your project loses it’s top performer / […]
Estimating Is Hard But The Business Needs to Know
What’s it gonna take? How long before it’s done? How much will it cost? No matter how often we explain that software development is not a predefined process, ‘they’ always want to know how long it will take and how much it will cost — right up front. ‘They’ are the business users. ‘They’ are […]
User Stories: Focus on the Problem Not the Solution
Much has been written about creating user stories. There is a good User Story introduction on WikiPedia and Mike Cohn has written a well-known book on the subject called User Stories Applied: For Agile Software Development. Despite all the literature, agile development teams often struggle with writing good stories. In this post, I’d like to […]
Problem: Enterprise Change Control vs. Agile Project Metrics
For agile to be truly successful, we have to use it successfully on projects in enterprise companies. Start-ups, small shops, even small groups flying under the radar at big firms are all great but they can’t be characterized as enterprise adoption. So what will it take? I wish there was a simple answer or at […]
Time for the Daily Status…er…Scrum Meeting
The daily Scrum meeting is often referred to as a status meeting. Even the Wikipedia definition includes the phrase “…a project status meeting…”. I don’t know about you, but when I get invited to a “status meeting”, I cringe. They are usually mundane and boring. Many people bring a laptop, tablet or smartphone to status […]
Code Standards: An Overlooked Need
Do you have code standards for your software development teams? Most companies don’t. They go to great lengths to produce all kinds of document templates yet coders are allowed to do whatever they please. Odd. The reason document templates are widely used is simply to promote standardization. For example, when you pick up a project […]
Manager’s Guide to Agile Development
Get out of the way. The End. Explanation Most middle managers at large enterprises are conditioned to command and control. They are expected to know and understand all the major details of every project they own. They have to be consulted on every “major” decision. (Of course, the definition of what constitutes a “major” decision […]
Agile Projects Need Vision
Does your software project have a vision statement? It’s that document that defines a system and summarizes predicted benefits, risks, goals, scheduled milestones, stakeholders, etc. If your team doesn’t have a vision statement for the software under development, they lack a basic roadmap to guide them toward the end result. A good vision statement can […]
Agile Solutions Are About Benefits, Not Process
Agile software development and the Scrum process are based upon collaboration — creating a tight union between the technical and business teams. This appears to be a simple and obvious approach but it turns out to be one of the most difficult aspects of agile and Scrum development. Some agile/Scrum projects fail simply because the […]
Agile Development Teams Take on Debt
Technical debt is a hot topic among agilists. What is it? Does it really matter? Is it a problem? Should you be concerned about it? Let’s start with a definition of technical debt. It occurs when development teams cut corners to meet deadlines. Let’s be honest, we all take liberties to meet scheduled commitments. When […]
Success or Failure – It’s About Expectations
How do you know if your project succeeds or fails? If you assembled your management team in a room and gave them some project statistics, would they rate the project a success or a failure? Consider this. You’ve just completed a project that was planned for six months of work by a team of five. […]
Don’t Skimp on Software QA; It’s Not Agile
There are two major schools of thought around quality assurance (QA) testing. The waterfall crowd appends QA to the development process while the agile crowd integrates QA into the process, sort of. The waterfall approach has an obvious problem. If defining and writing the code takes longer than planned (very likely) and the schedule is […]
There Must Be an Agile Way
How many times have you heard someone say, “There must be a better way.” I’ve heard it often enough but rarely does any real change follow. There is surely resistance to change but the problem runs deeper. A “better way” is too general — too ambiguous. It is not actionable. What if the statement was […]
Crisis Management Is Disruptive to Agile Teams
Crisis management is a tough job. The biggest problem isn’t solving the technical problem — given a little time, you surely can solve it. The biggest problem is disrupting priorities. It plays out like this: A crisis situation develops. Priorities change to get people focused on the crisis. Staff is moved around to get more […]
Plan Ahead and Be More Agile
Agile development teams often struggle with reaching the goal of having every sprint deliver a customer-ready build. Not every software feature fits into a short sprint. Should you abandon such a feature or revert to waterfall for implementing it? At times, unforeseen issues arise and a feature can’t be completed as planned within the sprint. […]
Retrospectives Make Agile Teams Better
Good agile teams rely on retrospectives to maintain their edge. Not-so-good agile teams often ignore retrospectives. (Come to think of it, the same is true of traditional software process teams.) I don’t know about you, but I find that intriguing. Retrospectives attempt to answer a few simple questions and use the answers to improve the […]