Need training, coaching, or help leading an agile transformation?
email: mike@cottmeyer.com or call: 404.312.1471

Monday, June 29, 2009

Jurgen Appelo's Top 200 Blogs for Software Developers

It's that time again. Jurgen Appelo has released his latest installment of the top 100... make that top 200... blogs for software developers. I mean... if 100 top blogs is good... 200 must be better... right? Well... I was excited because now that there were 200 slots... I had a good chance to make the list. Come to find out I didn't need the extra spots after all... Leading Agile jumped all the way from 105 to 56. Not bad... so thanks everyone for paying attention. Check out Jurgen's site... www.noop.nl for the full list of excellent blogs.


Subscribe to Leading Agile

Sunday, June 28, 2009

Yes... Agile Isn't Project Managment...

...but it sure will change how you do project management.

I've got this talk called the Agile PMP: Teaching an Old Dog New Tricks. The first time I delivered the talk was last year at the Agile Development Practices conference in Orlando. So far this year I've done the talk for a few local groups here in Atlanta and then out in Vegas at the Better Software Conference and Expo. Later this year I'll deliver the talk at Agile 2009 in Chicago, the PMI Global Congress in Orlando, and the Agile Development Practices Conference... also in Orlando.

I've been pretty pleased with how well the talk has been received by conference selection committees and by the attendance at the shows. The talk works because it helps people understand Agile in the context of what they already know. We talk a bit about what is the same... and we use that commonality to explore what is different. At the end of the day... regardless of whether we choose to a traditional approach or an agile approach... we still have to deal with the fundamentals of project management.

Agile projects have to have a way of dealing with the triple constraints... there has to be some concept of time... some concept of cost... and some concept of scope. We have to manage risk... decide how we are going to communicate... and how we are going manage quality. How we go about doing these things on an Agile project might be different, but we need to have a shared understanding of how all this stuff is going to be accomplished. By helping folks understand Agile in the context of the PMI process groups and knowledge areas... we provide a solid baseline of understanding.

My core message centers around the triple constraints and our typical assumptions about uncertainty. Most traditionally managed software projects begin by defining what we are going to build... by defining scope. Once we know what we want to build... then we'll assess the requirements to see how much it is going to cost and how long it is going to take. There is always some acknowledgement of time and cost constraints up front... and there is negotiation with the stakeholders to get the three variables to converge... but starting with scope causes many software projects to start slow and finish even slower.

The problem happens when we go off and decide what we want to build without any idea of what it is going to take to build it. We create a wish list of things we'd like to have in the release and product managers get married to the ideas early on. It becomes tough to see how we can deliver value to market without everything we have spent all this time and energy to specify for the development team. I have worked on projects that needed to be delivered in six months and the product team created over five years worth of requirements.

When you push back... the discussion usually goes something like... well just do the estimate and tell us how much we can get. The problem is that it takes time to learn enough about the set of possible solutions to actually do an estimate... there might be technical dependencies... there are clearly resource dependencies... so evaluating a multi-year project to determine what can be delivered in the next six months can be a huge waste of time and resources. This problem is further compounded by changing market needs and the fact that software has a tendency to evolve... a lot... as it is actually built.

We create a false sense of certainty about what it is we are going to build and when we can get it done. Once time and cost commitments are made... being married to a fixed set of requirements is going to get in trouble. There has to be some room to negotiate as we go.

While Agile is not a project management methodology... it does impact how we do project management... mainly because Agile is going to have us make a different set of assumptions about our project constraints. Now... just like anything... these new assumptions and constraints need to be validated in your specific environment... but in general... on Agile projects we are going to decide that scope is not the primary driver. Rather than starting with scope... we are going to start with time and cost. We decide first when we need to go to market and how much we are willing to spend to get a product out the door.

Rather than create a giant wish list of features... we are going to start defining features to fill the time and money allotted. When we have filled up the time... and planned to spend all the money... we have to decide if we have a release that could be taken to market. There is a very subtle difference at play. There is still negotiation... still an assessment of the viability of the release... its just that we don't spend time assessing features that have no chance in hell of actually getting implemented.

In effect, we are talking about what agilists call product planning and release planning. We create a product plan... a roadmap... that gives us some confidence around what the customer is going to get... when they are going to get it... and what it will cost. The main difference is that we are starting with time and cost and figuring out what we are going to build within those pre-defined constraints.

