Categories
Agile Digital Transformation Insights Lean Startup Organisational Change

I Googled ‘Agile’ — and wish I hadn’t.

I Googled ‘Agile’ and discovered my worst fears. Confusion and mis-information about Agile software development, how it works, and how to make it effective as a method of digital solution delivery.

Following on from the short, rather poorly animated video, let me share a slightly more concise and coherent insight on how Agile should work and how it’s possible to make it a means of delivering exceptional outcomes. Spoiler alert: it’s probably not what you expect or want to hear, but please know I’m here to support you if you feel in the slightest bit unsure about what to do next.

The methods used to build solutions with software haven’t changed significantly for 30 years. And even though we’ve lived in the The Age of Agile for almost 20 of those years, the time it takes to deliver solutions, not to mention quality and efficacy, are still falling short of expectations.

Beyond Agile, examined why software development failed to meet the lofty aspirations of the Agile Manifesto founders. The book also explained how to avoid some of the classic mistakes of Agile software development.

A talk given by one of the creators of the Manifesto for Agile Software Development, Dave Thomas, underlines the dysfunction caused when the principles of the manifesto are misinterpreted or distorted to fit an enterprise IT agenda. He half-jokingly attributes the downfall as our tendency to turn adjectives into nouns; so instead of the title Manifesto for Agile Software Development, people turn it around a truncate it to — Agile Manifesto, thus losing its meaning and purpose.

Beyond Agile explores many of the noteworthy lightweight methodologies in use today, some of which pre-date Agile. This provides context and explains why software development often fails to meet expectations. Another founder of the Manifesto for Agile, Alistair Cockburn, puts it simply:

“The Agile Manifesto was the product of seventeen people from different schools and backgrounds. No one person is responsible for the words we came up with — it is clear that it was the product of all seventeen people. The addition or removal of any one person would have changed the outcome, something we recognised and discussed at the end of that meeting.

Whether you think ‘Agile’ saved the world or poisoned it, be sure always to recognise that it grew from a rich compost (joke intentional) of backgrounds. The next time you read a would-be history of the Agile movement, look for all those names. If you don’t see them, it is not a history; it is one person’s recounting of their journey, years after the event (as indeed, this one is).”

Cockburn’s statement gets to the heart of why Agile is such an enigma: few people bother to understand or respect it for what it is, choosing instead to follow second-hand interpretations of the manifesto or, worse still, adopt a consultant’s cheap imitation of it.

Agile often fails, not because it is inherently flawed or lacking in some respect, but how people interpret and apply the principles. The Agile Manifesto and its core principles are, in fact, quite logical and straightforward. The problem with Agile is it was released into the world and then distorted by people unwilling and unable to think about the true meaning and purpose of the method. Kent Beck, the creator of Extreme Programming and another of the creators of the Agile Manifesto, calls this the ‘staring dog problem.’

“If you try to point something out to a dog, it will look at your finger,” he explains. “If you explain an idea in terms of concrete practices — like test-driven development, pair programming, continuous integration — people will fixate on the practices and stop thinking.”

Kent is calling out that often we’re unable to make the cognitive leap between practice and application. Scrum and other so-called enablers of Agile fail precisely because they compensate for lack of intellectual integrity. They shroud important ideas like user-centricity and fast iteration in rituals and catchy names. The Agile manifesto left too much room for interpretation and not enough specific rules. It feels like we’re back where we started in the late twentieth century with powerful technology and tools but no idea how to make them relevant to the ever changing needs of our enterprise users and customers.

Beyond Agile, describes three outcomes Agile practised well delivers:

  1. Eliminates (or at least reduce) waste in software development;
  2. Creates software that people use; and
  3. Delivers projects on time and budget.

An analysis of fifty thousand software projects conducted by The Standish Group in 2015 found 29% of projects was successful (meaning they were delivered on time, on budget, and to a satisfactory standard). The remainder, 71% were either failures or failed to meet expectations. Just think about that for a moment: starting a large-scale technology project, there’s only a 1 in 3 chance of success. Not very good odds. The same report in 2018 showed the situation got worse, with only 23% of projects successful and 77% unsuccessful.

