Practical Tips to Speed up the Software Delivery Performance

Hey Guys, I just completed the book “Accelerate”. This book will give you enough ideas to improve software delivery performance and how to measure software delivery performance using statistical methods. I would like to share industry proven and practical tips which helps you speed up the Software Delivery Performance.

Accelerate classified the capabilities into 4 categories:

  1. Technology & Automation
  2. Product and Process
  3. Lean Management and Monitoring
  4. Cultural

Technology & Automation capabilities:

  1. Use version control for all production artifacts
  2. Automate the deployment process
  3. Implement continuous integration
  4. Use trunk-based development methods
  5. Implement test automation (tests are run automatically throughout the development)
  6. Support test data management
  7. Shift Left on Security
  8. Implement continuous delivery (CD)
  9. Use a loosely coupled architecture
  10. Architecting for empowered teams

Product and Process Capabilities:

  1. Gather and implement customer feedback
  2. Make the flow of work visible through the value stream
  3. Work in small batches
  4. Foster and enable team experimentation

Lean Management and Monitoring Capabilities:

  1. Have a lightweight change approval processes
  2. Monitor across application and infrastructure to inform business decisions
  3. Check system health proactively
  4. Improve processes and manage work with work-in-process (WIP) limits
  5. Visualize work to monitor quality and communicate throughout the team

Cultural Capabilities:

  1. Support a generative culture (Performance Oriented)
  2. Climate for learning
  3. Collaboration among teams
  4. Provide resources and tools that make work meaningful
  5. Support transformational leadership

In next couple of articles, we will go over these capabilities one by one.

~Happy testing

Who are Test Architects? What are their Roles/Responsibilities?

Who are Test Architects?

A Test Architect is a highly skilled testing professional with years of experience and extensive knowledge in the field. They work at a senior level and have the responsibility of designing efficient solutions to address testing problems that present business-related challenges.

The responsibilities of a Test Architect are largely dependent on the organization they work for. In most cases, they design and configure test solutions in accordance to requirements. They also work closely with stakeholders to continuously improve their test processes and tools.

Test Architect is essentially a deep technical specialist focusing on design, implementation, use, and enablement of the testing function as well as the overall development function so they don’t do test management.

The responsibilities of a test architect may include:

  • Supporting the Test Manager with their strategic goals for the Test Team by providing technical support.
  • To assist in the design and delivery of the team’s overall testing methodology, have a wide understanding of testing methodologies, procedures, and techniques.
  • Have the capacity to monitor the testing function’s efficiency and make adjustments based on insights acquired through analysis at all stages of the SDLC/STLC.
  • Determine which tools and technologies can be deployed, keeping in mind what is already in use throughout the development function and the team’s skill set.
  • Develop the test automation framework, harnesses, and code libraries so that the team can utilize and improve them across many projects.
    Take charge of test infrastructure, including environments and software, and collaborate with teams like DevOps and Support on CI/CD and IT budgets.
  • To test and other business functions, provide technical know-how, documentation, and training.
    Keep up with new process, practice, and technology advances so that they may be adopted in-house and used to improve the testing solutions.

Top 15 reasons – Why Software Projects Fail?


Top 15 Reasons – Why Software Projects Fail?

Why Software Project Fails

Why Software Project Fails

  • Poor Communication
  • Lack of Collaboration
  • Lack of Leadership
  • Lack of Executive Support
  • Choosing the wrong Tech Stack
  • Technology Incompetence
  • Lack of Non-functional requirements
  • Lack of getting faster feedback
  • Failure to address feedback
  • Lack of requirements
  • Solving the wrong problem
  • No feasibility analysis
  • Lack of planning – Planning the project backwards from a deadline.
  • Move Testing towards the end – or even skip the testing
  • No Retrospectives or not working on retrospective action items.