Just because we started with time and cost... that does not mean that we can fix scope... we need some room due to our new assumptions about the certainty of our estimates and the stability of our requirements. Again... we are going to start with the notion that time and cost are our primary constraints and that we'll want to fine tune the scope as we go to deliver the greatest business benefit possible. Because we deliver working code on short cycles... and we have empirical evidence of our progress... we can constantly evaluate how we are doing against where we hoped to be. The project stakeholders have the ability to control the project... either by adjusting scope... or by adjusting the time and cost constraints... in real time as the project is progressing.

If at any time we learn that the business objectives and ROI targets cannot be met... we have the opportunity to kill the project... or radically alter its course... having invested as little as possible to make that decision. We are using the real data... being generated by real teams... writing real software... to provide feedback into the higher level roadmap. It really does put the business back in the driver seat. This idea that we are just going to start building software and let the backlog emerge.. the architecture emerge... and product emerge isn't workable in most contexts.

With all the talk of late regarding Kanban and single piece flow... I wonder if we will lose the ability to make any kind of commitment back to the business. I think that in some contexts... this is probably appropriate. In many though... we will still need to have the concept of roadmaps... vision... release plans... and product backlogs. I don't see these things as waste... but more as an acceptable level of overhead to give the business some idea of what they are going to get... when they are going to get it... and what it will cost when we get there.

So... again... we find that Agile is not a one size fits all strategy. We have to use our brain... we have to use ALL the tools and practices and principles we have at our disposal... we have to come up with the best approach to deliver the project given the constraints the business has imposed. At the end of the day... we are still doing project management... its just that agile changes the game a bit and introduces a new set of tools... and a new set of assumptions... and a new set of constraints which we'll use to deliver projects in more uncertain environments.


Subscribe to Leading Agile

Tuesday, June 23, 2009

VersionOne Agile Project Management and Agile Best Practices Webinars

Think of this post as a quick public service announcement for all you folks out there looking to comp some free Agile training ;-)

Over the next month or so... VersionOne is hosting a series of free webinars on Agile Project Management and Agile Best Practices. These talks are done by several of the leading thinkers in the agile community and... given that they are free... and during lunch... there is no reason not to attend ;-) The following is a quick summary what's coming up. You can visit the VersionOneResources page to get more information, to see archived talks, and to register.

June 24th we have Pete Behrens from Trail Ridge Consulting doing a talk on Agile Program Management and Scaling Agile Projects.

Agile Project Management has driven successful results throughout thousands of projects across the globe through various frameworks like Scrum, Extreme Programming and others. Agile development, quality and project-level practices are allowing teams to react more quickly to changing market and business conditions, meeting customer needs more directly, and driving profits or cost savings sooner. Most organizations are experimenting with agile approaches on one or more projects within their portfolio.

The challenge, however, remains in the coordination across larger organizations aligning many projects, products and teams to deliver complex interdependent programs successfully. This presentation shares Agile Program Management Best Practices to guide project and program managers in larger organizations working across these boundaries to deliver complex programs. These best practices have been leveraged by programs with over 30 teams with hundreds of people (Larger programs are divided into subprograms and replicate similar practices). This presentation addresses best practices for program setup, goals, and investment; organizational team structures and work breakdown; and program coordination, tracking, dependencies, risk, and release predictability.

July 1st, we have David Hussman doing his talk on Pragmatic Personas.

Personas have that stickiness that sticks. With a pragmatic focus, this session covers simple and powerful techniques for crafting personas and using them to drive value into your development stream. The session will start with an overview of what personas are and how they provide value. We will create personas and discuss possible sources of information and potential authors. Once we have created a few personas, we will explore how they can be used to craft stories, create acceptance tests and help keep the user’s experience in the minds of the development community.

July 22nd we have Sanjiv Augustine doing his talk on the Agile PMO: From Process Police to Adaptive Governance.

How should we scale Agile methods beyond individual projects? How can PMOs avoid being process police and instead truly support Scrum teams, enable enterprise rollout of Agile methods, and sustain long-term Scrum adoption?

Learn how industry leaders are scaling Agile with Agile PMOs that:

  • Support and empower agile teams through training, coaching, and organizational obstacle removal
  • Track project portfolios using Agile tracking techniques
  • Bring lean discipline to project prioritization
  • Move towards a stable teams model of resource management
