From idea, through design and implementation all the way up to prod can sometimes be quite a path.
How is it going in your teams ? How fast can they deliver all the way through to production and keeping an impeccable quality in the end.
Do you have someone who masters the whole vision from the beginning to the end in sufficient details to be able to spot the real bottlenecks, not just the perceived ones ? Is your CI-CD pipeline really the problem ? Or is it maybe your testing strategy ? Or maybe it’s the clarity of the way the problems are presented to the teams ?
Have you taken a step back to avoid wild guessing your bottlenecks ? Have you done a really factual and critical observation of how work is done ?
Building an efficient development lifecycle cannot be obtained simply by setting up some “magical” recipe like Kanban or Scrum and following it dogmatically. You can write features and stories and put story points and assign business value, but if you do it without really knowing why you are doing it and putting real effort it to doing it right, then you are probably doing it wrong, and the recipe will likely slow you down than make you efficient.
Before you continue. Stop. Be honest with yourself. No one is watching you. Take a step back and think. Am I really doing this right ? How do I evaluate that it is working ? Did I see and measurable results of the changes I made ? Do my features lead to a lot of back and forth or are the devs really happy to pick them up and know exactly what to do ? Of course there can be some interaction. But honestly, is it systematic ? Did you push the think process a bit further and not let everything on the shoulders of the shoulder of the person picking up the feature ? Do you have a clear problem statement ? Do you describe a clear and shareable understanding of what the product looks like before and how it looks like after ? How dependent are your features on “implicit” knowledge.
If these questions raise some doubts, well we can likely help ;). Read on if you want to know what we can offer:
Feature writing coaching
We can help you write your features in a proper way so that they are easily executable by your teams. By:
- Give the proper amount of context (too much drowns the feature with overwhelming reading, too little leaves too many questions unanswered)
- Have a clear problem statement (not solution and clear to the reader, not just to you).
- Have clear and documented expectations
- Having identified edge cases that could appear and what the business constraints are on these cases
- Give meaningful business value estimates
Team Coaching
We can help your team improve their velocity by giving the clues on how to
- Understand what and why they are doing what they are doing
- Keep the focus on what really matters
- Not forgetting quality on the way
- Building the right level of complexity that is necessary for the project (by understanding that we never know what the future is made of, so too much anticipation leads to a waste of time both in the anticipation and when what was anticipated reveals to be false)
- Identify their real bottlenecks and fix them
- Automate to serve a purpose
- Consider all aspects of the whole lifecycle (over-optimizing what is already working pretty well and completely forgetting to optimize what is really broken)
QA Strategy Optimization
We can help you improve your QA strategy and reduce time to prod because of validation or process bottlenecks or back and forths because of late bug detections. We can help:
- Make sure your testing strategies (plural) are efficient (there are multiple levels of testing and it should be clear what levels should catch what type of issues)
- Who to write automated tests that help without slowing down (the more assumptions a tests have to make the more likely they will become one of the bottlenecks)
- Have a clear manual testing and reporting strategy (serendipitous manual testing and feature testing are not at all the same)
- How to properly manage bugs
CI/CD Pipeline Optimization
As with the rest, doing CI/CD is not enough. Having pipelines running in Jenkins, Gitlab or whatever, is not enough. Software providers will always try to make you think that their software will magically solve all your problem. But you don’t become a good pianist by buying the best piano. We can help:
- Clarifying the purpose of the pipelines
- Building the right reliable pipelines
- Ensuring the pipelines do improve the processes
- Properly organizing the pipelines (and processes around them)
- Automating what can be automated
- Revistinging the human processes to make parts of the automatable
Leave a Reply