Other sources corroborate these stats. In a paper presented to the 7th International Conference on Knowledge Management in Organisations, Stanley and Uden proved that software projects typically overrun their budgets by two hundred per cent, and exceed their scheduled completion dates by fifty per cent.

But it’s the cost of project failures that’s the real issue here. It’s nothing short of tragic:

– The cost of re-worked and abandoned systems costs the US economy an estimated $75 billion per year;

– In Australia, $5.4 billion is wasted each year on IT projects that don’t deliver value or are abandoned completely;

– One project alone — the infamously abandoned National Health Service patient record system in the United Kingdom — cost taxpayers £10 billion.

To put those numbers into perspective, the United Nations estimates that a yearly investment of $267 billion would end world hunger by 2030. A meagre $175 billion per year would eliminate extreme poverty globally.

It’s been almost two decades since the Agile Manifesto was written, and even longer since Winston Royce published Managing the Development of Large Software Systems. But little has changed and no single methodology has improved software development; it’s still a hugely expensive and wasteful endeavour that rarely meets expectations. And that’s hard to accept, in any era.

It shouldn’t be beyond humans to come up with a better, more reliable way of developing software solutions. Just as garment makers and car manufacturers in past centuries industrialised their domains, so too software coders need to do the same. Digitisation begets automation.

Methods like Beyond Agile address some of the shortfalls, but it’s by no means a silver bullet. The method requires skilled people, disciplined practices, full engagement with users and problem owners.

When I Googled ‘Agile’ I was hoping for the answer to some of the more taxing questions surrounding the method. What I came away with was this: to make Agile software development successful, there are four areas that align closely to the original manifesto principles:

  1. Start by defining the challenge or problem to be fixed
  2. Define the project outcome in terms of a quantifiable measure
  3. Describe the first 6–12 features or functions the solution must have
  4. Identify the first half a dozen users you’ll engage at the outset and throughout.

Rinse and repeat.

Digital Village is a community of IT professionals dedicated to providing flexible IT project team solutions in an authentic Agile way to enterprises in Australia and New Zealand.

Categories
Agile Digital Transformation Insights Organisational Change Scalability

Excel: So useful it’s dangerous? Here’s the solution…

Excel is probably the closest thing we have to the perfect tool for analysing & reporting on data. It’s greatest downfall, however, is that it doesn’t really scale beyond a single user, and the result is organisations find their data and IP locked up in un-verifiable (but easily shareable) files.

James Diekman, who’s recently joined the Digital Village network as a Producer, sat down with DV co-founder Luke Fabish to share his solution.

[Luke Fabish] Hi James, we’re pumped to welcome you aboard as a DV Producer – could you tell us a little about yourself?

[James Diekman] Thanks! I’ve been in the IT industry my entire career, starting out in support to more recently becoming a Microsoft specialist consulting to government agencies and large enterprises which has been super exciting. I’ve got a passion for business applications and leveraging them to solve business problems and getting involved with the Power Platform community and also not for profits.

[LF] Hey, that’s great James. Recently we were talking about one of the technologies you work with, Microsoft Power Platform, and about how it has the potential to solve one of the biggest problems affecting IT in organisations… Excel is used for everything! What are your thoughts on that?

[JD] Completely agree! Use Excel for what it’s good at – analysing data. Don’t use it as a store of record, it simply wasn’t built for that and you’re missing out on turning your data into valuable insights. Also it’s not just Excel… We often see Word, OneNote and good old Microsoft Access heavily used because it’s all the users had at hand. These products have been around for eons.

[LF] So could someone who’d normally open up Excel to get a job done use Power Apps just as easily?

[JD] Absolutely. Organisations, however, need to look at PowerApps as a better way to capture data that can be stored in a common data service. From here organisations can start to automate processes they were never able to before because the data is stored in one place in a structured format. Start adding more applications and more data and you start to build up a valuable data estate that you can analyse and interpret by levering new technologies like artificial intelligence (AI).

