Technical Excellence Programme

What is Technical Excellence Programme?

  • A ~ 6-month hands-on training program that gives teams the ability to deliver on the technical side of an agile transition. Its a customable programme to help establish those technical practices needed in a team to meet the challenges of delivering valuable releasable increments iteratively.
  • Includes a 3 week on-site hands-on training and coaching period to provide a solid foundation in the new practices and principles
  • After onsite, a 6 month remote-coaching period enables the team to take charge of their continous learning while still having trainers support
  • Includes additional 1 week on-site follow-up, half way through the 6 months to recap on topics or to explore more advanced topics

Core Topics

  • Test Driven Development
  • Agile Testing 
  • Refactoring
  • Clean Code
  • Working with legacy code
  • The team can also choose from a list of optional topics, based on their current needs

Optional topics: Behaviour Driven Development, Integration Testing, Design Patterns, Introduction to Selenium, Domain Driven Development, Transformation Priority Premise Order, Testing quadrants, Test (automation) pyramid, Test strategies

Why?

  • Agile transformations & adoptions tend to focus on process & collaboration. This only help teams to visualise their problems faster.
    • Team’s coordination (Scrum Master training)
    • Requirements management (Product Owner training)
  • This will not enable continuous sustainable agility to deliver business value.
  • We tend to look for answers in technology and tools yet skip over the fact that the greatest impact on delivering quality software lies with people and professionalism backed with a reasonable level of experience.
  • With the right focus on training and education, the right attitude and culture can flourish.
  • To achieve success people attitude, culture, training, education, and management buy-in and support are essential criteria for quality delivery and stakeholder satisfaction.

Craftsmanship is the Agile, that the Agile movement left behind.” – Martin Fowler


Why is Quality and Technical Excellence important?

“You have probably been slowed down by messy code. The degree of slowdown can be significant. Over the span of a year or two, teams that were moving very fast at the beginning of a project can find themselves moving at a snail’s space.”Robert C Martin

The Total Cost of owning a mess

At an early stage of product development productivity of development is pretty high. It seems that you can add features very quickly. But over time things slow down.

One part of this effect is simply the time that is needed to analyze bugs, fix them, and bring the fix back into production. It is not uncommon to hear that development teams spend up to 50% of their time with this kind of work, and the effort can be measured as ‘bug fix effort’ or ‘maintenance’ (not counting functional enhancements in legacy code).

Another part of this effect is hidden: Because of the complexity of the code, it becomes harder and harder to make enhancements without ensuring that you didn’t break something. In this way ‘new feature development’ slows down and the slow-down effect can be just as bad, even though it is hidden in ‘development time’. It can become quite dangerous if your competition is much faster that you in this dimension.

In the worst case, a code base can become so unmanageable that it is basically not maintainable anymore and must be rewritten. This is a total loss and has led to very high costs and even software companies going bankrupt.

All this may sound familiar to experienced software developers or managers. Is there a way to avoid this trap and reverse the effects?

Our focus is to help teams understand the total cost of owning a mess and how to establish an continuous substainable pace through the following key attributes:-

  • Maintainability
  • Readability
  • Testability
  • Extendability
  • Removal of Technical Debt

Example of a 1st Week Onsite Schedule

MondayTuesdayWednesdayThursdayFriday
AMIntroduction to Software Craft
– Agile software development
– Principles of Software crafting
Test Driven Development
– Introduction to TDD
– Programming exercise
CI/CD
– Principles
– Branching
– Application
Teams choice of further workshops*Preparation of week 2 topics & learning
– Open Q&A
– Creation of learning backlog
PMScrum/AgileClean Code
– Principles and tools
– Programming exercise
Agile Testing
– Principles
– Agile Testing quadrant
– Test pyramid
– Test Strategies
– Test and Scrum
Working With Legacy Code
– Tempoary tests
– First test as part of refactoring
– Programming exercise
– Product Backlog Refinement
– Week’s Retrospective
Example of Week 1 on the Technical Excellence Programme

Our Goal is more than just adding practices!

Although a major part of the programme is to help establish complementary pratices needed by the team to succeed, our goal is through the learning of these practices it helps them towards establishing an technical exellence mindset too –

  • Will “Do it Right”
  • Take responsibility
  • Passionate about Code Quality
  • Understand the true cost of ownership
  • Sustainable pace
  • Boy scout rule
  • Continuous learner
  • Practice deliberately

Prerequisites

  • The Scrum Team, and associate stakeholders, have the fundamental understanding of Professional Scrum and the Scrum Values . In other words, how Scrum is a light framework to help deal with complexity and risk through empiricism! Therefore, is beneficial for attendees to have experience of Professional Scrum in action or been on a Scrum.org Applying Professional Scrum (APS) training, or equivalent. 
  • Developers have the fundamental experince, or training (e.g. Scrum.org Applying Professional Scrum for Software Development (APS-SD), of working as a Scrum team to deliver a software product and exposed to the challenges of delivering iteratively a potentially releasable increment.
    • Understanding how modern agile engineering practices and Devops can improve a team’s capability to deliver working software.
    • Know the different aspects of a Scrum Team and how to work together as a team to get work done
    • Openness, Focus, and Commitment in the team to challenge their own status quo and learn new things 
  • Need buy-in and commitment by Product Owner and all stakeholders
  • Product Owners understanding of the 4 Key Value Areas in Evidence Based Management to help shine a light on an organization’s capabilities and product delivery practices. In particlaur “Time to Market” (T2M) and “Ability to Innovate” (A2I) to help make informed and evidence-based decisions for continuous improvement & learning in this period.
  • Proposal when to start the ~6 month boot camp.
    • The first 3 weeks will be focus on objective learning, therefore likely reduce to no business delivery will be delivered by teams in this period.
    • Trainers and coaches need to be fully available for the first 3 weeks with a trainer/coach needed per (scrum) team

Our next steps together, if you’re interested in the programme

  • Understand the team situation, current setup, and practices
    • What is the team/s current maturity in delivering value to customers?
    • What is the current Team culture and appetite?
    • How often are we delivering an item to production for customer feedback?
    • Do they know they delivery pipeline, bottlenecks, and lead/cycle times?
  • Establish an Improvement feedback loop
    • Capture the metrics needed to establish a feedback loop to help teams be
      transparent on improvements making to deliver value early yet at sustainable pace
      to stakeholders. e.g.
      • Lead and Cycle Times
      • Rework & Waste
      • Product Quality
      • Risk & Value delivered – e.g. No of deployments
      • Job/Team Satisfaction
      • Customer Satisfaction

If you are interested or like to see how we can help then either contact us or email us at info@bagile.co.uk

Let's stay connected

Simply fill in the form below and be the first to find out our latest news, offers and advice.

  • This field is for validation purposes and should be left unchanged.

By completing this form you are agreeing to our privacy policy