Automation Consultants’ view across the operations of many organisations gives it a rare view of different approaches to common issues, and which of them works well or less well.
Best Practice in Choosing and Configuring Software Development Toolchains
For many organisations, software development, especially web and mobile development, has moved from the back office to the front office. Software has become part of their products and services, or how those services are marketed and delivered, and not just a tool to make operations more efficient.
As organisations grow their software development teams to meet this challenge, many questions arise about which tools to use.
- Should you stick with your existing tools or move to a new toolset?
- Should you get the best of breed in each category of tool, or seek easier integration by using the complete toolset from a single vendor?
- What if different teams use and like different toolsets? Should you standardise?
- How much automation should be introduced?
Automation Consultants has in-depth knowledge of a wide range of tools across the development cycle, and can give impartial advice on them. Although we have partnerships with Atlassian, IBM, Micro Focus (former HP) and others, we always seek to be impartial.
Best Practice in Agile Development
For many organisations, optimising their Agile development is essential to bringing their products and services on time to market, and that is essential to their business strategy and their survival.
In setting up agile teams, may questions arise.
- Which tools should be used? A physical whiteboard? (Bear in mind the Agile Manifesto discourages too much emphasis on tools and encourages face-to-face conversation).
- Which methods? Scrum, Kanban, XP, BDD?
- How should agile be scaled? What is the best size of a team and how should different teams communicate with each other?
- How long should the iterations (in Scrum, sprints) be?
- How should the business be structured so as to enable product owners to be empowered to make quick decisions, so that development keeps moving, while still retaining an authoritative view of what the business needs?
Automation Consultants has considerable experience in helping customers set up and optimise their agile development. Automation Consultants provides training in agile methods, and in managing projects using specific tools such as Jira Software and IBM RTC.
Best Practice in Quality Assurance
Quality assurance is indispensable both in software developments and in major change IT projects such as large-scale migrations and upgrades.
In software development, Quality Assurance has become agile. Testing takes place at the same time as development. The code of an iterations is normally tested within the timeframe of the iteration. Testers are embedded in the development teams and test the code almost as soon as it is developed. Tests on previous iterations are automated and re-run with every build, being triggered by the CI/CD tool (e.g. Jenkins and Bamboo).
Automation Consultants helps customers organise the testing within their agile teams so as to obtain the highest possible software quality without slowing time to market. Our services include advice on team structure, advice on tools and procedures, and help with test automation and combining it with continuous integration. A well structured agile test team is optimised to implement the well known principle that the earlier a bug is discovered, the quicker and cheaper it is to fix.
In major change, quality assurance is a balance between risk and cost. Complex, mission-critical systems must be tested exhaustively. Simpler, less important systems should still be tested, but have a lesser call on the available time and money. A key skill is in working out the scope of testing.
- What will change as a result of the project, and what will stay the same?
- Have every system’s interfaces and infrastructure been mapped out?
Automation Consultants can advise on how to optimise testing for every kind of major change project. We advise on how the tests should be managed, tracked and reported; how to determine the amount of testing required for each system; and whether and where to incorporate user acceptance testing into the process.