Any advice for creating productive software development workflows that allow for creativity and flexibility without compromising strict standards?
Sort By:
Oldest
CTPO in Software20 days ago
While Gaurav's previous answer rightly emphasises the importance of a robust "definition of done" and strict quality processes, three are some additional perspectives to consider since the definition of "strict standards" greatly influences how we approach this challenge. Are we dealing with regulatory requirements, internal tooling standards, architectural limitations, or something else?One effective approach is to implement a continuous product discovery process, as advocated by Teresa Torres in her book "Continuous Discovery Habits." Torres emphasises the importance of ongoing, collaborative discovery work that involves cross-functional product teams engaging directly with customers on a weekly basis. This approach helps teams consistently uncover customer needs, pain points, and opportunities for innovation.
Key aspects of continuous discovery include:
- Regular customer interviews to understand evolving needs
- Rapid prototyping and experimentation to test ideas quickly
- Collaborative decision-making involving product managers, designers, and engineers
- Focusing on outcomes rather than outputs
- Using tools like opportunity solution trees to visualise and prioritise work
By integrating these practices, teams can maintain creativity and flexibility in their problem-solving approach while still working within necessary constraints. This method allows for constant innovation in product conceptualisation, while the delivery phase can more strictly adhere to technical and quality standards.
Effective Platform Engineering can further support this balance. By providing a well-designed support structure and abstraction layer, we can create an environment where product development teams can focus on creatively solving customer problems while still operating within necessary constraints.
However, it's crucial to prevent processes from becoming overly dominant. As Jeff Bezos wisely cautions:
"As companies get larger and more complex, there's a tendency to manage to proxies... A common example is process as proxy. Good process serves you so you can serve customers. But if you're not watchful, the process can become the thing... The process is not the thing. It's always worth asking, do we own the process or does the process own us?"
In essence, the goal should be to establish workflows that provide necessary guardrails without stifling innovation. Regular evaluation of processes to ensure they're serving their intended purpose – and not becoming an end in themselves – is key to maintaining this balance between creativity and standards.
Then you can build a productive software workflow using that strict process, keeping in mind that the steps followed need to be repetitive and consistent across all teams. There should be no exceptions; every team must follow this process to ensure quality and security in the development workflow.