[LF] That sounds amazing! So what you’re saying is we can solve some of the problems introduced by the pervasive use of Excel as a data store?

[JD] Yes… from simple problems such as versioning, multiple users, and data corruption to relating and querying large data sets. Thousands of disparate Excel files are of little value. Leveraging tools like PowerApps and the Power Platform allows you to turn data into business insights you previously didn’t have available to you before.

[LF] Thanks so much, James. For me, the big takeaway seems to be the ability to remove complexity and open up a way more collaborative approach to data than is possible in Excel on its own.

I know we’ve barely scratched the surface here… The Power Platform is at heart a powerful system for rapid digital transformation that can provide deep and integrated value across an organisation’s entire digital landscape.

Want to learn more? We have an upcoming live event with James where he’ll be highlighting the breadth of capability that Power Apps can bring to an organisation (plus he has some great tips for getting the I.T. department on board with it as well).

So to learn more about rapid innovation and digital transformation with Microsoft’s Power Platform, register for our upcoming event here.

Digital Village Live-Stream
Accelerating Digital Transformation
Categories
Agile Customer Success Digital Transformation Insights Lean Startup System Engineering

What Dev Teams Are Missing.

UX designers, check. QA designers, check. Developers, check. The list goes on… but most highly-trained dev teams are missing a vital piece of the puzzle.

Software development is an inherently technical activity but without solving a real human need a project has no purpose. So why are those with the most immediate needs, the arbiters of purpose in this instance, missing from the team?

Standard processes for software development demonstrate the issue (sometimes jovially).

@johncutlefish

Customers and end users, the foremost experts on the business and its goals, are the critical missing piece from software development.

Aren’t they included already?

Well, yes… but not enough.

Towards Customer-Centric Software Development: A Multiple-Case Study found that, even in organisations with a high level of customer focus, that customers were only present at the beginning and end of the development process.

The authors found four key challenges with this approach:

  • Indirect access to end-users led to a lack of understanding of the reasons behind customer requirements.
  • Feature prioritisation is done based on employees’ opinions and is not continuously validated with customers.
  • Testing is seen as an opportunity to identify defects but not to validate mismatches between customer needs and product offerings.
  • A lack of systematic ways to collect, analyse and incorporate customer data into the product development process.

What’s the real problem?

By omitting the customer and end-users from the delivery team you are working on hypothesis (and to some extent guess work).

Even projects undertaken with extensive and painstaking research are based on what a potential solution could look like. This hypothesis isn’t tested until the end of the development phase when complete features are presented to the users and customers.

And now for the grand reveal… The software has been built to the customer’s specifications, or has it been built to the team’s interpretation of the customer’s initial specifications? Without fully understanding the customer’s situation there is a high chance of building the wrong software.

This of course has a huge impact on budget, schedule and, worst of all, the trust between the client and team.

So how does putting the customer and users into the project team help?

Shortening feedback cycles is a central principle of Agile delivery. By embedding key stakeholders within the team, feedback cycles are reduced from weeks to days.

Developers can demonstrate early prototypes and benefit from the unique expertise and feedback that only customers and end users possess. Rather than thinking, “what would the customer want?” at key decision points they can be asked directly.

No grand reveals, no surprises. A product is developed in collaboration with the customer and ultimately the people that will be using it.

Customers and users are busy people – do they have two jobs now?

Obviously we can’t expect the customer to be turning in 40 hours a week, that would be slightly impractical (and rather unnecessary). Attending weekly team meetings and being able to respond to questions from the team is enough.

The point is to ensure the developer feels comfortable making a call to the customer or uses to clarify a requirement or gain feedback on an early version. Essentially, you remove the subjectivity and guesswork to ensure the right product is being built.

Sounds nice – does it really work?

Digital Village recently completed the first iteration of the Race Around Australia project and was rolled out for a successful pilot in NSW schools. Program manager Emily McLachlan was deeply involved in reviewing the work in progress and making critical feature decisions and prioritising application features.

