Order to Chaos
Empowering the Dev Team: The Project Manager's Role in Fostering Autonomy and Ownership
When developing software, it is common for some team members to appear non-committal or less enthusiastic about the application. There are many ways to get buy-in from the team, some of which are through empowerment and ownership. Clients handle their projects differently, with some wanting to be involved in day-to-day decisions and development, while others are more interested in the results. Project managers often serve as the buffer between their team and both types of client environments. This doesn’t mean that project managers are required to do precisely as the client is doing, though.
Automated Testing: Your Secret Weapon for Sustainable Software Quality
Automated testing is often discussed during implementation, but its significance is not always fully understood. Organizations usually claim they want something automated, but when asked for specifics, they don’t always know what they need. There is more to automated testing, though.
Beyond the Bug Report: Cultivating a Culture of Quality with your Dev Team
When people discuss quality in software development, they typically refer to quality assurance testing. While testing is a significant factor in software quality, it isn’t the only thing to consider. For project or quality managers, there are a few other areas to consider for your organization. Three significant considerations are code reviews, continuous feedback loops, and knowledge sharing.
DevOps and Quality: Bridging the Gap for Continuous Delivery Excellence
Development Operations (DevOps) is an integral part of every software application team. Part of their responsibility is ensuring that environments are functioning according to specifications and that the proper code is deployed to those environments. They also monitor the environments and troubleshoot issues that arise. As a result, DevOps often collaborates closely with Quality departments. As more organizations strive for improved test automation, the integration between DevOps and Quality Assurance has become increasingly critical.
Technical Debt - Dig Your Way Out
In software development, technical debt can come in many forms. For instance, a new product was created using a prototype that was never architected after the proof of concept was created. Another example is bugs that had workarounds, but a fix has not been implemented yet. Another issue is that a series of software upgrades need to be implemented, but the team is understaffed. These are only a few examples of technical debt, but all of them create a problem that can haunt a project in the form of risk. How does a project manager dig their way out of technical debt?
Project Management Gone Bad - A Waterfall Story
Project management has been a staple of business for decades. It has undergone significant changes, particularly when it was formally adopted for Agile development. It wasn’t always that way, though. Let me take you back three decades, to a time when Waterfall was still the king of software development processes.
The Importance of Root Cause Analysis
Root Cause Analysis (RCA) is a troubleshooting technique used to identify, mitigate, and resolve issues. In the software development realm, RCAs often involve multiple people, making them a costly endeavor. Because of this, many organizations do not participate in performing an RCA, or save them for severe incidents. This isn’t necessarily a bad business practice, but RCAs are an essential part of continuous improvement for the software development team and project growth.
Agile Development Roles
There is considerable confusion about the various roles within an Agile development team these days. There are many titles available with little explanation of how they relate to Agile development. Amidst the confusion, here is a primer on the basics of Agile Development Roles.
Asking Questions: the Good, the Bad, and the Ugly
Asking questions is how we all learn and grow in our careers. It is how we gain understanding, gather necessary information, and ensure relevance and accuracy towards what we are tasked with doing. Asking questions bridges the gap between intent and ability to generate a valid and accurate response. There are times when asking questions will cause problems at work, though. Sometimes, your questions may not be welcome, and there may be several reasons for that.
Defining a Total Quality Management (TQM) Department
In a software development setting, a Total Quality Management (TQM) department is a dedicated team or function responsible for establishing, promoting, and overseeing the implementation of TQM principles and practices throughout the software development lifecycle. The primary goal of this department is to ensure that the software products and the processes used to develop them meet the highest possible standards of quality, ultimately leading to increased customer satisfaction.
Project Management Risks
Part of project management is determining what risks your team will face as they progress. Whether you are starting a new project or working on an existing one, it is a good idea to identify the risks your project will encounter as it progresses. A few key areas to look into: Complexity, Budget, Trends, and Project Comparisons.
Quality Management and Security
In software development, quality management encompasses everything from Quality Assurance (QA) to Quality Control (QC) and, ultimately, Quality Engineering (QE). All of these areas play a role in application security and compliance. Quality is often perceived as a cost for organizations, so when budgets are cut, these areas usually bear the brunt. This is a slippery slope for a company, especially if it is trying to meet specific standards required for various security compliance regulations. Reducing quality from the budget will have far-reaching consequences over time.
Team Knowledge Sharing
Many teams today have specific “go-to” people on a team. There is often a person who is the only one who has dealt with a specific feature or issue, and they are always the one that the team turns to when work needs to be done. What happens if that person is unavailable or busy with something else? Is the team sharing knowledge, or are they using the specialist’s capability as a crutch? Should someone be allowed to continue as the single point of failure?
Breaking into the Technology Field
I won’t lie; the technology industry currently faces a challenge with attracting new talent. This isn’t a new thing, though. I have known many individuals who had just graduated from college with degrees in Computer Science, Information Technology, or Information Systems, and thought it would be easy to find a job upon completing their academic studies. Sometimes it is, if you know the right people. Often, they struggle to get their careers started, though. Few will secure their dream job right out of school, and honestly, I would be concerned if that was all they had achieved in their careers anyway. For those getting started, here's a tip: try to secure a support or testing gig first.
Ethics in Technology
Ethics is the philosophical study of morality. There are many theories around morality, many of which were initially derived from traditional and religious beliefs. Governments and other ruling bodies enact laws due to disagreements regarding ethical issues. Technology is a scientific tool, designed without regard to ethics or morals. It simply exists, and those who use it will do so in accordance with their own ethical beliefs. When considering digital technology, who decides the ethics of its use, how it is utilized, and how they are enforced?
Interviewing as a Hiring Manager
Many people are currently going through the interview process. It is unfortunate, but this is the time we live in. Hiring managers often have multiple interviews at the same time, which can consume their day. Couple that with the regular day-to-day work that must be done simultaneously, and how do they provide feedback to their teams and Human Resources (HR) to determine whether someone should be hired or promoted to the next level of the hiring process?
Management Feedback - One-on-Ones
Employee feedback is essential to any organization, including what goes from management down the chain. It is vital for career growth, performance, and team cohesion. What happens if managers don’t provide feedback to those they oversee?
Core Values and Leadership
Core Values are a set of ideals and guidelines that a person or organization uses when making decisions, solving problems, and building relationships. Many organizations have aligned themselves with Core Values and advertise them to their employees and clients, but do they follow them?
Information Silos Are Bad For Business
Whatever your thoughts on using Agile, it does promote better communication. Collaboration is a central tenet for Agile, and communication is required for proper collaboration. Sadly, many organizations form information silos around their divisions and teams. This happens for many reasons, but it is a significant issue that should be addressed for any business that wants to stop wasteful development practices.
PM Tools - Are You Getting Your Money’s Worth?
There are many project management tools in the tech sector. I have worked with Jira, Azure, Asana, and TFS (to name a few). Over the years, I have noticed that organizations like to use them but don’t always use them to their full extent. Since they are paid apps, wouldn’t it be a good idea to try to get your money’s worth?