Understanding the factors that influence software quality is crucial to the continuing maturation of the software industry. An improved understanding of software quality drivers will help software engineers and managers make more informed decisions in controlling and improving the software process. Data from the Personal Software Processprovides insight into interpersonal differences between competent professionals as increasingly disciplined processes are adopted. Program size, (empirically measured) programmer ability, and disciplined processes significantly affect software quality. Factors frequently used as surrogates for programmer ability, e.g., years of experience, and technology, e.g., programming language, do not significantly impact software quality, although they may affect other important software attributes such as productivity. An understanding of these factors may help managers implement practices that support high-quality software.
As the IT community is adopting and adapting to Agile practices, this article asks if we are doing enough to educate and inform our customers? It provides the author's views on some of the processes or engagements that customers need to adapt to in the world of Agile.
One of the core aspects of Scrum is self-organizing teams that deliver software in small iterations called sprints. For those that try to move from traditional development models to Agile, one of the major challenges is forming self-organizing teams. The sprint teams are truly cross-functional teams that choose the best way to do their work without being directed by others from outside. How does such a team differ from the project teams in the traditional models? Are there any design principles or theoretical frameworks that can help us go about forming such teams?
Having trouble with your clients and their difficulty in specifying their requirements? JOIN THE CLUB! In this article, we discuss various tricks and techniques for getting a better handle on your client's expectations.
When managers look to hire more people for their teams, they’re implicitly considering the culture of the team (and the organization). Cultural issues include the kinds of work people perform together and separately, how people treat each other, what is acceptable to discuss, and what is rewarded. Each of these issues affects the culture of the team, and who is acceptable as an additional person on the team.
Interpreting what someone else really wants can be one of the most difficult elements of software development – at times it can be like talking to your teenager. That includes both the customer and the contractor. We must each walk in the other’s shoes to see it from the other’s vantage point. Requirements interpretation must be a two-way street with collaboration and communication the keys to success.