Sanjiv will share principles and techniques for an Agile PMO, and discuss how those concepts are being applied in the industry to scale Scrum through adaptive governance of programs and portfolios.

July 29th we have Michele Sliger doing her talk on Beginning with Values.

Agile adoptions can only be successful if corporate values match the values outlined in the Agile Manifesto and in agile frameworks such as XP and Scrum. In this presentation, Michele Sliger discusses the importance of values and the role they play in driving behavior. You'll understand the real meaning behind the often heard "agile is value-driven, not plan-driven" phrase. You’ll find out how to determine what your company values, and how to compare that to agile values and what to do if they are different. Most importantly, learn how to apply what you’ve learned in your own situation. See how to define values at the team level, a must in order to ensure effective working relationships and that the right actions are taken by everyone to achieve iteration goals. You’ll learn visioning exercises that you can conduct with your team, and on your own - so you can better understand what you personally value and what you plan to do about it.

All of these folks are among the best at what they do and all are excellent presenters... you won't want to miss these talks.

Subscribe to Leading Agile

Catching Back Up...

I can't believe it has been over two weeks since I did my last blog post. Longer than that if you are an Agile Chronicles reader. The past few weeks have been a bit nuts.

As you guys know... the week before last I was in Vegas to do my Agile PMP talk. The talk went well but it is always entertaining to see how the dynamic in the room changes depending on who decides to speak up. I need to get better at avoiding language that can set people off ;-) Anyway... every time I get to deliver this presentation in front of people it helps sharpen the message.

The Agile PMP talk just got picked up by the PMI Global Congress in October... so I better get better fast. I am not expecting that crowd to show any mercy!

Last week I was with my two older boys at Rainey Mountain Scout Camp. Camp sure has changed since I was a kid. I didn't have a cell signal the whole week but there were several wifi hotspots around so I was not without some connectivity. After getting the troop off to classes... I spent each morning online and then each afternoon hiking in the North Georgia mountains. I would rather sleep in a tent than a swanky hotel... so life was good.

Before I left... we talked a bit about how it is so easy to get focused on how we are getting work done and to lose focus on what we are actually delivering. That problem has to be pretty universal... it applies to software teams and complex organizations... it also applies to scout troops. Are we here to build committees and sign paperwork or to help boys become young men? When we start focusing on how things are going to get done... it is easy to lose focus on what is really important. But... I digress.

Some of my writing focus lately has been directed in places other than this blog:

Next month I am publishing my first executive report for the Cutter Consortium. I did the report with my good friend Dennis Stevens. Dennis is a really smart guy and we pushed each other on the ideas in this paper. The report is only available to Cutter Consortium subscribers but maybe we'll have a raffle here on Leading Agile to give out a hard copy.

I've also done a short whitepaper for VersionOne on the role of the Agile Project Manager. It is an introductory piece but you guys might want to check it out. The paper talks not so much about Agile Project Management... but more about the new skills a Project Manager needs in an agile environment and how they need to think about their role a little differently. This paper can be downloaded for the low, low cost of giving the VersionOne sales team your contact information.

Lastly, keep your eyes peeled for a screen cast I put together on agile adoption. Naming talks is not really my strong suit. The screen cast is on adopting agile... but more fundamentally it is about teams... and how to build organizations around teams... and how to decide what teams work on... and how to throttle work through the organization in a way that creates flow. So while this is an agile talk... it also hits on things like capability analyis and lean scheduling in the enterprise.

I'll shoot a link once we have the presentation up and publicly available. Hopefully, I'll get back in the groove of writing this week... still have lot's to say ;-)

Subscribe to Leading Agile

Monday, June 8, 2009

On My Way to Vegas...

Okay... so this is a throwaway post.


I am on the plane to Vegas with my wife and decided to try out the Delta WiFi service in route. While I am up here it is my goal to write a blog post (done), Twitter (done), and chat with some friends over Facebook (done). I might check LinkedIn and then dip into my VersionOne email for a little while. You just gotta love where technology is headed... can't even get a connectivity free existence on the airplane anymore.

It was only $12.95 for the entire duration of a 4-hour flight. I can remember those onboard cell phones that used to cost like $9.95 a minute. Might see if I can use Skype to call my kids!

Subscribe to Leading Agile

