Flavors of Agile - Scrum and XP
Categories:
Agile
Categories: Agile
| Holidays and families… It's a good combination, and it's a good thing my writing deadlines are my own. I thought I would take a few posts to review the basics of some of the flavors of Agile. I'll start with Scrum and XP (eXtreme Programming). At its core, Scrum consists of the following: Roles:
Meetings:
Practices:
Artifacts:
I'm not sure that everyone will agree with me, but my perspective on XP is that is it basically Scrum from the developers point of view. Almost everything listed above is part of what XP categorizes as "Business Practices." XP also defines "Developer Practices"…:
…"Coding Practices"…:
…and Values that are in line with Scrum:
I'm not going to go into these, in depth, but it is worth noting that the first business practice of XP is to Add a Customer (Scrum's Product Owner), and that the Tracker role, XPs corollary to the ScrumMaster, is optional. Additional differences worth noting are that XP:
Personally, I think that Scrum and XP are almost interchangeable, and would work well blended together. You could be using a hybrid-Agile approach and not even know it. I touched on when to use Agile, previously. Once I finish discussing the flavors of Agile, I think I'll dedicate a post to Agile certifications. This is something of a personal interest to me, for reasons I'll describe in a moment. For the post, I'll focus on certifications related to the different flavors of Agile, as opposed to the Scrum certifications I am interested in. I'm currently a CSM and will be a CSPO in a couple of months, after I take the class. I'm hoping to be more involved with Agile projects at work so that I can become a CSP (Certified Scrum Professional) before too much longer. One of the career paths I'm considering is becoming a CST (Certified Scrum Trainer) and ultimately a CEC (Certified Enterprise Coach) which will allow me to certify coworkers as CSMs and CSPOs via coaching, not just through teaching classes. I'm not ready to do a lot of traveling to teach classes and coach companies, yet. I'd like wait until my youngest is out of the house before I do too much traveling. |
Okay, We're Agile. What Now?
Categories:
Agile
Categories: Agile
| I occasionally hear things that give me the impression that some people believe that adopting a flavor of Agile makes that company agile. I'd like to disabuse people of this notion. While a company is affected by its development practices, if all you do is adopt a flavor of Agile, it's not enough. The Agile Manifesto and the twelve guiding principles, which essentially represent agile values, must be shared by the whole company, not just IT. I would also argue that being agile is not the end goal; that it is merely an aspect of being responsive and, ultimately, resilient. Let's look at a few definitions. Agile
Responsive
Resilient
Being able to move, or respond to change quickly is the promise of Agile, and it needs to be coupled with Responsiveness to be successful. What good is it to be able to respond to change quickly if IT and the Business are going in different directions? You risk ending up with frustrated leaders who are unwilling to collaborate. I've seen shadow IT evolve and PMOs fail when organizations refuse to be Responsive and work together. Just looking at the definitions, it might not be clear how being Agile and Responsive are part of being Resilient. Try recovering from a negative impact to the business without being Agile and Responsive and see how you fare. Recovering quickly involves moving quickly, having good communication, and common goals, among other things. An organization might not return to its original size and shape as it recovers, but if the negative impact resulted in a change of priorities, that is not unexpected; the company may not have had the correct size and shape, in the first place. There are companies that work with other companies to help them become Resilient. I'm not going to advertise for them; I just want to promote the following:
I can't tell you exactly how to do this; it will be different for each company. Even if your company is already Agile and agile, it will probably take time; culture and process change are not usually quick. My point is that you shouldn't stop once your company becomes Agile; it's just a step toward becoming a more Responsive and Resilient organization. |
When Should You Use Agile?
Categories:
Agile
Categories: Agile
| NOTE: Going forward, when using the word Agile to represent the several methodologies and frameworks associated with Agile, I will use the phrase "flavors of Agile," unless I am quoting someone. If I am talking about a specific framework or methodology, I will identify it by name, i.e. Scrum, Kanban, and so on. I was recently asked, "Which projects should you use Agile on?" I'm not sure if my answer was satisfactory, so I thought I would address the question in more detail, here. For starters, you should always use the Agile principles that apply to your project, even if you're not using a specific flavor of Agile. (See my previous post for further explanation.) There are several variables that need to be considered when evaluating when to use a flavor of Agile. 1. Is your organization already using a flavor of Agile? If your organization is already using a flavor of Agile, the question of when might be out of your control. If you're not using it for every project, you should have specific guidelines for determining when to/not to use it. One of the basic guidelines should be whether the project would benefit from or be hindered by iterative development. Don't assume that just because you have been successful with one flavor of Agile that you will be successful with another. You're headed toward organizational change, and it doesn't always work that way. 2. Do leadership and non-IT components of your organization understand and support Agile processes? If your organization is not currently using a flavor of Agile, this is a must. You must have top-down and lateral support. If 'Going Agile' is just an IT initiative, you will fail. If the experience is too painful, people may never want to hear the word Agile again, even if the failure was caused by others not understanding the benefit of the specific flavor of Agile or how it works. You also need to make sure that everyone using your flavor of Agile is trained on how to participate in it and what to expect from others. 3. What is your company culture? Does your company embrace change and face organizational issues head on? Switching to a flavor of Agile is an organizational change, and you will have to face organizational issues in order to change successfully. The first time one of your teams uses a flavor of Agile, it will be bumpy. If you're not prepared for bumps, and if the organization cannot handle bumps, it would be an understatement to say that adoption will be difficult. When working on a large CRM implementation, overseas, I found myself regularly telling the team, "Remember, it's not about whether or not we encounter issues, it's how we deal with the issues that matters. There will be issues; it's up to us to make this successful." Are you ready to be a cheerleader? 4. How much is known about your project? Do you have a strong understanding of the complexity of the project and how complicated the work is, when looking at requirements, technology, and process? If it is a well-defined and/or simple project, you may not realize any greater benefit from a flavor of Agile than you would from Waterfall. As details become more vague and the project begins to take on more of an exploratory feel, a flavor of Agile becomes a stronger candidate for success. As you foray too deeply into the unknown, you may find your time better spent adding a little more definition to your project before choosing a methodology for how you will execute it. 5. What type of project is it?
Am I missing something? Probably. Feel free to share in the comments. It seems like the next question should be, "What are the flavors of Agile, and which should I use?" I'll need a little time to prepare answers for that. Scrum and Hybrid seem to be getting the most attention, lately, but I'm not convinced that it is that simple. Give me a few weeks to gather my thoughts on the matter. Need free PDUs? I'm going to let PMZilla keep you busy for a while. I haven't checked the links, yet, but the page lists 24 ways to earn from 0.5 to 30+ PDUs. If I come across anything significant NOT on this list, I'll let you know. |
What Assumptions Do You Make About Projects?
Categories:
Project Management
Categories: Project Management
| We've all heard the old maxim about what happens to you and me when assumptions are made. Sometimes it's true, and the point is always valid - check your assumptions. If you have even a few years work experience, however, you probably know that checking all your assumptions, before you are expected to act, isn't always feasible. Assumptions are made all the time, in business. They range from how someone will perform or act, to pricing and demand for a product, to what people know and need to know, to how processes are performed, and lots of places in between. Even when best efforts are made to turn assumptions into inferences into something closely resembling facts, we still get it wrong, sometimes. No matter how good our research is, we are still predicting outcomes and have the potential to have missed or misinterpreted one or more variables; we are still at risk of failure. How does this apply to projects? Have you ever assumed that requirements were complete and accurate, or that somebody's work was finished and bug-free? I hope not, but assumptions can plague projects, if not dealt with appropriately, which is why requirements and risk management are such an important part of project management. Even if your requirements are exact and you have mitigated or transferred all identified risk, a project can still have setbacks or fail. Some of these sources of failure are due to assumptions made before the project has even started.
I'm sure there's more. Since this is a blog about project management, I'm going to let smarter people than me deal with the first three items. The last item, however, touches on a topic I mentioned in a previous post. The assumptions we, as project managers, make about the people on the project directly affect the success of our project. We often assume:
…and the list goes on. So what can you do? You probably can't teach them how to do their job. You're a project manager and may not know how to do their job. You can help them with estimating their work, but you're limited if you don't understand their work. You aren't likely to be able to teach one person the PMBOK, let alone the entire team, before you start a project. But you can walk the entire team through the project approach at the beginning of a project, without causing significant delays. By making this part of the project plan, you get everyone somewhere close to being on the same page, and give the team the opportunity to ask questions about what is expected of them. I describe the (waterfall) project approach as follows:
It would be great if you can have all of this put together in the beginning of the project, but that is not always possible. You rarely have complete details at the beginning of the project, even if your projects are rolling out the same products to different customers. When explaining the project approach, you may also have to explain how the missing pieces will be identified and who needs to help fill in the gaps. You won't have all of the answers, yourself; knowing who can get you the information you need is one of the keys to success as a project manager. All of the things that I describe in the project approach are things that we, as project managers, do. What I am saying is that we need to share this information with others, and not assume that they know how the project will be run, which will help to reduce assumptions that they make about the project and what is expected of them. There, you have my thoughts on project assumptions. What assumptions do you make about your projects? Free PDUs - The People and Projects Podcast:
|
Organizational Uncertainty and Agile
Categories:
Agile
Categories: Agile
| If I said I was unsure of what to write it would be purely for effect, and would reflect the wrong kind of uncertainty for the purposes of my post. A lot has been written about uncertainty, its multiple causes and effects. It's no secret that people have different levels of tolerance for different types of uncertainty. Being made up of multiple people, organizations, too, can have a wide range of responses to uncertainty, anxiety being a common response that can have a negative impact on the outcome of a change. If you've ever been involved in a major organizational change, you are likely painfully aware of the impact that individual and organizational anxiety can have on the success of the change. Rather than discussing how uncertainty and anxiety affect projects, in general, consider the impact that uncertainty and anxiety can have on rolling out an Agile methodology or framework in an organization. Maybe you've worked for an organization that had a painful time rolling out Agile, or failed to roll it out. Was it because Agile doesn't work? There is plenty of proof to the contrary. Uncertainty and anxiety aren't the only reasons that some organizations do not successfully transition to Agile; every organization deals with these factors when undergoing organizational change, and they don't all fail. As mentioned in a previous post, Waterfall gives the illusion of certainty, early in a project. Maybe this is why many companies use a phased approach to rolling out Agile. Did you catch that? Waterfall is used for rolling out Agile in organizations. Agile is, by its nature, a source of uncertainty. Especially the very first time an organization uses it. Transitioning to Agile is a significant organizational change. As such it can be a significant source of uncertainty and anxiety. It's this uncertainty and anxiety that can result in the transition to Agile being painful or failing, although it is not a guarantee. What can you do? A couple of other people here on ProjectManagement.com have shared some thoughts on the matter:
Ken Whitaker http://www.projectmanagement.com/articles/268340/I-Can-t-Seem-to-Get-My-Team-to-Become-Agile
Johanna Rothman http://www.projectmanagement.com/articles/283783/Leading-Your-Organizations-Transition-to-Agile
If your company is transitioning to Agile, remember that you're not the first, and plenty of companies have succeeded. If your company is committed to the change, even the painful parts, and assuming it is the right thing to do for your organization, you can succeed. I have a request - not a challenge - I'd like to learn more about any companies that use an Agile approach to roll out Agile in other organizations, instead of a phased approach. If you have any information on this, please post a reply.
Need 30-60 free PDUs? Here's an oldie, but a goodie - PM Podcast: |






