Dig right in to specialized Tutorials starting at 8 a.m. the first day of the conference. Tutorials are organized around two different themes; one on software development and a second on software projects. Both include two half-day topics providing in-depth, practical applications.
For our November 17 program schedule – click here
You’ll be treated to the words of wisdom from two popular Keynote speakers—one to start the day, and one to end the day. Check-in and coffee start at 8 a.m. and track presentations will immediately follow.
A dynamic closing keynote address will end the conference. You’ll go home with quality contacts and resources in your planner and newly learned skills you can apply on the job almost immediately.
We will also include lightening talks and a Discussion Panel on “Software Quality and the Organization”.
During the course of your busy day make time to visit the Software Excellence Conference Vendor Exhibits.
Quality Assurance and Testing
Management & Analysis
Software Development
Krischa Winright, Assoc. VP, Information Technology, Priority Health
Dorothy Graham, Software testing consultant
Beth Shaw, Test Engineer, Software Engineering Professionals™
Paul C. Jorgensen, Phd, Professor and Consultant, GVSU (Moderator)
Software quality is talked about a lot. Now, we’ll talk about it even more! Our discussion panel includes seasoned veterans who will share their experiences, setbacks, triumphs and lessons learned. Moderated by Dr. Paul Jorgensen.
Tim Dechant, W.K. Kellogg Foundation
World Microsoft Office SharePoint Server (MOSS) is one of Microsoft’s best selling server products. So what is it about this platform that makes it so popular? The Kellogg Foundation has been using SharePoint since 2001 and MOSS since March 2007. This session will focus on their experience in the ensuing two-and-a-half-years.
You’ve read the brochures and checked out the marketing information online. You may have even kicked the tires with the free Windows SharePoint Server included with Windows Server. This session provides an opportunity to learn how this platform is being used in the real world.
[top]
Lisamarie Babik, Agile Advocate & Menlo Evangelist, Menlo Innovations LLC
Traditionally project managers are long on experience, having worked their way up through the ranks of their team or organization. So can you create a successful PM from a new college grad? Our experience is yes! We brought two bright college grads on-board to lead several of our high-profile projects. Through a combination of education, determination, and team support they’ve both grown into successful,knowledgeable project managers, adept at handling both client relations and project demands. This session will explore the factors that lead to their success and the bumps along the way.
[top]
James Suchy, 8th Light™
JavaScript has earned a special, dark place in most programmer’s hearts as it is a necessary evil for making the web experience dynamic. You are test-driving your JavaScript, aren’t you? If not, why not? If the reason is that you don’t know how, or haven’t taken the time to learn the various testing frameworks, then this session is for you. We will be building a JavaScript testing framework from scratch and then using it to test-drive a browser based game.
[top]
Ross Timmerman, EPG Manager, Johnson Controls, Inc. ; and Jeff Dalton, President and CEO, Broadsword
JCI began its CMMI journey in 2005 with a brutal and misguided appraisal by an unqualified consultant. The result of that experience was to adopt Broadsword’s AgileCMMI methodology, which features the use of incremental and iterative techniques to design, develop, and deploy their processes. This presentation is an experience report of lessons learned, JCI’s execution of the AgileCMMI method, and the adoption of CMMI as a process model for engineering product development
[top]
Jake Scruggs
I’ve been on teams with way too little and (heresy) way too much testing. There have been lots of talks about how you should test more, but I’m going to dare to talk about when you should test less. Too much testing can lead to backlash, gridlock, morale problems, and poor velocity. Of course lack of testing can lead to bad design, gridlock, morale problems, and poor velocity. The level of testing a team can support depends on many factors including: team size, developer buy in, managerial approval, company size, IT support, and testing experience.
I’ll be discussing:
[top]
Keith Chappelow, Dematic Corporation™
This discussion compares model driven software development (MDD) with test driven development (TDD) based on the experiences of the class members in Grand Valley State Universities Introduction to Software Engineering course as they used one of the two methodologies for development of an application. This presentation will provide a brief overview each methodology and identify some of their advantages and limitations. Observations drawn from the class projects will be presented.Is test driven development the answer to problems that have been plaguing the software field? Is this new methodology able to hold up under years of software maintenance? Is test driven development actually an advance in the software process evolution? Or, is TDD another iteration in the continually evolving process of software development? These are some of the questions I hope to address.
[top]
Michael Eaton, Validus Solutions
How are your software estimation skills? If your answer was “dude, I’m terrible at estimation”, you’re not alone. Being able to accurately estimate software is a skill every developer should have but research and statistics show it’s a skill few actually possess. In this session, we’ll talk about why we have so much trouble with this key skill and then discuss some strategies for improving our software estimation chops.
[top]
Tracy Beeson and Jim Rodgers, Menlo Innovations
Without a meaningful definition of quality, how does the business know the project team has achieved their desired quality milestones? The Project Management Institute (PMI) distinguishes between quality and grade (PMI, 2008, p 190), and that distinction can help answer this question. People expect different experiences from “prime” cuts of beef than from “select” cuts of beef. In software development, business stakeholders should define quality differently for different grades of software, such as prototypes, production releases, and proofs of concept. This presentation will explore how one agile team dramatically improved its quality practices with a set of simple tools and a focus on the important concept of “grade.”
[top]
Andy and Tyler
Pair programming requires a certain level of social interaction that few developers are accustomed to, even with their peers. Learning to work effectively with people of different personalities and skills can sometimes seem daunting compared to the typical habit of working alone in a dark corner. We’ve seen pairing work wonderfully, we’ve seen it be an abysmal failure that involved some shouting and storming away, and we’re going to bring our best-of moments to you in comedic fashion.
Attendees will walk away with:
[top]
Victor Norman, Ph.D., Calvin College
Large software projects at high-tech companies often contain many millions of lines of code in tens of thousands of files. Hundreds of software engineers may share this code, sometimes resulting in hundreds of changes a day to the code. As each engineer must build the project in order to test his or her changes, there are often tens or hundreds of compiles happening per day. In addition, a single change to a header file can result in the recompilation of thousands of files, resulting in compilations that take hours to complete. This talk explores these real-world difficulties and the tools that can be used to help reduce compilation times significantly. The speaker will discuss an open-source, distributed, multi-user, load-balancing compilation system (DMUCS) that reduced compilation times from 8 hours to less than one hour in a real-world situation.
[top]
Eric Zimmer, Steelcase
Implementing a collaboration, content management and social networking solution within a global enterprise: what was the impetus, what were the objectives, how was it readied for the users, how were the users readied for it, and was it a success?
[top]
Nathaniel Burns, Calvin College
Similarity measures and search databases are used for a variety of purposes,from plagiarism detection in written text to comparing genetic sequences between strains of animal DNA. However, applying the same ideas to a database of music files presents significant challenges, thanks to a large range of musical file formats as well as definitions of “melodic similarity”. This presentation will follow the process of creating a musical search system, detailing the various problems encountered, technologies available, and techniques used. While searching music is undoubtedly a niche problem, the obstacles encountered, like balancing efficiency and accuracy, apply to a wide variety of design questions. The lessons learned through creating such a system are interesting not only in their own right, but also provide a unique twist on the age-old problem of information retrieval.
[top]
Zach Moazeni, Elevator Up and Downstream™
Many people have heard the buzz about a new storage document-oriented storage technology called CouchDB. While the project is becoming more popular, most people don’t understand what it is and how it differs from the current SQL-based standard. This talk will give a introduction into what document-based storage is, how to use it, and when to use it. “Couch” stands for Cluster Of Unreliable Commodity Hardware. The project has been built using the highly concurrent language Erlang and clients utilize both Javascript and HTTP to interact with the database. Doing away with tables, rows, and SQL, CouchDB has a very interesting take on how to store and retrieve data in a RESTful fashion.
[top]
C. Titus Brown, Michigan State University
The explosion of free and open source development and testing tools offers a wide choice of tools and approaches to scientific programmers. I will explore how three different open source projects (VTK/ITK; Avida; and pygr) have chosen development and testing tools and approaches, and discuss the tradeoffs of those choices. I will particularly focus on issues of software reliability and reusability juxtaposed with the mission of the software. Finally, I will discuss how we are growing the testing culture of pygr as pygr itself grows from a one-person open source project into a more widely used framework.
Attendees will be exposed to testing tools and approaches used by several successful open source projects, long with an opportunity-cost analysis of the choice of tool and timing of tool introduction.
[top]
John Van Enk, Dorner Works, Inc
This presentation will describe lightweight domain specific languages (and how they differ from domain specific languages), the cost/time savings they can help achieve, how one uses them, and why Haskell makes an excellent host language for a light weight language.
[top]
Jim Terpstra and Mike Stroud, Johnson Controls, Inc
One of the keys to developing good software is good requirements. The problem is that good requirements take time. Schedule pressures force the development team to start before the requirements are done. Traditional text based requirements are expensive to develop and most developers don’t like to review them. JCI has developed a process for creating traceable requirements from tables, flow diagrams, sequence diagrams, state charts etc and making them traceable to test cases in a third party requirements management tool. The developers, testers, analysts and project mangers like them and they even like to review them. Learn how we integrated this into our certified Level 2 CMMI process. Come learn how and when to use visual requirements and see if it can help you develop excellent software. Software that is done on time, on budget and with the features the customer wants.
[top]
Zach Dennis, Mutually Human
This talk introduces Cucumber, which can be used to drive development from the features requested by the stakeholders down to the underlying implementation—working outside-in. This style of development comes from Behavior Driven Development and has completely changed how the speaker approaches software development. Cucumber itself is a tool that lets software development teams describe how software should behave in plain text. The text is written in a high level domain specific language that makes sense to a project’s stakeholders,and serves as documentation, automated regression tests and development-aid—all rolled into one. Cucumber works with Ruby, Java, .NET, Flex or web applications written in any language. It has been translated to over 30 spoken languages.
[top]
Beth Shaw, Test Engineer, Software Engineering Professionals™
Traditional testing does not add value to a project because it is typically done after coding is completed. Integrating TDD using Agile/ Lean practices into the software development process gives testing a new role. Testing is done to identify design flaws as well as to find bugs before they cause major problems. TDD using Agile/ Lean ensures robust requirements and less refactoring thus shortening the software development life cycle. Attendees will be exposed to testing tools and approaches used by several successful open source projects, long with an opportunity-cost analysis of the choice of tool and timing of tool introduction.
[top]
Carissa Demetris and Michelle Pomorski, High-tech Anthropologists™, Menlo Innovations
Have you been a part of a project where customers, stakeholders and users all want their long wish list of features included? By learning to use personas and persona mapping, identifying goals and goal diagrams, your project team can better manage project scope up front and eliminate Feature Creep forever! Many teams are already familiar with personas, which can help to define the group of stakeholders and users that will interact with your product. In this session, you’ll learn how to take personas a step further by creating persona maps. With the persona mapping exercise, your team works together to identify one primary user. By focusing feature discussions on this primary user’s needs, your team can prevent the Feature Creep that comes from trying to meet everyone’s needs. Likewise, identifying user and business goals is fairly common to the early planning phases of a project. Sometimes these goals conflict, and most of the time there are more goals than can be met within the project’s budget and timeline. The goal diagramming exercise lets the project team have an open and hands-on debate about which goals will (and won’t!) be met within the scope of the project. Goal diagramming gives team members the opportunity to set project direction together, creating group buy-in that reduces Feature Creep debates. Trying to meet everyone’s needs often creates an impossible budget and timeline, and an utterly unusable product! By using these tools, your team can more effectively tame Feature Creep and create a more focused project plan.
[top]
Andrew Flint, Plex Systems
If you attend this talk, you will hear about how Plex Systems approached the aggressive goal of achieving recovery point objective (RPO) and recovery time objectives (RTO) of two hours. This capability – having all of the hardware, all software and operating systems loaded, and the data up and running – is one of the highest levels of disaster recovery in the industry. Come and learn about the innovative solution Plex Systems came up with: providing a redundant infrastructure with replicated data offsite, utilizing the latest in data-streaming technology, and moving database maintenance functionality to a second set of servers for half its customers. The speaker will share his knowledge of implementing this N-scale disaster recovery processes and explain how you can approach this type of development. He will also share specific case studies of customer implementations (and successes) in utilizing the benefits of the speedy disaster recovery. Finally, he will share some of the aspects of his company’s culture and processes that enabled its software developers to achieve such aggressive goals.
[top]
Patrick Bailey, Calvin College
As an IT leader, much of your day is probably filled with meetings, project plans, and progress updates. Do you realize there is a foundational piece that facilitates communication and influences the success or failure of all those activities? It is architecture. In this session, Pat Bailey describes architecture’s direct impact in many of the areas IT managers deal with the most, including scheduling, human resources and team building. Pat will define the concept of architecture at the organizational and project team level; and he will share personal experiences of leveraging that knowledge to build better teams and explain in very practical terms how architecture complements the five leadership practices described by Kouzes and Posner in The Leadership Challenge: Model the way, Inspire a shared vision, Challenge the process, Enable others to act, Encourage the heart.
[top]
Throughout the conference, the vendor exhibits will be open for business. They will be located in break/refreshment areas, and along well-traveled hallways for ideal visibility. Learn about new products and services, visit with existing and potential partners, find a new employee or a new job, or check out the competition—all under one roof.