Sunday, June 7, 2009

Productivity in the Cloud...

Last year I did a post called At Peace With Paper... in it I describe my affinity for paper planning devices... and how over the years... with all my cool electronic gadgets... I have been unable to resist the allure of my leather bound day planner. A few months later... I did a post called iPhones and Blackberries... where I talk about moving from my trusted Blackberry to the yet unproven iPhone 2.0.

Well here we are a year later and I haven't put my iPhone on eBay... although I thought about it more than once... and furthermore... I may have finally kicked my Franklin Covey habit. How did this happen? Let me explain...

As you might imagine... especially if you follow me on TripIt... my travel schedule can get pretty hectic. Shoot... it is not just my travel schedule... it is life. I value being able to have access to my data anytime and anywhere... no matter what device I happen to be on... and no matter what I am doing. Long story short... a couple of products converged for me that have pretty much revolutionized my ability to stay organized on the go.

iPhone 2.0

So... this is the on-the-go platform... the enabler. All of the problems with the iPhone are still there... no cut and paste... no email search... no real keyboard... no background listening for non-native apps... it goes on an on. What had made the iPhone totally sticky for me are the apps... not just any apps though... apps that have web based counterparts and sync their data to the cloud.

Evernote

The first application that really got me was Evernote. If you not familiar with Evernote... it is a free hosted application that allows you to store files... clip websites... record voice notes... and almost anything else you might envision saving up into the cloud. That is and of itself is cool... but it also has a client for the iPhone and I can email stuff to Evernote too! Anything I save to Evernote I can take with me on the iPhone. There is also a fat client for the PC and a version that runs from a U3 jump drive. I have my data... anytime... anywhere... from any device I happen to be working on.

ToodleDo

This is really the one that has been revolutionary for me. ToodleDo is a hosted site that allows you to track and manage your todo list. Wait you say... why not just track your todo list in Outlook? Many of my todo's come in the form of email. I have always wanted the ability to forward email to my todo list... and ToodleDo allows me to do this. The iPhone version is wonderful... and as you might imagine... my todo list is kept up to date in both places. Awesome

Jott

And here is the glue... I don't have much use for Jott's iPhone app... but here is what Jott does that is totally cool. I can call Jott from my cell phone and tell the service I want to send a note to Toodledo. It will transcribe my note and add it to my todo list automatically. Jott also has integrations with other apps... but ToodleDo is the real winner. I just don't need to Jott to Twitter... but the application will do it if I ever get the urge.

Google Calendar

This just keeps getting better and better. I have my iPhone sync to my Outlook calendar and my Outlook calendar sync to Google Calendar. The cool thing is that on Google Calendar I can add my wife's calendar and she can add mine. I can also unify my TripIt calendar and any other .ICS calendars I find particularly interesting. Much... much better than keeping separate calendars in our own paper systems... or even electronic systems.

It's not perfect yet... I think that iPhone 3.0 is going to help simplify my calendaring setup and give me more functionality. iPhone 3.0 is going to fix many of my frustrations with the core platform... I hear it will have cut and paste, email search, and background listening. The fact these apps all talk to each other is really the killer concept. The fact that they have multiple clients depending on what I am doing at that moment is even cooler. I am totally geeked to see what these companies do over the next few years.

I still carry my paper planner with me... but find I use it much less often. There are days when I miss my Blackberry... but 3.0 should fix that. Life in the cloud is pretty good so far.

Subscribe to Leading Agile

Saturday, June 6, 2009

What Do You Value?

Sometimes I think we are missing the point.


I am becoming more and more convinced that building organizations around teams is the real secret to building agile organizations. How we setup our teams, what we have them work on, and how they work together with other teams... all determine how well value will be created for our business and ultimately our customers.

Some things are really important about teams... and some things just aren't. Getting straight about what we are are actually trying to accomplish with our teams will help us get past some of the dogma, methodology battles, and Scrumdamentalism that is preventing us from incrementally adopting agile practices. Is our goal to adopt Scrum or is our goal greater business agility?

Important Stuff about Teams...

Teams Deliver Value

Sometimes this means that teams work on cross functional threads of working software. Sometimes it means that teams deliver services that will be consumed by another part of the organization. Teams might be part of the business and handle billing... or marketing... or sales. I only care about teams being cross functional in the sense that the team needs to have what it need to deliver the value is was created to deliver.