Her involvement allowed the delivery team to frame technical decisions within the needs of the department, schools, teachers and students, which reduced uncertainty around the product to practically zero.

You can read about the project’s success here.

Next Steps

Convincing busy professionals to attend another meeting/ create time for the demands of a project team sounds, well, trick. In fact, the hardest part may be convincing people who feel somewhat out of their depth in a technical project to participate in delivering it.

With the right support, however, non-technical stakeholders like clients and end users can provide invaluable contributions to a project delivery team.

The first step, of course, is a conversation with project stakeholders. Luckily that conversation will be about how they can save money, reduce risk and enjoy the benefits of their new software as soon as possible. We have a suggestion…

Working closely with the customers means the team will share the customer’s disappointments and triumphs, and hopefully shifts the team’s mindset from focussing on feature delivery to customer success.

Categories
Agile Digital Transformation Insights

How to go from problem to solution faster than ever before!

Whether you’re a start-up, small business or established enterprise, the need to move fast, fail faster and adapt in today’s market is crucial. Design Sprints allow you to solve complex problems in just five (or even four) days and unlock the benefits of Agile.

Agile methodology is an iterative, incremental response to the inadequacies of traditional software development and allows companies to move faster and meet the requirements of customers. The principles of Agile and the wider application of organisational agility (there is a distinction) have swept throughout Silicon Valley as businesses continue to race from idea to market.

Although I wholeheartedly think if you’re not adopting the methodology (at least somewhere in your innovation process) something is wrong, Agile is not a “silver bullet” solution… nothing is. Testing and cooperation are integral to the customer-centric principles of Agile and validating an idea can be, well, time-consuming.

Cue Design Sprints.

Developed by Jake Knapp out of Google’s Venture division, The Design Sprint is a pressure cooker, collaborative process that can take you from idea to tested solution inside of five days. Yes, really. In fact, organisations like AJ&Smart have released a 2.0 version that streamlines the process to just four days.

By the end of the Sprint, you have a tangible, tested prototype that you built together. Think of it as a crystal ball into the future: you’re able to gain valuable customer insight without committing the time and capital of building a real product. With a little bit of experience, you can also utilise the process to develop everything from complex marketing strategies to kickstarting a new business.

So what does a Design Sprint look like?

First things first, you need somebody dedicated to driving his new way of thinking. You need a facilitator. Regardless of their involvement in the business, they are able to provide an outside perspective and guide you through the discovery process. The ideas are in there, they just need to be extracted and ordered.

Next, you need the commitment of your team for the intensive (but short) process. Dedicating time can be one of the biggest challenges for any business, big or small, but consider the potential wasted months developing the wrong product.

Day 1 // Definition

Kick off the first day by unpacking the problem space and validating the idea. These structured conversations are the foundation of the Sprint as we define your “North Star”. This unwavering definition of purpose will be a constant point of focus to ensure you’re solving the problem.

Who are your customers? What do they need and what drives this need? Begin to build out a simplified customer journey and kickstart the magic of the sprint process. Using a simple “how might we…” process you can begin to source opportunities and create the basis of your new idea. Through voting and a process of elimination you’ll decide which ideas to take to the next stage.

Ideating, utilising post-it notes

Having considered your customer segments, now is the time to start organising your 4-6 test subjects for the final day. Remember, the aim of the Sprint is to have a tested prototype so subjects are crucial to the process!

Day 2 // Sketch & Decide

