|
Software as a Service: What You Need to Know Many familiar products, including email, instant messaging, search, and e-commerce sites, are actually implemented as services rather than PC-installed software. The shift to services now extends to everything from office productivity tools to utilities like storage, authentication, manageability, and application hosting. Engineers who want to build highly available services with a positive user experience face unique design, testing, and operational challenges. Ibrahim El Far and Venkat Narayanan discuss aspects of configurability, including the ability to turn off features quickly or redirect traffic that minimizes the impact of defects on the user experience. They discuss the importance of fault testing and explain why testing a service must happen everywhere from the workstation to the live site. Learn best practices in operations, including automated deployment, monitoring services, and service repairs.
|
Ibrahim El Far, Microsoft Corporation
|
|
How Others See You: Seeking Personal Feedback Has this ever happened to you? You've just finished an important presentation. As you return to your seat, a colleague leans over and whispers, "You've got spinach in your teeth." Even if you haven't had this experience, you've probably lived through something similar in which you're the last to know something that is obvious to everyone else. Unfortunately, we never exactly see ourselves as others see us. Gaining insight into how we affect others and how they view us provides us with new awareness and greater choices about how we act. Johanna Rothman shares a feedback model that focuses on describing behavior and the impact of behavior-not evaluation and blame. She discusses different ways for you to seek information that helps you improve your personal effectiveness. When someone gives feedback that, at first, feels like an attack, learn to ask questions that will elicit useful information.
|
Esther Derby, Esther Derby Associates Inc
|
|
A Solid Foundation for Quality Improvement Many managers look to formal techniques-requirements reviews, code inspection, and testing-to improve the quality of their software. While these techniques are valuable, they only evaluate the state of quality rather than improve it. The key is to create quality software in the first place. This can only be achieved by a change in management style. Jason Bryant proposes a set of simple and effective principles you can employ to produce high quality software. First, you must foster a culture where people are given the freedom, time, and resources to do the job correctly the first time. By embracing user centered and incremental development practices, you will go a long way toward ensuring accurate and timely software delivery. Focus on training your staff to become masters of their craft and invest equally in architecture, new features, and maintenance.
|
Jason Bryant, Schlumberger Information Solutions
|
|
Successful Teams are TDD Teams Test-Driven Development (TDD) is the practice of writing a test before writing code that implements the tested behavior, thus finding defects earlier. Rob Myers explains the two basic types of TDD: the original unit-level approach used mostly by developers, and the agile-inspired Acceptance-Test Driven Development (ATDD) which involves the entire team. Rob has experienced various difficulties in adopting TDD: developers who don't spend a few extra moments to look for and clean up a new bit of code duplication; inexperienced coaches who confuse the developer-style TDD with the team ATDD; and waffling over the use of TDD, which limits its effectiveness. The resistance (overt or subtle) to these practices that can help developers' succeed is deeply rooted in our brains and our cultures.
|
Rob Myers, Agile Institute
|
|
Successful Software Management: Seventeen Lessons Learned Wouldn't it be nice to know what your staff is doing without looking like a micromanager? Have you wondered how to treat people fairly while still giving them what they need? Would you like to spend a week out of the office, but you're worried your staff won't be able to manage while you're gone? Johanna Rothman explores questions that face software managers every day. Gain new insights through the mistakes she made and the lessons she learned after she became a manager and then a consultant after years of hard-core technical work. Johanna describes seventeen technical management tips and tricks she has learned through trial and error, including the dangers of extended overtime, the value of one-on-one meetings, ways to build trust, and many others. Learn about a manager's job, how to create an effective work environment, and how you can help people do their best work.
|
Johanna Rothman, Rothman Consulting Group, Inc.
|
|
Introducing Change, Avoiding Dysfunction Change can be painful, but staying stagnant can hurt even more. As a manager, how do you decide what should change and how do you know if your organization is ready? When managers seek to improve by introducing new practices such as agile, CMMI, or others, what roadblocks can cause their organizations and teams to reject change-or even worse, to spiral into dysfunction? Michael Mah presents examples of managers who have successfully overcome problems introducing change, plus a few examples of managers who weren't so fortunate. Learn how systems theory plays a role in software development and why complex communication and expert thinking are the penultimate challenges facing many software managers. Discover how accurate and reliable metrics are necessary to reveal patterns that will help you find the right path through an improvement program.
|
Michael Mah, QSM Associates, Inc.
|
|
Ten Practices of High-Performance Teams With all the hype about agile, lean, CMMI®, and every other method du jour, we sometimes forget that our real goal is high performance. High-performance software teams consistently deliver products that delight their customers, all while remaining on schedule, keeping with agreed-to functionality, and maintaining high quality. These teams are proud of what they produce and are continuously improving the way they work. Over the past decade, Noopur Davis has worked with many high-performance teams in both large and small organizations. She has discovered that high-performance teams share a number of key practices, regardless of the process they use. Noopur shares these effective practices, including self-direction, openness and transparency, simplicity of work practices, focused use of data, an uncompromising commitment to quality, and others.
|
Noopur Davis, Davis Systems
|
|
Virtual Retrospectives for Distributed Software Teams Project retrospectives are challenging enough when the software development team and stakeholders are together in one location. What happens when the team members are spread across multiple locations, time zones, and continents? John Terzakis describes the key challenges of retrospectives for geographically dispersed software teams and provides solutions he has used to address each challenge. Beginning with a brief overview of the retrospective process, John introduces the concept of a “virtual retrospective” and offers techniques and tips for successfully facilitating them. He identifies cultural, geographical, and site-based issues and risks that can imperil virtual retrospectives and demonstrates collaboration tools to overcome distance barriers. Find out how to conduct retrospective exercises, including a valuable project timeline exercise, when participants are not co-located.
|
John Terzakis, Intel Corporation
|
|
Testing in Turbulent Projects Turbulent weather such as tornados is characterized by chaotic, random, and often surprising and powerful pattern changes. Similarly, turbulent software projects are characterized by chaotic, seemingly random project changes that happen unexpectedly and with force. Dealing with turbulence is about dealing with change. Testing teams must contend with continuously changing project requirements, design, team members, business goals, technologies, and organizational structures. Test managers and leaders should not just react to change; instead, they need to learn how to read the warning signs of coming change and seek to discover the source of impending changes. Rob Sabourin shares his experiences organizing projects for testing in highly turbulent situations. Learn how to identify context drivers and establish active context listeners in your organization.
|
Robert Sabourin, AmiBug.com Inc
|
|
Better Software Conference & EXPO 2009: When to Step Up, When to Step Back Leaders can stifle progress when they unnecessarily interfere with team processes. However, as a leader, you don't want your project to go over the cliff and fail miserably or deliver the wrong results either. There are times when leaders should stand back and let the team work things out for themselves-and other times when leaders should step up and really lead. How do you know which is which? Pollyanna Pixton focuses on collaboration as the key and teaches you how and when to step back and unleash the hidden talent in your organization and teams. Learn how to create an open environment that fosters innovation and creativity and how to let your team members take ownership and hold themselves accountable. Equally important, develop the techniques to step up and lead to keep the project on track without impeding the flow of ideas.
|
Pollyanna Pixton, Accelinnova
|