Posts Tagged ‘development’

Three Surprises in Software Development in 2012

December 8th, 2011 by lorne cooper

‘Tis the season to make unsupportable predictions for the future.  Despite my prior record (and I remain surprised that we don’t yet have personal jet packs) I’d still like to share a long-range weather forecast for the software industry.

You’ve been warned.  From here on, you’re on your own.

Prediction 1: Everyone Will Claim They Are Agile

And 50% of them will be wrong, just based on the Nokia test.  And of the rest, half won’t get any value from it.

There are a lot, and here I really need to underline a lot, of bad development practices out there.  For every organization that is killing it with Agile, there are five (my agilesta friends say ten) organizations that are limping along, delivering buggy code to their customers, late, and missing committed functionality.  And often all three.

This “Going Agile Without Knowing How” problem is probably an inevitable result of the success the early-adopter teams had with Agile methods.  For instance, when I watch The Olympics, figure skaters make skating look effortless.  When I do it, I look like a drunken hippo and hurt my butt.  It’s hard to stop and remember that these athletes, in addition to good genetics, spent years at the rink with their coaches learning, trying, failing, and improving, before they got in front of the TV cameras.

Agile has crossed the chasm, and the great majority of organizations have too few people, with too little coaching, and hardly any tooling.  Sure, your boss doesn’t realize how useless your stand-up meetings are, or that your code isn’t fully tested at the end of a sprint, but she’ll eventually see that your customers are not happy.

Prediction 2: Development for Mobile Devices Will Still be Small

Yes, Mobile is really big, and moving fast.  It’s just that the great majority of the work to support useful mobile apps remains in the back office.  When we’re finished inventing new ways to swipe our coffee-stained fingers across our screens, the value of the great majority of our apps is back in the glass house, running Java and C++ on big ‘ole honking (virtualized) servers.

The development problem in the era of proliferating small platforms, remains the problem of dealing with large, complex, data and it’s interactions.

Sleep well, Larry Ellison.

Prediction 3: The Gap Between Pros And Amateurs Will Grow

Every new software technology “spike” rewards the early adopters with higher productivity, which can level the playing field for the “newbie” or occasional software developer.  But as application complexity grows, as the platforms become more complex and development environments become richer, the professional advantage becomes more significant.

There isn’t much of a disadvantage in time-to-market for the young developer, maybe working on his laptop with open source tools and no identifiable process. The difference between them and a team of experienced professionals, working with industrial strength tools and procedures, and building apps that run businesses on virtualized hardware in a web connected world, is in “value created.”

Created Value is a concept that we’ve all been learning during the past ten years of Agile evangelism.  Created Value is measured at the customer side, and primarily by the classic metrics of software: how does the software help me get my job done better and faster?

There was a time when the lowest cost labour source for a software project was the key criteria.  Over the past two years, software projects have been revisiting their decisions as they’ve seen the crippling effects of buggy, unmaintainable, badly architected products.  We’ve seen the evidence with a hiring boom in the US for developers and QA alike.

In short, in 2012, we’ll see a renewed focus on quality of development, over quantity.  And a better appreciation for the talent, tools, and techniques, that create it.

 

A New Mindset and New Toolsets are Needed to Speed Agile Adoption

February 7th, 2011 by AccuRev

In a previous post we examined an “Agile pain points” survey that highlighted some of the top obstacles organizations are facing when trying to adopt Agile practices.  Now that these obstacles have been identified, you might be asking – as we did – where do we go from here?

The Importance of Agile Tools

We think these findings reinforce the need for ALM tools to support Agile implementation, accelerate adoption and build a foundation to scale Agile.  Developers need integrated, yet flexible and customizable toolsets encompassing Software Configuration Management, Build and Release Management and Agile Lifecycle Management.

In addition to Agile tools, development organizations also need to adopt new approaches to support Agile adoption.Agile Roadmap

In addition to Agile tools, development organizations also need to adopt new approaches to support Agile. Here is a roadmap for organizations as they head down the Agile path:

- Take a fresh approach to capturing requirements. The first thing you should consider is that the focus of requirements in an Agile world shifts from developing a detailed specification, to collecting user stories.  Having a development process and the necessary tools to support gathering, tracking and managing of user stories is crucial when going Agile.

- Invest in test. Even when not practicing explicit test-driven development, the importance of testing – unit test, regression, and system-wide testing – is considerable throughout the Agile development process no matter what method is being used.

- Release early and often. Organizations should look for planning tools that track when user stories are done and ready for customer feedback, source code tools that show where user stories are in the development process, and build and release tools that create releases continuously.

- Build In-house expertise from the outside in. Organizations should work with vendors that have a full suite of training and coaching offerings, in particular seeking those vendors that go beyond generic Agile training and instead examine the organization’s existing processes and goals and customize training for their specific needs.

- Incorporate release aspects in early Agile plans. Building in real-world items like testing and deployment will allow issues to surface early, before they become entrenched in the code base and difficult to address.

- Recognize that scaling Agile reveals dependencies between projects and teams. Having the ability to track both Agile and traditional projects in the same tool interface can prove critical to ensure a smooth scaling out process.

- Don’t forget about requirements when going “all in” with Agile. Lastly, organizations should be sure tools and processes clearly show team members all key aspects of requirements and are flexible and powerful enough to keep pace with the dynamic nature of a fully realized Agile environment.

We’d like to hear what you think – what steps have you and your organization taken to support Agile adoption?  What have are some other steps organizations should consider?

For details on AccuRev’s findings and more on these recommendations, check out the full Agile Adoption Pain Points Survey report, available free for download at http://www.accurev.com/whitepaper/agile-pain-points-survey.

Jumping for Jolt Awards!

January 14th, 2011 by AccuRev

Dr. Dobb’s announced this year’s Jolt Productivity Awards, and AccuRev’s AgileCycle, the Application Lifecycle Management suite, was named a Jolt Logo Jumping for Jolt Awards!winner!  AccuRev’s AgileCycle won the Jolt Productivity Award #2 for Change and Configuration Management tools.

Jolt judge Mike Riley says “AgileCycle embodies the depth of expertise and understanding of how developers working on projects, large or small, need to effectively communicate and manage change.”

Thanks Dr. Dobb’s, and way to go team AgileCycle!