Archive for the ‘Agile’ category

What’s a Manager to Do? Management’s Role in Scrum Organizations, Part III

March 15th, 2010

I love the concept of self-managing teams.  Everyone figures out what needs to be done, and does their best to make the greater organization successful.  Beautiful.  Reminds me of the Shaker Village, the Russian Artel, or the Israeli Kibbutz.  All of which are (largely) extinct today.

There are three structural problems that, like termites behind the wallpaper in a French Quarter house, cause these “worker’s paradises” to fail.  Our job, as managers of the Innovation Engine, are to sniff ‘em out, expose them, and exterminate them.

Problem #3: The Buck Starts Here.

For all the happy talk about mission, values, and meaningful work, the ultimate metrics for business are financial.  Our inability to grow, make profits, secure new investors, etc., will ultimately end our ability to accomplish our missions, support our values, or provide work to our employees and worse yet, ours bosses. That’s the bad news.

The good news is that we managers can use money (or their engineering equivalents, people) to accomplish great things.  Which things we choose to accomplish is largely up to us.

No, that doesn’t mean we want to create our own user stories, and reprioritize the backlog to meet the requirements communicated to us in our sleep by our deceased pet snake.  That’s the product owner’s job.

The Scrum process, like its Lean predecessors, is based on incremental improvement.  That’s great for two reasons: first the changes are small enough that we can get them done and see the results before the environment has changed, and second because they are small enough in scope that the individuals in development or product management can understand and control them.

We managers have to see the bigger picture, and that generally means determining the funding level for each of the initiatives we have.  Adding people to a team will eventually, not withstanding our bad management, increase its velocity.  Pulling people off will generally do the opposite (although not as quickly as you might think …….).

The optimization problem for the overall success of the organization involves lots of variables, but that’s really why they pay us the big bucks.  Is this group servicing a stable and productive customer, while this other group is struggling to overcome a mountain of technical debt?  Are competitors starting to emerge for what has been a stable area? Has this project achieved most of its goals? Is it time to determine what should be the next big initiative?

The purely business and marketing side of the equation is usually an area of influence, not control, for the development manager.  But the assignment of resources to projects is the execution of that strategy, and requires management comprehension and “buy-in.” For those of you uncertain, the term “buy-in” refers to agreeing to do something you’d really rather not do at the risk of losing your job.  It’s been around a long time, but has flourished in the recession.

On the technical side, there are important funding issues to consider.  One of the biggest is the effect of architecture on the overall success of projects.  Studies have demonstrated that one of the biggest factors in ROI for IT initiatives is the quality of the underlying architecture.  Should you add features to your Windows XP app, re-write it to run on an i-Phone, or re-write it to run within your CRM system?  Big questions with lots of impact both in the short term or long term.

Conclusions

Senior engineering management is a tough job with many tasks and responsibilities, too numerous to list here, but including team dynamics, people management, strategic funding decisions, and golf at expensive resorts.  Middle management has similar responsibilities, without the golf.

Great organizations are rarely the product of good luck.  Great leadership recruits the right people, puts them in the right roles, identifies problems and fixes them, and looks ahead at trends to make sure resources are assigned to the right places.

In Scrum, this doesn’t require a lot of managers, but does require of lot from managers.  Empowering managers to act, and ensuring that they do, is critical to the long-term success of your Agile organization.

SQE "Agile Comes to You" Tour Update

March 2nd, 2010

Over the past few months, SQE’s “Agile Comes to You” tour, featuring AccuRev, Rally, AnthillPro and Coverity has been touring Agile hotspots across the country.  The most recent seminar was held on February 24th in Atlanta, with other stops along the way including San Francisco and Boston.

Seminar attendees are presented with talented keynote speakers, impressive product demos and a Q & A panel of Agile tool experts.  The photo below was taken during our Boston “Agile Comes to You” seminar.

Boston Seminar

During these half- day seminars, attendees get to witness live demos of software development best practices and tools, all necessary to make Agile successful within development teams.  They also learn core fundamentals of Agile engineering practices and are able to see how AgileCycle, an integrated best-of-breed tools suite, enables quality, collaboration and visibility for development teams, managers and executives.

Up next on the tour agenda? Seattle on March 17th and Dallas on March 18th.  So if you are in these areas, come visit AccuRev and learn more about what AgileCycle can do for you.

Register here for the Seattle seminar, and here to register for the seminar in Dallas.

Rolling out Agile? What to Consider

February 23rd, 2010

You’ve started to think about going Agile. Rolling it out is a big job; it will require a commitment, education and partnerships with other companies.  But in order for your company to successfully roll out Agile, there are some pitfalls to avoid.  Consider these factors involved for a successful agile implementation.

