How to improve quality of the project?
Good morning QA professionals,
I have probably not a unique situation but need an advise as I have tried many things already.
My business team trust our development which is a very good thing. Hence, our development team is in charge of design of new features and of course its development. This cause too much of going back and forth with a business trying to solve issues after it was developed. We are not on time with our project and of course people are ready to blame on QA.
Can someone please advise or share techniques that can improve Quality or how can I involve business and project manager into the initiation phase of the project to create mockups/diagrams so we can deliver a quality product on timely manner?
Thank you in advance.
There's really too many ways to list them all.
Whether or not you're a waterfall or agile shop, I want you to take a look at a typical process. Software Development Life Cycle (SDLC). Waterfall Model - XB Software I know this is a waterfall model, trust me, Agile is exactly the same, just smaller projects called stories or tasks.
I'll just share 1 thought in each area:
- Requirements - There are been whole books like Requirement Driven Design, etc.. written on this. My main take away is, make sure key information is communicated with their context while skipping lots of preamble. For example, I use to work in a company that sells cars, there was a strange business rule where we couldn't apply a certain discount at a certain state. Years later, when we were testing it, when I took over the project, I read the requirements and I read about how the customer loves X discounts, presented in Y ways, and all the cool little details of the UI, and how much it was better than the old UI, but failed to point out a key law. Imagine how much stuff got broken scrambling to fix this during a release deadline. My experience is Requirements tend to communicate the vision, but generally fails to communicate key details.
- Design - Design workshops allows all parties to have higher understanding of the business perspective. Have more meetings. Developers and QA tend to want to real work vs talk about things. Software frameworks are so powerful, the old paradigm of number of lines of code equals number of features is no longer applicable. Slowing down to get the design right and making sure all developers are on the same page saves lots of rework and problems. Odd fact, most bugs filed are usually related to a previous bug fix. Reason? Developers tend to throw out design workshop and design reviews when fixing bugs.
- Development - Promoting better understanding during development, helps quality. Coding although described as a "science" is really more like an art like architecture. You get the rules of physics, but how the building looks and comes together is entirely different, there is not correct way.
- Testing - (I'll leave that up to you)
- Maintenance - Have stronger customer relations. How many times have things been filed and got recategorized as "as designed". For all those cases not originally reported by QA, how many of them are coming straight from the customers? Now, how many of them are also related to bugs later on filed by the customers? Very few companies collect this metric, and don't realize there are tons of bugs already there and are reproducing without addressing the core issue.
The basics of a project development process contain five steps:
Discussing with the customer
Testing and coding
You have module the project into steps and assign time for each module.