Thursday, September 17, 2015

Quality Parameters and Agile Activities


Quality Parameters
Agile Activities
Correctness
Document user stories in the right format in close collaboration with the users to ensure that they reflect what the users exactly want
Conduct regular walk-throughs and inspections of requirement models, design, and code
Pay careful attention (listen) to and evaluate user feedback on any artifacts
Undertake continuous testing of the product (integrated code in software)
Conduct regular nonfunctional (operational) tests on integrated code to ensure it is correct
Ongoing demonstration of the working code to the user to gauge expectations and correct any errors of misunderstanding
Efficiency
Adhere to design coding standards (e.g., UML) for development and relevant modeling and architectural standards where relevant
Encourage task sharing (e.g., pair programming) throughout the life cycle of a product
Maintain simplicity of design (e.g., by layering)
Ensure visibility of design and development by ongoing demonstration of the product
Timeliness
Create iterations in development and follow the iterative development time frames
Create increments of development modules and develop them iteratively
Separate releases of a product from its corresponding iterations and pay individual attention to each of them
Go slow in order to go fast—as a piece of code written carefully may take more time but eventually will require less testing and rework. Thus, time is saved overall if it is spent earlier in the development
Use patterns and frameworks for simplicity and accuracy of designs that will also save time as the starting point for designs will not be from scratch. Patterns will enable designs to be based on tried and tested situations in development
Accuracy
Identify and execute tests corresponding to user stories for functional requirements and other features listed under nonfunctional requirements
Undertake verification and validation of the models, architectures, and designs with walk-throughs and inspections—and in close collaboration with all stakeholders
Make use of previous metrics if available (through, say, a Center of Excellence) in order to increase the accuracy of estimates
Usability
Apply principles and practices of usability to the interfaces and executable system
Ensure on-site customer involvement and listen to their feedback
Enable the system to transition from a novice user to an expert (through changes in its interfaces and support to cater to the growing expertise of the user)
Effectiveness
Collaborate with stakeholders to understand the real value they are looking for from the system. This is the only way to ensure the system is effective (as it may be accurate but if it does not serve the purpose of the user, it may not be effective in practice)
Focus on creating value for every feature that is being developed; eventually, focus on the value stream for a suite of processes and the system
Demonstrate every increment of the product to the user to gauge its value addition the work done by the user
Continuously test and incorporate feedback from the many stakeholders during development of the product
 

No comments: