Unpaid overtime has negative personal and business consequences. Although regarded as free time by many organizations, there is a true business cost to not estimating or counting overtime hours, whether paid or not. Ed Weller presents the argument that those who do not count free time in their planning and tracking will make poor decisions and often invest in the wrong projects.
Why are information systems requirements so difficult to define? What causes the yawning chasm between documented requirements and the actual implemented system? Requirements definition is difficult for two major reasons. First, the customer may have only the vaguest idea of what an information system should look like prior to implementation and use. Second, system developers lack sufficient knowledge of the business functions a system must support.
While the test organization is normally considered the "Subject Matter Expert" within a software company, it is rarely charged with leading a software development effort. In fact, with the increased popularity of Extreme Programming and specifically the concept of Test-Driven Development (TDD), many testers are working to expand their skill sets so that they can adapt to a changing test culture where they will be viewed as part of the development organization. In this article, Scott Lazenby details some of the ways testers infuse the development mentality into their project management.
In the Pragmatic Programmers' last column, they boldly stated that the two most fundamental activities in developing software are communication and learning. In this week's column, they school us in continuing our education. As software development professionals, we're always learning--not just new technology, but the problem domain, the quirks of the users/clients, even the characteristics of the evolving system itself. That's a lot of learning--from many sources.
Team player Dave Hoover wants to share a software development practice he enjoys. It emerged from the practices of extreme programming as a competitive yet simultaneously collaborative practice. Dave has found that this practice promotes the flow of knowledge between software developers better than any other practice he has experienced. As you might have guessed from the title of this week's column, this practice is called ping-pong programming, or P3 for short.
In a test and verification organization, it can be easy to fall into predictable ruts and miss finding important defects. Use the creativity of your test team, developers, users, and managers to find those hidden bugs before the software goes into production. Ted Rivera details how his organization administers, evaluates, and benefits from periodic malicious test days. Learn ways to make your days of planned chaos productive, valuable, and even fun. Give both testers and non-testers an opportunity to find inventive ways to break your products and you'll get some surprising results.
- The danger of too much predictability and the results you can expect from a malicious test day
- Create and administer your own malicious test day
- Maximize the benefits of malicious test days
When people work closely together, there's bound to be friction and irritations. Some people find it difficult to bring up these issues directly?so they hint and hope. And when the hint doesn't help, the irritation can grow out of proportion. Team members' ability to give peer-to-peer feedback?both about work and interpersonal relationships?is critical to developing a highly productive team. In this week's column, Esther Derby tells us about a team torn apart by an unattractive personal habit and offers some advice for talking about touchy interpersonal issues.
Performance testers use various methods to describe user workloads -- scenarios, operational profiles, and more. Understanding these workloads and accurately simulating them is one key to developing useful performance tests. Scott Barber introduces a User Community Modeling Language (UCML) that he has used to describe and effectively communicate user workloads. With an interactive example, he shows the usage pattern of a sample application and builds a UCML diagram and supporting information to represent usage in an intuitive, easy-to-understand way. See how you can employ the User Community Modeling Language to supplement your existing workload distributions.
- Value of representing workload distributions visually for performance testing
- How to create and use UCML diagrams to aid in data gathering in your organization
- Ways to supplement UCML diagrams for accurate representative performance test scripts
Improving your process plan is as simple as ... well, it's a secret that Payson Hall wants to share with you in this week's column. This bit of advice has helped numerous companies and everyone involved in the process. Find out how Payson, formerly part of the development community, became one of THEM and learned this great secret.
All code is not created equal. Learn from a master of the craft how to spot bad code and mold it into good. This month, Mike Clark explains how to sniff out stinky code and write comments that count.
Agile Connection is one of the growing communities of the TechWell network.
|Featuring fresh, insightful stories, TechWell.com is the place to go for what is happening in software development and delivery. Join the conversation now!|