development lifecycles

Conference Presentations

Lessons Learned from Forty-five Years of Software Measurement
Slideshow

Counting is easy. However, what makes measurement really valuable-and really hard to get right-is knowing what to count and what to do with the results. If your organization is mostly tracking resource usage, costs, and schedule data, it is making a big mistake. What about the users? The customers? The overall business strategy? Sharing the lessons he has learned from fighting-and surviving-many software measurement battles, Ed Weller offers a step-by-step approach for implementing a practical and valuable metrics program. After understanding what measures are most important to the business strategy and all stakeholders, the next step is to decide what data supports those measures and how to capture it. With data in hand, you can create simple and informative ways to make the resulting metrics visible and easy to digest. The biggest challenges-avoidance, disbelief, and rationalization-come next.

Edward Weller, Integrated Productivity Solutions, LLC
Massive Continuous Integration and Light-speed Iterations
Slideshow

Continuous integration (CI) has become a buzzword, with most engineering organizations claiming they've adopted the practice. However, the sad truth is that unreliable tests, long feedback loops, and poor configuration management block their efforts and minimize CI's potential benefits. Jesse Dowdle shares how AtTask radically redesigned its engineering pipeline and, through massive CI scaling, drove three days of testing to just minutes. Learn the pros and cons of different CI systems and how to integrate them with the cloud. Watch a live demo of AtTask's internal test and CI systems, which they’ve designed to make "Every commit a potential release candidate"-meaning that every commit is an iteration. Arm yourself with the talking points to sell massive CI to executives.

Jesse Dowdle, AtTask, Inc.
Creating Great User Experiences: Tips and Techniques
Slideshow

Many software people look at creating great user experiences as a black art, something to guess at and hope for the best. It doesn't have to be that way! Jennifer Fraser explores the key ingredients for great user experience (UX) designs and shares the techniques she employs early-and often-during development. Find out how Jennifer fosters communications with users and devs, and works pro-actively to ensure true collaboration among UX designers and the rest of the team. Whether your team employs a formal agile methodology or not, Jennifer asserts that you need an iterative and incremental approach for creating great UX experiences. She shares her toolkit of communication techniques-blue-sky brainstorming sessions, structured conversation, and more-to use with different personality types and describes which types may approach decisions objectively versus empathetically.

Jennifer Fraser, Macadamian
Red Beads: A New Tool for Managing Software Projects
Slideshow

Warning! Warning! Managing software projects may be accompanied by continued bouts of nausea-brought on by unmet expectations, process churn, late deliveries, and worse. In their attempt to conquer these problems, many managers stiffen their resolve, create stricter schedules, and install rigid processes to guide development from inception to production. Howard Deiner demonstrates that better results come from fundamental changes in the way managers and the organization approach problems. Drawing on W. Edward Deming’s "14 Obligations of Management," Howard reprises (with volunteers from the audience) Deming's famous Red Bead Experiment on its 30th anniversary and draws conclusions about how our approach to problem-solving affects our day-to-day work. Expect to get up on your feet and have a lot of fun "working" in a simulation of a modern workday environment, leading and managing the development efforts.

Howard Deiner, Deinersoft, Inc.
Back to the Basics: Principles for Constructing Quality Software
Slideshow

Using an analogy to the building codes followed by architects and contractors in the construction of buildings, Rick Spiewak explores the fundamental principles for developing and delivering high quality, mission-critical systems. Just as buildings are constructed using different materials and techniques, we use a variety of languages, methodologies, and tools to develop software. Although there is no formal "building code" for software, software projects should consider-and judiciously apply-the recognized "best" practices of static analysis, automated unit testing, code re-use, and peer reviews. Rick takes you on a deep dive into each of these techniques where you'll learn about their advantages, disadvantages, costs, challenges, and more.

Rick Spiewak, The MITRE Corporation
Group Interaction Patterns: The Keys for Highly Productive Teams
Slideshow

Development teams often fail to recognize the complex group interactions and multi-person relationships that are critical to build and maintain a highly productive team. Instead, they adopt follow-the-crowd practices such as stand up meetings or Kanban boards without understanding the underlying fundamentals. Michael Wolf introduces group interaction patterns of highly productive development teams to provide a framework for understanding group interactions and a vocabulary for discussing ways to improve. Michael demonstrates a simple tool-based on nine keystone patterns-that you can use to observe and understand your team members' interactions. He shares case studies that illustrate successes, failures, and turnarounds he's observed and explores how they relate to the different group interaction patterns.

Michael Wolf, Self
Reduce Release Cycle Time: Nine Months to a Week - Nice!
Slideshow

Picture this scene from three years ago: Employing the corporately mandated processes, a software engineering team is delivering system updates about once every nine months. When their senior user suddenly demands the next delivery in twenty-two weeks-half the current cycle duration-the team realize that they must quickly change development practices. Mathew Bissett describes how Her Majesty's Government did precisely that-and much, much more. First, they reduced delivery cycles from unpredictable dates every nine months to predictable releases every six weeks. Then, they cut releases cycle time to once every week. By identifying and mitigating risks early in the work intake process, enforcing quality gates, executing multiple test levels concurrently-and more-they dramatically increased throughput with the same or better quality. Today, these new processes provide their teams the best balance of structure versus agility.

Mathew Bissett, UK Government
Using Business Objectives to Design Better Products
Slideshow

When software products are late to launch, a practical solution is to drop features from a release while still delivering a product your customers will love. If part of your process is to tie business objectives to product features, you'll have at hand the information needed to decide how to proceed-as well as a guide to prioritize development efforts throughout the project. Joy Beatty explains how to elicit measurable business objectives from stakeholders. She demonstrates how to write statements that describe how a feature contributes to business objectives and ways to assign a business value to each feature. Armed with this data, stakeholders can compare features quantitatively, taking emotion out of scoping decisions. As a reminder of the techniques discussed, Joy shares a Business Objectives Model quick reference for you to take home and use in your requirements elicitation sessions.

Joy Beatty, Blue Ocean Services at Seilevel, Inc.
Agile Development Conference & Better Software Conference East 2012: Seven Deadly Habits of Dysfunctional Software Managers
Slideshow

As if releasing a quality software project on time were not difficult enough, poor management dealing with planning, people, and process issues can be deadly to a project. Presenting a series of anti-pattern case studies, Ken Whitaker describes the most common deadly habits-and ways to avoid them. These seven killer habits are mishandling employee incentives; making key decisions by consensus; ignoring proven processes; delegating absolute control to a project manager; taking too long to negotiate a project's scope; releasing an "almost tested" product to market; and hiring someone who is not quite qualified-but liked by everyone. Whether you are an experienced manager struggling with some of these issues or a new software manager, you'll take away invaluable tips and techniques correcting these habits-or better yet, avoiding them altogether.

Ken Whitaker, Leading Software Maniacs
Form Follows Function: The Architecture of a Congruent Organization
Slideshow

One principle architects employ when designing buildings is "form follows function." That is, the layout of a building should be based upon its intended function. In software, the same principle helps us create an integrated design that focuses on fulfilling the intent of the system. Ken Pugh explores congruency-the state in which all actions work toward a common goal. For example, as Ken sees it, if you form and promote integrated teams of developers, testers, and business analysts, then personnel evaluations should be focused on team results rather than on each individual’s performance. If you embrace the principle of delivering business value as quickly as possible, the entire organization should focus on that goal and not the more typical 100% resource utilization objective. If you choose to have agile teams, then they should be co-located for easy communication, rather than scattered across buildings or the world.

Ken Pugh, Net Objectives

Pages

CMCrossroads is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.