Five Simple Steps to Agile Risk Management

Risk Factory Sign

Risk Factory (flickr: kyz)

This report, by its very length, defends itself against the risk of being read.  (Winston Churchill)

Background

In my post on Agile Project Charters I outlined the embarrassingly high failure rate of software projects. Success rates today are only marginally better than they were when the Standish Group released its first Chaos report in 1995. Recognizing the tremendous misalignment between project expectations and project results, a variety of tools and methods have evolved to help improve the odds of success. Chief among them is Project Management methodologies. Even with fifteen years of experience combined with improved software development tools and better methods, software project success rate have eked out only marginal gains. This is not a vilification of project management methodologies. Rather, it is a statement that software development is an inherently and increasingly complex undertaking with many uncertainties. With Risk Management, we attempt to identify the things we don’t know (the uncertainties) and quantify them so that they can be managed. This sounds like a paradox – how can you quantify what you don’t know- but it is a paradox we can manage. Read More »

Posted in Agile, Privacy, Project Management, Risk Management, Scrum, Security, Technology | Tagged , , , , , , , , , , , , , , , , , | Comments closed

A Simple Agile Defect Management Process

Defect Card

Defect Card (from flickr - listentoreason)

All software has defects of some sort – we know that. If left unresolved, some defects can have cataclysmic consequences while others are so minor that they go unnoticed by virtually everyone. Like most things in this universe there is a law of diminishing returns when it applies to the correction of software defects. Unless you have unlimited resources to assign to bug fixes, you have to focus your attention on the ones  that have the highest ROI. The question is “How do you make those determinations?” There are multiple drivers in any organization that concurrently push and pull the development team in any number of directions. Those drivers could be the Sales Team, QA Team, Finance, End Users, Customers, and Online Media  such as Blogs, Twitter and Internet Forums as well as Traditional Media. The list seems endless and all of it is important (or at least most of it is). Some issues are much more important than others and you can bet, if a software defect is featured on prime time TV news broadcasts that it will be the first thing your CEO will want addressed. So assuming you don’t have the media telling your CEO what your top priorities are, you need a process for focusing your attention on the most important things first. Read More »

Posted in Agile, Project Management, Scrum, Software Development, Technology | Tagged , , , , , , , , , , , , , , , | Comments closed

How to Easily Prioritize Your Agile Stories

What Comes First?

Index cards for Saturday morning chores

Index cards for Saturday morning chores (alandd from flickr)

You’ve spoken to all of your stakeholders, maybe had a workshop or two, gathered all of the input, defined requirements and converted it all into stories, and now you have writer’s cramp from printing them all out onto index cards. You’ve now taken over the conference room and spread your cards out on the table so that you can organize them and figure what goes into your first sprint. So really – what stories come first? Marketing, Sales, Finance, and Operations all have their priorities. Your lead architect says that none of it can be done until the architecture is nailed down – and then of course there is the CEO and her view of what needs to be done first – Oh, and don’t forget the customers. It’s all important; otherwise it wouldn’t be on your index cards would it? Some things are definitely more important than others – but which ones? Scott Ambler says that 85% of all features built into software products are either rarely used, or never used at all. So as much as some stakeholders might think that a particular product feature is essential, it is highly likely it will end up being one of the 85% that go unused. One of the fundamental reasons for using an Agile methodology is to focus on the things that bring the greatest value, so how do you actually determine which stories provide the greatest value and are thus scheduled first? To be effective and obtain consistent, repeatable results requires a system or process that is quick, easy to use and consistently applied. Read More »

Posted in Agile, Project Management, Scrum, Software Development, Technology | Tagged , , , , , , , , , , , , , , , , , , , | Comments closed

How To Make Your Project Not Suck Using an Agile Project Charter

An Agile Project Charter

The Problem

What the customer really needed (Click on image for full size view)

What the customer really needed (Click on image for full size view)

Any project can fail, and any project can fail for a seemingly endless array of reasons. Large complex projects sometimes fail because they are well… large and complex. High complexity means more unknowns. More unknowns make estimation and management of budget, time, resource requirements, and a multitude of other factors extremely complex. The higher complexity of large projects implies that they have a higher likelihood of failure. Statistics seem to support this premise, but small projects also fail at an alarming rate. Certainly we can do better. Read More »

Posted in Agile, Project Management, Scrum, Software Development, Technology | Tagged , , , , , , , , , , , , , , , , , | Comments closed

Apple Adobe Fight – Follow The Money

Apple Tatto

Apple Tattoo - Flickr by: Macthia

The Issue

I have been following with great interest the recent and very public battle between Apple and its long-time ally Adobe. Concern over Apple’s behaviour has now escalated to the point where Reuters has reported that regulators are mulling an investigation to determine if Apple is in violation of antitrust laws by requiring that its programming tools be used to write applications for the iPad and iPhone. It has subsequently been reported that Apple is attempting to avoid an antitrust probe into its trade practices by revising some of the terms of its developer agreement. It is unclear at this time what those changes might be.

The whole fracas started when Apple suddenly altered its developer agreement to disallow the running of applications created using cross-platform compilers on the iPhone and iPad platforms. Adobe was in the final stages of development and was apparently only four days away from the release of CS5 Suite for development of Flash for the iPhone and iPad when the announcement was made. This caused Adobe to scrap work to bring Flash apps to the iPhone and iPad. This is not just some lover’s spat between two companies that were once close allies. The battle has in fact become very bitter and very public with people like Adobe evangelist Lee Brimelow stating in his blog: “Go screw yourself Apple”. In response to the vitriol being directed at Apple from Adobe and members of the development community, Steve Jobs made a rare blog entry on the Apple site Thoughts on Flash where he raises six issues or reasons for not supporting Flash on the iPhone and iPad. His position focuses primarily on performance, security and user experience. The rationale provided is specious at best and blog entries like this one from Jesse Warden’s Steve Jobs on Flash: Correcting the Lies steps through Jobs’ posting and bluntly categorizes it as 13 lies and one half truth. For what it’s worth, Warden does go on to state that he agrees with the balance of Jobs’ post.
Read More »

Posted in Software Development, Technology | Tagged , , , , , , , , , , , , , | Comments closed

Hello World

My first ever blog post

Hello World Image

Why is the title of my first post “Hello World“? If you’ve ever done any sort of software development, you would likely already know the answer to that question. For those have have not, the explanation is pretty simple. When initiating a software project, a developer will often create an artifact that displays text in the UI of the application – be it a web page, a desktop application, or even a mobile app. The text most often chosen is “Hello World” as it symbolizes that the software creation has inhaled its first virtual breath in its world of zeros and ones. I have to confess that I have at times felt a touch of Frankensteinian glee as I witnessed my creation come to life. This first post is the same. It is the first breath of life of my first blog. Read More »

Posted in Project Management, Social Media, Software Development, Technology | Tagged , , , , , , , , | Comments closed