I was asked these questions recently and thought it would be useful to share. When it comes to Agile and communication, there are many opinions out there. Here are mine.
1. How important is planning to a successful Agile project?
Detailed upfront planning isn't a critical success factor for Agile projects. Embracing change is a critical success factor. Have a vision, understand the order of magnitude of the project, and then jump in. It's a mistake to try to estimate the project at a granular level up front. In fact, one of the biggest mistakes people make it to plan too much up front.
2. On what criteria should Agile team members be selected?
On the basis that they are good team members. It's a complete mistake to hire 'rockstars' or to hire 'specialists'. Hire people that make the team better. This is a hard thing to do. Start by identifying outcomes. Define success. And then, select team members that can help you succeed based on both their technical and soft skills.
3. How important is communication to a successful Agile initiative?
Critical. This is the most important factor in my opinion. In-person communication is the best type of communication for an Agile team. In fact, in-person communication is so important that it's the new hot trend in technology. IBM has called remote workers back to the office. This is no small decision. Ed Lovely, VP of IBM transformation tells The Wall Street Journal that “Togetherness breeds production.” Lovely goes on to state “We found that the most productive time was when people sit together.” And, IBM isn’t alone. Reddit, Aetna, Bank of America and Best Buy are among the giants calling for colocated teams. Vishal Sikka, CEO of Infosys, one of the biggest Indian outsourcing firms backs up this claim when he tells The New York Times “The nature of work is changing. It is very local. And you often need whole teams locally,”
4. What should be taken into consideration when setting a project's scope?
That you don't know what you don't know. You will be wrong. Scope will change. Never ever ever ever fix scope. Have a rough sense of the most important features, and meet weekly to assess priorities. Have one person own the role of 'Product Owner'. This person is accountable for prioritizing, breaking ties, and defining the definition of done for a feature.
5. How important is testing to Agile project success?
It depends. Testing is a key Agile process. Yet, testing is valuable based on the life cycle phase of a project. If you are spiking an idea to see if it's worth building, and you are going to throw away that initial code, no need to test every little last thing. If you are building a foundation of code upon which years of additional code will rely, then testing is critical. Think of testing as a safety net. If I jump off of 1 step, I don't need a net. If I jump off of the Empire State Building, I'm going to want a strong net. The bigger the risk of the fall, the more important the tests.
6. What's the best way to win support from management and staff for an Agile approach?
Ask them to define success, and show them continuous progress towards what they asked for.
7. What is the role of customer feedback in successful Agile project?
Customers are important. Yet, as Ford said, "If we asked customers what they wanted, they would have asked for a faster horse" Customer input is critical. It also needs to be balanced with the vision. You don't want to overreact to any single customer, yet without a group of customers that need your product, you have no viable product.