Becoming Lean and Agile

Capabilities - Product Ownership

Our range of capabilities allow us to deliver complex solutions that help our clients achieve their business goals effectively, efficiently, and - not least - rapidly. Whether our clients are seeking to develop an entirely new online business or address new target groups from an existing application, we can provide the expertise and understanding to deliver the right solution.

Feature Delivery

Is what you are delivering inline with biz goals?

Do you ever get the that unsettling feeling that delivering working software isn't really what we are meant to do?
Do you ever wonder if all your effort might end up becoming that 67% of software that the Chaos report says is rarely or never used?
Do you ever worry that although you have a nice automated acceptance testing process, your tests are not comprehensive or may be testing the same thing over and over again.
Do you ever feel the desire to use some old fashion domain modeling but you are worried you will get stuck in analysis paralysis.
Do you ever wonder whether the "last responsible moment" was a few days or weeks earlier than you all thought it was?

User Stories

Stories seem like a simple enough idea. But the notion of a Story can mean different things to different people. For some it is the common "As a... I want... so that..." template, for some it is an index card on a board, for others it is merely a "promise to hold a conversation". Product Owners are ultimately responsible for a team's Stories, but not all Product Owners write all the stories, and many POs are challenged by issues such as:

  • How much should I write down, and where should I write it?
  • Should a Story be a requirement, a solution or both?
  • What about technical stories, and what about bugs?
  • What is the difference between acceptance criteria and acceptance tests?

Story Maps

Story mapping is a method that aligns user stories along desirable outcomes, so that customers can give sooner meaningful feedback, and release to production can happen earlier. The method helps slicing and prioritizing user stories, and addresses the product design aspect that is missing when just working with a product backlog. The method is highly visual and facilitates shared product ownership among product owner, team and customer.

Impact Maps

Impact Mapping is a strategic planning technique that prevents organisations from getting lost while building products and delivering projects, by clearly communicating assumptions, helping teams align their activities with overall business objectives and make better roadmap decisions.
Impact mapping can help you build products and deliver projects that make an impact, not just ship software. The half-day workshop is aimed at product owners, business analysts, developers and testers working primarily in an agile or lean environment.

  • how to ensure that you're building the right product
  • how to align the activities of delivery teams and the organisation around them
  • how to make an impact with software products and projects
  • how to communicate overall goals and vision to delivery teams

DevOps

It can be difficult in taking these first steps alone, your team needs to be commited to Development Opperatons as well as lean engineerin Once Leveraging DevOps and Microservice Architecture you can deliver Solutions more frequently and consistently. of the process. You emphasizes customer satisfaction through frequent delivery of working code from a delivery pipeline.

Automation
  • A golden rule in Dev Ops is if you do something more than 3 times then automate it. Why, because humans make mistakes, and these tiny mistakes have a ripple effect. Automation can seem an expense, but it soon pays for itself. Common, mundane tasks become repeatable and measureable.The code that does this is placed under source control and versioned, and kept in-sync with other parts of the system. Automation syncronises infrastructure with source code. In the .net world tyhis would be Powershell and in Python's Chef or Puppet are but two.
  • Provisioning
    This involves planning the (cloud/VM) resources that will be required, manually creating the resources, documenting the initial configurations, and creating the automation scripts that will be used to create the (cloud/VM) environment on demand.
  • Build and Test
    Building software and automated testing has been around for some time now. Continuous Integration is the practice of using software tools to merge code updates, compile and integrate software assets, and run automated unit tests, derived from your Test Driven Developments
  • Deploy
    Deployment automates the packaging of the software assets and data, deploying them to a staging environment for acceptance testing, and then automating the move from staging to production.
    Release Management then brings the Automated Deployments into an Approval Workflows, that Retain Full Traceability applying your security policies, deploying to on-premises or Cloud.
  • Manage
    Management is the automation of the (cloud/VM) resource configuration, providing control over (dynamically changing your virtual data center or virtual infrastructure ) scale up, scale down, spin up, spin down, sizing, monitoring, and lifetime. Using Service Fabric to monitor and maintain high availablity of micro services framework.
  • Measure
    Whilst everything else is normmaly put into Management, on some systems you need to measure your success, this would be done with Google Analytics (outside looking in) Application Insights (inside looking out) then joining both data sets to see if you have met your objectices.