Month: February 2011

Your Data in the Cloud Is at Risk

Many firms are touting the benefits of “cloud computing”. It’s particularly beneficial for mobile users. If you could store everything in the cloud, your information would be accessible from anywhere using any device. That’s Nirvana! This approach would also make mobile devices cheaper. If they don’t have to store anything locally, they can do without […]

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 […]

Self-Organizing Team or Self-Destructive Team?

Agile teams must be self-organizing. You hear it all the time. Self-organizing. What does that mean? If you’re a paranoid manager, it means that the team plans to run wild and do whatever they want, however they want. That’s not self-organized, it’s anarchy. If you’re a crazed product stakeholder, it means the team is going […]

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 […]

Calling It Agile Doesn’t Make It Agile

Here’s a common scenario. A company’s software development process isn’t working real well. The software is often late, incomplete and buggy. (I’ll bet you’ve heard that story before.) Anyway, management decides to try a new approach. ‘Agile’ is a hot buzzword so they decide to give agile software development a try. A few development folks […]

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 […]

Teamwork Is Hard; Agile or Not

Teamwork is hard. To be good at any agile discipline from Scrum to XP to TDD to Kanban, etc., you need teamwork and lots of it. Many people think that if they are communicating, they are working as a team. Yet communicating is only the first step toward building a team. You can be a […]

Can Agile Teams Be Too Fast?

I worked on a project where the software development team provided rapid response to user requests. We’d meet with the business team leaders every week. Often, they would ask for a change or a new feature and it would be delivered before the next meeting. Of course, some requests were larger or in a few […]

The Mobile OS Wars Are a Good Thing

The smartphone/tablet OS wars are exciting. There are five mainstream choices and one dark horse. Apple iOS Google Android HP webOS Intel MeeGo Microsoft Windows Phone RIM QNX It’s great to have serious competition in any market. Without it, stagnation results. Just look at how far desktop Windows has come in the last decade. Compare […]

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 Development Won’t Let You Walk On Water

Some companies switch from waterfall development to some form of agile development in order to reduce costs, shorten schedules, improve quality and mitigate risk. Agile can do all that, right? Sure, and I can juggle while skipping rope and walking on water! Sometimes, expectations are out of control. Let’s examine what agile techniques can and […]

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 […]

Sponsorship + Momentum = Agile Success

Some agile projects are doomed from the start. They simply cannot get going. The team brainstorms with the business folks, defines requirements, creates mock-ups, conducts feedback sessions — then repeats the process again and again. They have paved the road to nowhere. How does this happen? How can a team of software engineers and managers […]

Agile Stories Need Roles Not Users

I’m sure you’ve read that only drug dealers and software developers call their customers ‘users’. When it comes to agile software development, simply calling everyone who will run your software, ‘user’, is a problem. Agile software requirements are usually captured as stories following a structured format like this: “As a <user role> I want <goal/desire> […]

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 […]

Apple’s App Store Is an Old Concept

Apple takes all the credit for inventing the concept of an “app store”. They even want to copyright the name. Copyright aside, Apple did not invent the concept, the open source community did — over a decade ago. Linux distributions (aka distros) use the concept of ‘packages’. A package can contain any software that runs […]

Agile Development Teams Know How to Fail

Do you want your software development team to develop better software faster? Learn to fail fast, often and cheap. Sounds silly doesn’t it? You want to succeed not fail, right? Fail often? What’s up with that? Agile development advocates take a lot of heat over our efforts to fail fast. Well, the word ‘fail’ is […]