Agile promises a swift return on your investment. You no longer have to wait for your long waterfall to reap the benefits of your development team’s efforts. The problem now is being able to transition those teams to going Agile. How are you going to manage these transitions? Rolling out Agile to an entire development organization isn’t going to happen overnight, but using a set of standard success stories, you can optimize the results.

In addition, this transition isn’t free, it requires money up front to organize your rollout. If your rollout is not successful, your investment could be lost. Even worse, if your implementation is not optimal, you can actually cause impediments, and work could be lost. Using an Agile and tool stack can help ease this transition, and help provide you with the visibility you need to see if Agile is improving your quality, and bringing back the return on investment you originally were looking for.

Over the next couple of weeks we will look closer at Agile implementations, and factors that successful companies have used to roll out their agile solution.

The Right Stuff

February 18th, 2010

Here’s another great whitepaper.  This one is by Michael Sayko, called “Doing Agile Right.” Michael talks about the benefits of using AgileCycle during the development process and the importance of utilizing an Agile ALM Suite.

Michael Sayko says this about AgileCycle: “When used in isolation, no tool supports the entire Agile development lifecycle.  AgileCycle tackles this problem by providing an end-to-end view of user stories from their creation, to their implementations in code, to their realization as working software.  Not only does AgileCycle facilitate the planning and execution of Agile projects, but it manages the code developed for each iteration, the builds created from that code, and the deployments of builds to test and production environments.”

“AgileCycle is able to manage the complete Agile development lifecycle because it integrates best of breed products that collectively support all aspects of the lifecycle.  In particular, AgileCycle integrates:

  • Rally for Agile lifecycle management
  • AccuRev for software configuration management, and
  • AnthillPro for build and deployment process automation.”

To read Michael’s explanations of how Rally, AccuRev and AnthillPro integrate to form a best of breed Agile ALM solution, read the rest of “Doing Agile Right.”

Agile Cycle: "Dream Come True"

February 15th, 2010

There is a new and informative paper called “The ‘Best of Breed’Agile ALM Solution” by Ben Weatherall, configuration manager at PDX, Inc. This paper provides great insight into AgileCycle; excerpts are shared below.

“With the release of AgileCycle, it seems to be the year Agile ALM will finally be a reality!  So what are the minimum requirements for an ALM solution for Agile?  There needs to be an Agile-specific management system, a workflow engine, a version control system, a defect and enhancement tracking system and a build management system.  And each of these components need to be supplied by vendors that have good reputations and “corporate” stability, be responsive to user requests for change and defect resolution and be considered among the “Best of Breed” in their market niche.”

“So forming a “Best of Breed” ALM solution from multiple vendor components would be something like having AnthillPro manage the overall ALM framework and the builds while AccuRev manages the version control, changes tracking and DIET functions and Rally handles the Agile-specific management stuff and helps control the content and organization of the reported defects and announcements.”

“With the advent of AgileCycle, we finally have a solution where the various vendors cooperate in creating an out-of-the-box integration tailored to Agile development.  All of them supporting it is a dream come true.”

Dream come true? AccuRev thinks so too.

To read the complete version of “The ‘Best of Breed’ Agile ALM Solution” by Ben Weatherall, see AccuRev’s Product Reviews.

Agile’s Advantages for Business Requirements

February 4th, 2010

A couple of posts ago we talked about Agile’s business values; now we want to talk about business requirements.

It is important to deliver requirements with the highest business value in each iteration so that the client receives quantifiable results. Businesses are under pressure to deliver results and, for the most part, they cannot sustain a competitive advantage if they have to wait an extended period of time for business value from the developers.

Not all requirements have the same value to the client; some requirements are essential to the business’ objectives whereas others, like infrastructure improvements, may be perceived as having little business value. Some requirements that reflect business value should be prioritized high for each iteration. This way, in each iteration, the developers deliver business value to the recipient.

In conclusion:

  • Identifying the requirements of a system that are important to the client is often the most important phase in measuring successful software development projects
  • Prioritizing requirements so the client receives software that provides quantifiable results with each iteration or release benefits business development
  • Better business value is delivered with each iteration

Couldn’t your business develop better through identifying and prioritizing your requirements?

AccuRev Introduces AgileCycle Suite for Agile ALM

January 26th, 2010

AccuRev today announced AgileCycle™, the first fully-integrated best-of-breed Agile ALM solution incorporating Software Configuration Management, Agile Lifecycle Management, and Build and Release Management. AgileCycle consists of the award winning software development tools AccuRev Enterprise, AnthillPro, and Rally Enterprise, delivering a comprehensive Agile suite for scaling and optimizing the Agile software development process.

