Search This Blog

Showing posts with label Organization Skills. Show all posts
Showing posts with label Organization Skills. Show all posts

Sunday, March 31, 2013

Project Quality: Whose job is it to guarantee it?


In a series of training that I was recently providing to project managers, software testers, and business analysts, I found discussions that focused on who was responsible for software quality in projects. The project managers thought it was a QA department role.  QA passed it back to requirements form business analysts who then delegated to directions from the project managers.  With so much literature on total quality management, Six Sigma, capability maturity model, and organizational project management maturity model, it dawned on me that it is this inherent lack of ownership for quality is the reason why quality is suffering in many projects.

Basic requirements of quality are often described as adherence to requirements and fitness for use.  When you look at the key deliverable of this statement, “requirements” stems from the project requirements. In traditional projects, this requirement may come from the client, business analyst, project manager, or the product owner at a minimum. In agile projects, this could be coming from the product owner or client, scrum master or coach, and the team at a minimum. The “fitness for use” stems from timely release of the futures to ensure that the client can benefit from the release.

But does this definition unambiguously tell whose responsibility quality is? The Chartered Quality Institute comes to rescue as it defines quality management as a company’s approach to “…understanding precisely what customers need and consistently delivering accurate solutions within budget, on time, and with minimum loss to society.” (“What is Quality”, n.d., para 1) This definition emphasizes quality within the project constraints budget and time limiting the focus to the scope of the project’s requirements but also to the needs of the society relating to the fitness for use. A project manager is not developing the code or involving in the execution of tests. But quality is the fourth constraint that is compromised as the other project constraints are modified. Therefore, the project manager is accountable for the quality. This is why Quality Audits are associated with the project manager (or product owner).

It reminds me of the famous parable on the virtue of citizenship from the “Adventures from the Book of Virtues.” Many subjects in the kingdom complained about many things in the kingdom and not taking true ownership for improvement. The king hid a pot of gold beneath a big boulder and waited to see who took leadership for removing the rock enhancing safety and quality experience for the others that passed by.  Quality is the same thing as the citizenship requirement. It is everyone’s job. The more structured approaches the organization uses in testing accuracy through automation, test case development, and test execution, the more the project manager becomes attuned to following through on quality, the more the team members will become focused on providing quality by design rather than expecting it to be accidentally evolving.

References

What is Quality? (n.d.) The Chartered Quality Institute.  Retrieved March 28, 2013, from http://www.thecqi.org/The-CQI/What-is-quality/

Wednesday, February 13, 2013

Agile – Is it a Panacea or a Placebo?

It is true that the fundamental twelve principles of Agile Manifesto (n.d.) have helped many projects succeed in organizations. These results are evident in the increasing 61% of agile practitioners promoting the adoption of Agile in organizations, as noted by the 7th annual state of agile development survey conducted by Version One. But, several agile purists focus on some of the buzzwords, such as the Test Automation, making it as though Agile is the cure-all for all business problems.

Those in the technical world may understand the famous statement, “Not all business problems are nails to use the same hammer as the tool,” when common object request broker architecture (CORBA) was initiated to introduce by Object Management Group (OMG) the communication between software components regardless of the underlying language used to develop them. However, it is interesting that some agile practitioners are inclining towards test automation as a cure-all (panacea) treating all test cases alike.

Testing requires two basic requirements namely verification and validation. Verification is the process of evaluating test cases, test scripts, requirements or user stories to ensure that the process of testing is going to ensure that the required functionality is present to meet the user requirements. The focus of verification is on the process and is therefore an improvement process oriented towards assuring quality (QA). But validating is the ongoing approach to testing the software with the goal of identifying defects. These defects could be traced to the faulty code, inaccurate design, incomplete or ambiguous requirements, misinterpretation of the requirements, or a combination of these factors. Validating therefore aims at controlling quality (QC).

So, test automation can help in the validation to ensure that every incremental build is tested for the new features but also for the previous features. It is therefore not a placebo but is not a panacea for all business problems. Depending upon the unique business requirements, some requiring can’t be easily automated even if technology can allow it. For instance, testing the human interfacing with the interactive voice response (IVR) at various points in the call flow to check for the disposition code, checking for the line breaks in the email, or the accidental mix up of Far Eastern Asian Language characters because languages such as the Chinese, Japanese, and Korean share a common base do benefit from manual testing.

It is therefore important to evaluate what is the business need in test automation and identify areas that can lead to efficiency gain. Redman and Nielsen (2013) very nicely paraphrased Deming suggesting to carefully select the right process to automate explaining “… automating a process that produces junk just allows you to produce more junk faster". Deming might have inferred this long before the agile was conceived but some golden principles do stand the test of time.

References
Principles behind the Agile Manifesto (n.d.). Retrieved February 13, 2013, from https://agilemanifesto.org/principles.html
Redman, T.C., & Nielsen, D. (2013). Computerization in Health Care Demands High Data Standards. Harvard Business Review. Retrieved February 28, 2013, from http://blogs.hbr.org/cs/2013/02/computerization_in_health_care.html

Tuesday, January 29, 2013

Project Managers as Change Agents

Recently, when I was training on the agile project management framework with Scrum, one of the learners questioned why retrospectives are necessary after every sprint. In another isolated meeting, an underlying process challenge was identified by the Project Manager, but a lessons-learned session was never conducted. The project manager reasoned that the project is not completed to do a post-mortem. These observations underpin an important role of the project manager in waterfall or agile driven project to be a change agent.

Organizing the project is not just about conducting meetings, maintaining a project plan, or communicating status updates. A Project Manager must under the larger holistic need of the purpose of the project – a vehicle for the organization to deliver a unique product or service. Whether such initiatives or research oriented, internal, or client facing, the project manager’s role is a supporting activity as Porter’s value chain approaches indicate. If there is a process change identified from one implementation of the project, then, such issues need to be escalated to address the gap so that another project benefits. The Project Management Book of Knowledge (PMBOK) captures this essence emphasizing that the project management activities should be aligned with top-level business direction, and if there is a change, then project objectives need to be realigned. (2008)

To accomplish this need to maintain the alignment, the lessons learned must be as frequently conducted and reported. For instance, think of a module in a program that is having an issue. If the issue is in the core library and is identified, fixing the issue helps all the modules that will leverage this common module. Similarly, if one project identifies a process gap, then, conducting lessons learned to communicate the need and identify an action plan to address the issue will help the other projects. In this process, each project adds incremental value beyond the benefit of one project alone.  A project manager is not just a ring master routing tasks but is more like the performers on the swinging trapeze constantly and gracefully extending arms to support the other performers. 

References
Project Management institute (2008) A Guide to the Project Management Book of Knowledge (PMBOK). 4th Edition, Project Management Institute, Newtown Square.