Teams are Accountable

Teams make and meet commitments and are responsible for delivering on those commitments. They are accountable for outcomes. I don't care so much how they deliver those outcomes... assuming that they operate within moral and ethical boundaries... I care that teams do what they say they are going to do and deliver the outcomes that they promise to the business

Teams are Predictable

Over time, the business should be able to provide specific inputs and get reasonably predictable outputs. Throughput should trend up... and we should know why it is trending up. If throughput is trending down... we should be able to assess and understand why it is trending down. If throughput is variable... it should at least have a reasonably predictable rolling average. If teams aren't predictable... we can't plan anything.

Teams get Better

We need to have some mechanism in place for getting better over time. This could be a sprint retrospective... or it might be a Kanban board. We can rely on the knowledge and creativity of the team to improve... or managers can use specific tools that help make problems visible and help the correct the problems. It cannot be okay to accept mediocrity.

Teams are Transparent

The business needs to be able to understand exactly what the team is working on and how the deliverables relate to the objectives of the business. The business needs to understand what problems the team is having so that they can help get them resolved. Team performance metrics need to be visible and explainable

Not so Important Stuff about Teams...

Teams have Product Owners

I am probably going to get myself in trouble here... but I don't think that the Product Owner is all that important. It is important to have a well groomed product backlog. It is important to have someone to answer questions for the team on behalf of the business or the customers. It is important that the business is accountable for making decisions in a timely manner and giving guidance to the team.

If that can be done by a single person called a Product Owner... so be it. All I know is that it needs to happen.

Teams have ScrumMasters

Again... going to get in trouble. What I really need is someone to help the team stay on track... to maintain the vision... to help remove impediments... and to collaborate with the team to help them improve. If this is a ScrumMaster, great. It might be a resource manager that fills this role... it might be a project manager. It might be a good dev lead or a product architect.

Teams do Daily Standup Meetings

What I really need is communication between team members. I have worked with teams that all sat in the same space... worked together daily... and always knew what was going on. If a daily standup meeting adds value... do it. Just remember why you are doing it and if you are getting the outcome that you need. Communication... transparency... shared accountability... those are the important things.

Teams have Planning Rituals

The team needs time to plan. They need time to get their head around the problem and coordinate the work. They need a time to inspect and adapt. This might come in the form of a sprint planning meeting and a sprint review. It might be done ad-hoc as a individual requirement is moved from the backlog into the in-process queue.

Do We Care About What or How?

When folks are just getting started with Agile... it is easy to get caught up in the how. How are we going to plan... how are we going to meet... how are we going to review outcomes... how are we going to ensure accountability. We need to focus on what the team is going to deliver, and the attributes of that delivery that are important to the business.

It is extremely important that a team delivers something of value on short cycles... that they are accountable... that they value predictability... that they get better over time... and that they are transparent to the business. To the extent that Product Owners, ScrumMasters, daily stand-up meetings, and planning meetings help me get there... they are useful tools might get included.

These things could be out of sync with your organization and actually impede your ability to adopt agile. You might need to think about what you're really trying to accomplish and come up with some situationally specific strategy to build teams... and to get teams predictable.

It might be unreasonable to ask the business to take a Product Manager and turn them into a Product Owner. It should be perfectly reasonable to ask them to make sure teams have the requirements they need to build software... requirements that accommodate change... help mitigate risk... and deliver value better and faster back to the business

So my question... are you more concerned about adopting specific agile practices or doing what it takes to build well functioning teams?


Subscribe to Leading Agile

Tuesday, June 2, 2009

The Agile PMP Presentation

Okay... while I am publishing presentations today, here is the one that I am doing next week at the SQE Better software conference in Vegas. I'm also doing this talk at Agile 2009 and again at the SQE Agile Development Practices Conference in Orlando. It's nice to have a presentation that I get to do live more than once... I finally feel like I am getting good a delivering it ;-)


Subscribe to Leading Agile

Adopting Agile Presentation

Last night I had a great opportunity to deliver this slide deck to the Turner Agile User Group here in Atlanta. The talk was on Adopting Agile in the Enterprise. I am still working on the overall message and consider the presentation in beta. This will end up being the deck that I do for the Oredev conference in Malmo later this year.
Adopting Agile

Subscribe to Leading Agile