AgileCycle is designed specifically for today’s Agile development teams and provides CIO’s and development managers with a best-of-breed tool set to further automate the Agile software development lifecycle. AgileCycle offers a single-vendor solution with AccuRev providing comprehensive services across the toolset, including deployment, training and support. This combined solution ensures complete management visibility of projects, improved team productivity and quicker ROI for scaling Agile development initiatives.

Agile development methods continue to gain ground due to dramatic time and cost savings for companies and their software development organizations. “By 2012, agile development methods will be utilized in 80 percent of all software development projects,” according to a recent report by Gartner (“Predicts 2010: Agile and Cloud Impact Application Development Directions” – December 3, 2009).

Utilizing Agile to Deliver Business Value in Every Step

January 25th, 2010

The last couple of posts have been about the importance of development tool stacks and what tools are available. This post moves on from there to discuss how Agile delivers business value in every step of the development process.

In software development projects, more teams have been adopting the Agile methodology instead of the Waterfall model because of the advantage of the former in delivering business value quickly and efficiently. The development cycle using the Waterfall model often takes a year or more, which means at the culmination of a project, the initial requirements of the project will most likely be outdated. This results in new software that may have less value in the market for the client than originally planned. One benefit of moving to Agile processes is having short iterations so the team can adapt to changing requirements and complete valuable and relevant deliverables in a faster timeframe.

A frequent stumbling block inherent in the traditional development process often arises when identifying system requirements. In this phase, the developers work with the client to establish the functionality of a system or more specifically what will be built. This is when the business value of each requirement is evaluated. Problems often arise at this point because the client does not know exactly know what they want or they may think they do and then change their mind as the project moves forward.

In Agile, the client can continuously give feedback on what has already been delivered. The developers can then update the requirements and their business value based on the desires of the client. To achieve this, a developer would be best served by working with Agile development tools that offer complete management visibility of projects throughout the entire development process and into production. This makes it easy for changes to be made during the process, and the client can realize their business value along the way.

Wouldn’t you rather make changes with each iteration than at the end when the project should be complete?

Agile Development Tools- What Choices Are There?

January 20th, 2010

In our last blog post we discussed the importance of your development tool stack when transitioning to Agile development, now we’ll take a closer look at what tools are available.

All of the components in your tool stack interact with each other and with your overall development process. As you transition to Agile development, many of the components in your tool stack that were helping you do traditional development are now working against you in two ways. First, they aren’t helping you do Agile development well, and second, they are actually working actively against your efforts to be Agile. You may also be missing some support structure that you need and tools that can help you leverage your effort.

At one extreme of tool stacks for Agile development is a stack that has no support for Agile whatsoever.  An environment like that may include tools that are poorly suited for Agile development such as CVS and Bugzilla – and it would be missing support for Agile Project Management, unit tests, and Automated Build Management. This environment would actually work against your transition to Agile development.

At the other end of the spectrum is a tool stack built entirely out of tools that were purpose-built for Agile development and linked together into an integrated Agile solution. We spend a lot of time watching the industry and from our perspective; there are really just two choices out there today. One choice is IBM’s Rational Team Concert. Team Concert is a good system but it is immature, expensive, and there don’t seem to be many deployments.

The other option is to build a custom solution using individual tools. For instance, you could use GIT for source control, Hudson for automated build management, and Excel and your existing issue tracking system for Agile project management. There are two problems with this combination. First, the only component purpose-built for Agile development is Hudson. Second, using Excel for backlog management doesn’t scale very well.

The solutions currently available are all either too complicated or too expensive. Wouldn’t a best-of-breed, fully-integrated solution supported by a single vendor be better?

When Transitioning to Agile, Don’t Forget Your Tools

January 13th, 2010

So you’ve decided to make the move to Agile development. Congratulations! In order to adopt an Agile process you’ll probably be sending your people to Agile training and you’ll be engaging the services of an Agile coach. You’ll also reconfigure your work environment to facilitate the practice of collocated cross-functional teams.

These are all important steps, but you may be missing another priority — your development tool stack, that somewhat invisible part of your work environment which has a daily impact on your team’s effectiveness.

For many, software development tools are like carpeting in your home — installed many years ago, it’s now coming up at the seams.  Similarly, software tools are often completely out of date, patched together with scripts – and the problems are nearly invisible.

In order to maximize the results of your Agile transition, you need to reconfigure your development tools and transition from your existing tool stack to an Agile tool stack. Agile tools must support a high ratio of value to effort in order to fit into the short iterations of an Agile project and they must be quick and easy to use rather than requiring many tedious steps.

In future blog posts, we’ll be looking closer at this challenge – and offering our insights on ways this transition can be done quickly and seamlessly so Agile adoption is successful.

Are you considering a move to Agile development? If you are, have you determined what tools you will use?