When it comes to testing, there are so many areas that it's difficult to feel sure you covered everything. It can be helpful to use a mnemonic or other memory aid to remind you of your main points to hit. Terry Wiegmann recommends adding the acronym NEBS—for Normal, Error, Boundary, and Special test conditions—to your toolkit.
Decades before web apps or smartphones existed, the concept of the separation of logic, presentation, and data layers in software made a lot of sense. That vision evolved into what we now call model-driven development, where rules, workflows, and dependencies are built once, as models in a centralized repository. It's the same basic idea, and it's just as useful, if not more so.
Even with pages of documentation, there still can be miscommunication and misguided assumptions about a product. A prototype serves as the vision for the product and helps everyone, from a salesperson to an engineer, understand what they are trying to achieve. This article looks at some of the benefits of prototyping early in the development process.
Is the best way to interact with your team in person, with your teammates right next to you? Not necessarily. By working online with remote programmers and testers, people tend to approach problems from some unique perspectives. Read on to learn how imagining an ocean between you and your teammates can actually improve your communication and process.
Most software developers are in either the agile or the waterfall camp. Agile is required to be competitive, but many enterprise processes still rely on waterfall practices for stability. They can coexist.
Thomas Wessel presents how T-shaped and pi-shaped teams based on each member's span of knowledge, ability to collaborate, and depth of expertise play an important part in how effectively your team performs.
We've all been burned working with software code that, if not designed for long-term maintainability, results in expensive support over a product's lifetime. Kaushal explores three approaches that provide guidelines to ensure that software is designed with maintainability in mind. If you're a software developer, read this!
A look at the HTML source code behind Web sites can often reveal security issues that would never be uncovered by those blissfully ignorant of the code. This bug report will examine two common methods of maintaining state and passing data in Web-based systems–hidden form fields and the HTTP GET method–and demonstrate some of the associated security risks through an examination of HTML code.
In this interview, LogiGear's Hans Buwalda explains how better test design can lead to improved test automation and can make the difference between automation success and failure. He details why successful automated testing is a test design challenge, not a technical challenge.
In this interview, Andy Hunt, a consultant, author, and publisher, explains why agile development is in a rut. He also covers why agile is so often abandoned, the issues with doing agile "by the books," and his GROWS Method.
In this interview, Michael Harris, the president and CEO of David Consulting Group, explains his five-step Value Visualization Framework. He discusses how he came up with the idea, how it can help your team right now, and its similarities to the agile methodology.
In this interview, software developer Laurent Bossavit talks about why we need to think more critically about software development. He dispels common misconceptions about the industry and suggests better ways to improve the development process, such as agile and lean methods.
The transition from waterfall-based software development to an agile, iterative model carries with it well-known challenges and problems-entrenched cultures, skill gaps, and organizational change management. For a large, globally distributed software development organization, an entirely different set of practical challenges comes with scaling agile practices. Last year the Dell Enterprise Solutions Group applied agile practices to more than forty projects ranging from a collocated single team project to projects that consisted of fifteen Scrum teams located across the US and India. Geoff Meyer and Brian Plunkett explain how Dell mined these real-life projects for their empirical value and adapted their agile practices into a flexible planning model that addresses the project complexities of staffing, scale, interdependency, and waterfall intersection.
Geoffrey Meyer, Dell Inc. l Enterprise Product Group
Each time a new feature is added to a product, developers need to consider the security risk implications, find ways to securely implement the function, and develop tests to confirm that the risk is gone or significantly lowered. Laurie Williams shares a Wideband Delphi practice called Protection Poker she's employed as a collaborative, interactive, and informal agile structure for "misuse case" development and threat modeling. Laurie shares the case study results of a software development team at RedHat that used Protection Poker to identify security risks, find ways to mitigate those risks, and increase security knowledge throughout the team. In this session, Laurie leads an interactive Protection Poker exercise in which you and other participants analyze the security risk of sample new features and learn to collaboratively think like an attacker.