, , , ,

Why use Agile?

So Why Use Agile?

Just read an interesting article “Biggest UK Government Project Failures” by Matthew Hayhow. Today, the mainstream software industry has a poor track record; when it comes to delivering working software on time and within budget. It is widely reported that 80% of all software projects fail. What a disaster!


The Top 5 Reasons Projects Fail

When asked why their projects failed, managers and employees cited a wide range of issues. But these 5 reasons surfaced over and over again, as the main reasons why their projects failed:

  • Lack of end-user (customer) involvement
  • Poor requirements
  • Unrealistic schedules
  • Lack of change management
  • Lack of testing
  • Inflexible and bloated processes

Here’s how Agile addresses these problems head on…So clearly, with so many project failing, there’s Ota be a better way. And while Agile may not have all the answers for all the problems, here’s how Agile directly addresses these key issues:

The Customer Is King…

To address the lack of end-user or customer involvement, Agile made the customer a member of the Agile Product Team. As a member of the team, the customer works with the development team to ensure that their needs are met. The customer contributes to the requirements, approves the final result, and, is has the last word when making tradeoffs between which features are added, changed or removed from a release.

Requirements Are Written As Acceptance Tests Before Any Code Is Written...

To address the issue of poor requirements, Agile insists that you write acceptance tests before you write code. As requirements are gathered, they are defined as features containing one or more use cases with concrete acceptance criteria. The acceptance criteria is used to write an acceptance test before any code is written. That means that someone actually has to think about what they want before they ask someone to deliver it! This approach radically changes the requirements gathering process and dramatically improves the quality of estimating and scheduling.

Schedules Aren’t Assigned, They’re Negotiated…

To address the issue of unrealistic schedules, Agile makes estimating and scheduling a collaborative process between the Product Team and the Development Team. At the start of a release, the Product Team estimates the level of effort for a set of features. Then they ask the Development Team to review, revise and provide feedback on the estimates. The two teams work the estimates collaboratively until a reasonable schedule is achieved. Then everyone commits to the schedule and the work begins.

Nothing Is Carved In Stone, Except For The Delivery Date…

To address the issue of lack of change management, Agile insists that everyone embrace change, that everyone be realistic about change, and that anything can change except for the delivery date! In other words, as the product moves toward release, the customer (sitting on the Product Team) can add, change or remove a feature based on its priority and value. However, they have to be realistic. If they add a feature, they’ll likely have to take another one out, in order to meet the delivery date. And, the delivery date is always met.

Tests Are Written Before Code Is Written And Testing Is Automated…

To address the issue of lack of testing, Agile demands that tests be written first and that tests be run continuously throughout the build process rather than waiting until the 11th hour to punt some bad code over the wall; to a helpless test team. Each developer has to write their test first, then write the code to make it pass the test. The test is automatically run any time the code is changed. This approach makes testing the responsibility of everyone on the development and ensures the integrity of the build from the start of the project.

Project management is not a separate activity…

To address the issue of inflexible and bloated processes, Agile integrates project management into the process. The project management function is shared across the development team. For example, each 7 person development team (scrum) commits to a release schedule that they personally negotiate. In addition, the code base automatically generates project tracking information. For example, burndown, velocity and test pass-fail charts are all automatically generated by comparing outstanding tests with test passed and tests failed.

Agile is a profound step in the right direction…

As we said earlier, Agile may not address every software development problem, but it is a very profound step in the right direction. Based on the Agile Manifesto, it makes a serious attempt at addressing many of the key problems with current software development processes by empowering and respecting the people who are part of the process and by taking a pragmatic and realistic approach to the software development business.

To find out how you can become Agile, take a look at our Agile services…


Article 50 and Business Agility

Brexit Article 50 and business agility

Article 50 and Business Agility

Prime Minister Theresa May has triggered article 50. This marks the start of two years of negotiations to thrash out a deal for Britain’s exit from the European Union (EU). Germany’s Die Welt said the final outcome of Brexit would not be known for years. It would probably turn out to be “somewhere between apocalypse and wonderland”. He warned that the “two-year marathon” facing Britain was the country’s “toughest race since the second world war”. Everyone is reacting differently to these uncertainties such as market change, legislation change, labour market change etc.

What must a CEO/CTO of an organisation do in this volatile situation ?

Change happens, that is for sure. So the trick is not to resist it, but to prepare yourself for  it. You can not put your head in the sand and think its going away! You have to deal with problems! All CEO/CTO must make sure that your organisation is ready for these uncertainties and this could only be achieved by being agile.

According to Wikipedia, business agility is “the ability of a business to adapt rapidly and cost efficiently in response to changes in the business environment”. It refers to distinct qualities that allow organisations to respond rapidly to changes in the internal and external environment without losing momentum or vision. Adaptability, flexibility and balance are three qualities essential to long-term business agility.

Therefore business agility is important for organisations to survive long-term and work in fast changing environment. Innovation is often the key to maintaining long-term business agility.

To exist is to change, to change is to mature, to mature is to go on creating oneself endlessly.

Henri Bergson

Companies may display business agility at certain times, in which case the agility is a form of crisis response, or the company may have business agility built into its structure. Companies that don’t innovate and rely on ‘proven’ methods of doing things often find themselves falling behind the competition because they can’t adapt quickly enough to shifts in the environment.

Why its important to achieve “Business Agility?

As businesses operate in a more ruthless environment than ever before; a ruthlessness that has been reflected in the number of high-profile companies that have entered administration. It seems to me that those companies that went bust earlier this year all had one thing in common: they failed to adapt in the market that they operated in, which in turn, nullified their value proposition.

The Article 50 spurs on organisations to focus on agility, responsiveness and high performance collaboration. The phrase “Business Agility” is so over-used shouldn’t cover up the fact that agility is absolutely crucial to business success in the post-Brexit UK.

“In the ever more complex business world that we operate in today. Companies have to be able to adapt rapidly and cost efficiently to changes in the environment and customer behaviour.  ‘Dinosaurs’ must learn to become ‘pumas’.” 

– Tom Clive

It’s about valuing individuals and interactions over processes and tools; collaborative technology over comprehensive documentation, and the ability to respond to change rather than adhere rigidly to existing plans. This can help organisations and teams become more agile, flexible and adaptable to change.

How can you achieve business Agility?

All CEO/CTO who wishes to be agile also need to show a degree of organisational intelligence. Therefore, organisations that show this intelligence are able to make sense of complex situations and act effectively.  Most of structurally agile companies usually operate in an entirely different way as compared to those that lack this organisational intelligence. They seek the middle ground between the global and the local and find a balance between a centralised and decentralised structure. An agile organisation will also empower local units and geographies to be more responsive and adaptive to local markets, customers and trends. As a result, this will create the right mix of bureaucracy with nimbleness and innovation. As Alan Cohen said correctly,

‘It takes a lot of courage to release the familiar and seemingly secure, to embrace the new. But there is no real security in what is no longer meaningful. There is more security in the adventurous and exciting, for in movement there is life, and in change there is power.’

Let’s welcome change and be agile, because business agility matters!