Firstly, we want to make sure we’re happy with the idea we’ve chosen. Validation throughout the whole process is crucial to success so key decision makers must be in the room (or can drop in and out as the days progress.

We all see things differently. In fact, the collaborative effort and combined creativity of Design Sprints make it such a powerful tool when building new ideas. Lightning demos are a great way of inspiring creativity and gaining the most from the ideation stage. Take time to find things relevant to the idea that inspires you and share with the group.

It’s time to bring the idea to life. Utilising the process of Crazy Eights, everyone in the room will begin to turn their ideas into written (or drawn) product pieces and share them via a personal two-pager storyboard. Another round of voting begins…

Design Sprint - sketching
Design Sprint – sketching

The team reviews all the ideas and ultimately votes on which one to take to prototype. Make sure the ‘decision maker’ is in the room as unsurprisingly they have the final say. Decision made.

Now start to visualise the solution and transform the personal storyboards into blueprints on the wall. A facilitator will begin to draw out the idea, frame by frame, as everybody discusses how it should look.

Day 3 // Prototyping

With the blueprint complete, it’s time to create something tangible that can be tested with real customers. It doesn’t need to be a complete solution, just enough to take the potential customers on a journey and communicate the idea. The team can utilise pieces of paper to develop the prototype, or if possible, translate it using tools like Miro and Figma.

Figma prototype example

Day 4 // Test & Learn

Your customer was defined at the start of the process and should now be in the room with you. It’s the moment of the truth. Present your idea with the prototype and gather feedback. Was the feedback positive? If so, great! You can start developing the project utilising the agile methodology previously mentioned. Was the feedback average? Is there a way to pivot the idea and refine the solution? Hopefully so.

Running a test with potential customers

Was the feedback, let’s say, less than average? Maybe it’s time to scrap the idea and try something different. Trust me, it happens. But at least you didn’t invest months into R&D to discover it wasn’t what the customer needed!

Chris Sinclair is a Digital Experience Designer & Strategist responsible for working with start-ups and organisations to develop products and go to market strategies utilising agile & design sprint methodologies.

Connect with Chris.

Categories
Agile Digital Transformation Insights Lean Startup

Time to pump up the tyres on Agile — without a budget blow-out

by Paul Scott, Director and Board Advisor at Digital Village

Photo by Henry Perks on Unsplash

The fall out from COVID-19 has yet to be fully understood, but one thing’s for sure; enterprises will be seeking fast, efficient and flexible ways to solve their problems with digital solutions. Projects have been backing up during the lockdown and now’s the time to begin clearing the backlog. It’s likely to lead to an uptick in demand for skilled resources, but will they be able to deliver fast enough and to quality?

The announcement this week of the budget blow out at the Australian Digital Transformation Agency’s son-of-Mygov project hows just how quickly things can get out of control without a laser focus on solving one problem one at a time.

The methods used to build solutions with software haven’t changed significantly for 30 years. And even though we’ve lived in the Agile Age for almost 20 of those years, the time it takes to deliver solutions, not to mention quality and efficacy are still falling short of expectations.

Beyond Agile, examined why software development failed to meet the lofty aspirations of the Agile Manifesto founders. The book also explained how to avoid some of the classic mistakes of Agile software development.

A recent talk given by one of the creators of the Manifesto for Agile Software Development, Dave Thomas, underlines the dysfunction caused when the principles of the manifesto are misinterpreted or distorted to fit a corporate IT agenda. He half-jokingly attributes the downfall as our tendency to turn adjectives into nouns; so instead of the title Manifesto for Agile Software Development, people turn it around a truncate it to — Agile Manifesto, thus losing its meaning and purpose.

Beyond Agile explored many of the noteworthy ‘lightweight’ methodologies in use today, some of which pre-date Agile. This provided context and explained why software development often fails to meet people’s expectation. One of the founders of the Manifesto for Agile Software Development, Alistair Cockburn puts it simply:

“The Agile Manifesto was the product of seventeen people from different schools and backgrounds. No one person is responsible for the words we came up with — it is clear that it was the product of all seventeen people. The addition or removal of any one person would have changed the outcome, something we recognised and discussed at the end of that meeting.

Whether you think ‘Agile’ saved the world or poisoned it, be sure always to recognise that it grew from a rich compost (joke intentional) of backgrounds. The next time you read a would-be history of the Agile movement, look for all those names. If you don’t see them, it is not a history, it is one person’s personal recounting of their own journey, years after the event (as indeed, this one is).”

Cockburn’s statement gets to the heart of why Agile is such an enigma: few people bother to understand or respect it for what it is, choosing instead to follow second-hand interpretations of the manifesto or, worse still, a consultant’s cheap imitation of it.

Agile failed not because it was inherently wrong or misguided. The Agile Manifesto was an irrefutable thing of beauty, and its core values are spot-on. The problem with Agile is it was released into the wild and then co-opted by people unwilling and unable to really think about it or understand what it meant. Kent Beck, the creator of extreme programming and one of the original signatories to the Agile Manifesto, calls this the ‘staring dog problem.’

“If you try to point something out to a dog, it will look at your finger,” he explains. “If you explain an idea in terms of concrete practices — like test driven development, pair programming, continuous integration — people will fixate on the practices and stop thinking.”

Scrum and other lightweight spawns of Agile are failures precisely for this reason. They shroud important ideas like user-centricity and fast iteration in practices, rituals, silly names and guiding principles. The Agile manifesto itself, despite its brevity, left too much room for interpretation. And now it feels like we’re back where we started in the late twentieth century with powerful technology and tools and no idea what to do with them.

Beyond Agile describes the three reasons why the method was created :

  1. To eliminate (or at least reduce) waste in software development;
  2. To create software that people actually use; and
  3. To deliver projects on time and on budget.

An analysis of fifty thousand software projects conducted by The Standish Group found that in 2015, an average of 29% of projects were successful (meaning they were delivered on time, on budget and to a satisfactory standard). The remainder, 71% were either failures or ‘challenged’ to meet expectations. Just think about that for a moment: starting a large scale technology project you only have a 1 in 3 chance of being able to celebrate success. Not very good odds. The same report in 2018 showed the situation had got worse with only 23% of projects successful and 77% wither challenged or failed.

Other sources corroborate these worrisome facts. In a paper presented to the 7th International Conference on Knowledge Management in Organisations, Stanley and Uden proved that software projects typically overrun their budgets by two hundred per cent, and exceed their schedules by fifty per cent.

But it’s the cost of the failures that’s the real issue here. The financial impact of project failure is nothing short of tragic:

  • The cost of re-worked and abandoned systems costs the US economy an estimated $75 billion per year;
  • In Australia, $5.4 billion is wasted each year on IT projects that don’t deliver value or are abandoned completely;
  • One project alone — the infamously abandoned National Health Service patient record system in the United Kingdom — cost taxpayers £10 billion.

To put those numbers into perspective, the United Nations estimates that a yearly investment of $267 billion would end world hunger by 2030. A meagre $175 billion per year would eliminate extreme poverty globally.

It’s been a long time since the Agile Manifesto was written, and even longer since Winston Royce published Managing the Development of Large Software Systems. But nothing has changed and no single methodology has really improved software development. Software development is still a hugely expensive, wasteful endeavour that rarely meets expectations. And that’s unacceptable, especially as we approach the end of lockdowns in the COVID era.

It shouldn’t be beyond humans to come up with a better, more reliable way of developing software solutions. Just as garment makers and car manufacturers in past centuries industrialised their domains, so too software coders need to do the same. Digitisation begets automation.

Methods like Beyond Agile address some of the shortfalls of alternative methods, but it’s by no means a silver bullet. It requires skilled people, disciplined practices and full engagement with users and the problem owners. Indeed its quite likely that many of the principles distilled in Beyond Agile can and should be applied to other development methods. This would go some way to fixing Agile.

In summary, to make Agile methods work there are four areas to consider which align closely to the original manifesto:

  1. Start by defining the challenge or problem to be fixed
  2. Define the outcome in terms of a quantifiable measure
  3. Describe the 6–12 features or functions the solution must have
  4. Identify the first half a dozen users you’ll engage at the outset and throughout.

Rinse and Repeat.

Digital Village is a community of IT professionals dedicated to providing flexible IT project team solutions to enterprise in Australia and New Zealand.