|
|
|
|
|
BW1 |
|
Payson Hall, Catalysis Group, Inc. |
|
What clues from a project’s history and present status give us the best insight into its future? Realistically, can much be done to “fix” a project if the current signs aren’t promising? Or are most projects’ fate preordained? Payson Hall has participated in and reviewed hundreds of projects during his thirty-year career in software development. Without claiming mystical powers, Payson shares patterns of failing projects he’s observed on large and small software projects in both the public and private sectors. Then, he explores key leverage points for taking corrective actions to get things back on track quickly. You’ll discover ways to identify early “problem seeds” that can grow into larger issues over time. Take back a diagnostic framework—a systematic investigatory process—to help identify root causes of problems. Learn to read your project’s tea leaves and gain fresh insights into the steps you can take to positively influence your project’s future.
Learn more about Payson Hall
|
|
|
|
|
|
BW2 |
|
Chuck Allison, Utah Valley University |
|
Functions are the basic building blocks of computer systems. Object-oriented classes are a way of packaging functions with shared data. Inheritance and polymorphism essentially are all about finding the right function. It’s all about functions! Get the picture? Chuck Allison explains that functions come in many varieties: static functions, polymorphic functions, generic functions, nested functions, higher-order functions, generator (aka stream) functions, coroutines, function closures, delegates, etc. Functions can handle arguments in different ways: by value, by result, by reference, by sharing, and by need, to name a few. Do you know how and when to use which? Functions should also be resource-friendly and robust should something hit the proverbial fan. Are your functions error-safe? Reusable? Maintainable? Do you know—really know—how to write a function? Come join Chuck and find out.
Learn more about Chuck Allison
|
|
|
|
|
|
BW3 |
|
Cloud computing presents new opportunities for software teams to develop exciting products that scale faster and easier. At the same time, cloud computing offers new ways for developers to collaborate with and learn from their peers—both inside and outside their project team. Today though, the topic of cloud computing is shrouded with marketing hype, undefined interpretations, and a myriad of new offerings that can pose major challenges. To set the stage for successful cloud development, you must clearly understand the make-up and intricacies of the cloud computing ecosystem. Ed Laczynski provides an overview of all things “cloud” as it relates to software development and explores the opportunities to build and deploy new products and services. He describes the key platforms, infrastructure, and software offerings about which every software developer should know. Ed introduces new “meta” cloud platforms and infrastructure and highlights a variety of small though important software development enabling tools that are vital to successful cloud application development.
Learn more about Ed Laczynski
|
|
|
|
|
|
BW4 |
|
You’re thinking of creating a mobile application to take advantage of the sky-rocketing potential of mobile phones and other smart devices. Serious and critical choices must be made. Which platforms and technologies do you support? Are web-based applications the best approach? What sort of testing will you need—from whom, when, and how much will it cost? Do you want to create applications that take advantage of the mobile platforms’ capabilities such as location-aware features? Since there are at least fifteen major platforms, including several that use disparate semi-proprietary programming languages, making the right decisions early is critical. Wrong decisions will result in wasted time, effort, and money and increase the likelihood of failure. Julian Harty, who's had practical experiences developing and testing multiple mobile applications on a mix of platforms since 2006, answers these questions, and more, on developing mobile applications. The material is based on a fun e-book he contributed to: Don't Panic—Mobile Developer's Guide to the Galaxy.
Learn more about Julian Harty
|
|
|
|
|
|
BW5 |
|
Christopher Avery, Partnerworks, Inc. |
|
Are you in this situation? You share responsibility with others to get things done, and, although you are not in charge of them and they are not in charge of you, your individual performance, credibility, and perhaps even your paycheck depend on what you accomplish with them. Knowing how to get things done with others over whom you have no direct authority may be your greatest leverage for career success—and your success in developing high-value software. Christopher Avery shares his communication framework for building and leading cohesive, high-performance teams. You don’t need to be a smooth-talker or an extrovert to master this approach. The fundamental challenge is helping team members understand the differences between responsibility and accountability, and mastering the dynamics of everyone’s assuming shared responsibility for success. Being accountable for something doesn't necessarily mean sharing ownership—responsibility—when things go wrong. Teams that operate with shared responsibility have more confidence, get better results, and have more fun.
Learn more about Christopher Avery
|
|
|
|
|
|
BW6 |
|
Developers often run into the same issues on every project. As the software is created, design problems start to creep in—causing maintenance releases with no new features, project delays, and worse. While some of these problems can be resolved by simple refactoring, others can be fixed only by a complex code restructuring effort. But you can avoid most these issues in the first place with prefactoring—using your experiences in previous projects and the experiences of others to help in early detection of common design errors and problems. Ken Pugh shares guidelines such as “When You’re Abstract, Be Abstract All the Way”, “If It’s a Collection, Make It a Collection”, “Consistency is Simplicity”, “Separate Policy from Implementation”, “Write Your Code So the Customer Can Read It”, and “It’s Easier to Lump a Splitter than to Split a Lumper.” Ken demonstrates specific examples of each guideline along with stories of projects where a guideline was not followed.
Learn more about Ken Pugh
|
|
|
|
|
|
BW7 |
|
Prashant Suri, QA InfoTech |
|
Using cloud computing resources to test software can significantly expand the universe of plausible test scenarios. With the power of the cloud, we now can simulate test loads of many thousands of concurrent users across hundreds of platform combinations. So, how can we provide a secure environment for cloud-based testing over the Internet? Or must we abandon the cloud and revert to testing behind the firewall? Prashant Suri has tackled this challenge using Virtual Private Clouds (VPCs) to secure data and transactions while replicating heavy user loads in geographically dispersed locations. Prashant explains how to include cloud resources as if they were simply another component of the in-house network. He shares case studies on test architecture solutions and performance testing using VPC so you can leverage secure cloud benefits in your work. Take back a novel approach for a seamless bridge between the existing IT infrastructure—firewalls, antivirus programs, Active Directory, etc.—and the cloud to extend supervision and security capabilities.
Learn more about Prashant Suri
|
|
|
|
|
|
BW8 |
|
Paul McMahon, PEM Systems |
|
The good news is that your organization has documented its processes and you’ve achieved a CMMI® rating. However, you are hearing complaints such as, “We need to increase our agility to respond more rapidly to customer needs” or “Why do our processes require work that adds little value to the product?” So, what can you do? Contrary to popular belief, the CMMI® and lean-agile techniques are not at odds—in fact, they complement each other. Paul McMahon explains how and why, and presents a wealth of proven techniques to improve your organization’s performance with lean-agile approaches and not jeopardize your CMMI® compliance. Learn specific agile and lean techniques that have helped others address the common process problems found in many organizations. Paul shares multiple case study experiences where his techniques have helped organizations achieve their performance goals within CMMI® guidelines. Use these techniques today to start improving your own organization’s performance.
® CMMI is registered in the U.S. Patent and Trademark Office by Carnegie Mellon University
Learn more about Paul McMahon
|
|
|
|
|
|
BW9 |
|
Johanna Rothman, Rothman Consulting Group, Inc. |
|
Are you concerned that your project is in trouble? Perhaps the team has missed some deadlines. No one can show a demo. The testers are finding more defects that anyone expected. And, because you are starting to have delays, the stakeholders want more features in this release. You know that things are not hunky-dory with your project. Johanna Rothman first discusses the measurements you can take to evaluate progress—cumulative flow, fault feedback ratio, and defect trends. Next, she describes approaches she’s used to rescue projects—time-boxing, working by feature, using demos to demonstrate progress, and managing scope changes that can slow down your project. You’ll learn the options you have for getting the project back on track and keeping it there through this release and into the future. And because, ultimately, some projects can’t be saved, Johanna will help you to recognize the losers and discuss ways to gracefully cut your losses.
Learn more about Johanna Rothman
|
|
|
|
|
|
BW10 |
|
Alan Shalloway, Net Objectives |
|
The question of how much design to do up-front on a project is an engaging one. Too much design often results in overkill, complexity, and wasted work. Too little design results in insufficient system structures that require rework, additional complexity, and wasted effort. How can we know what the right balance is? Alan Shalloway shows how to use the advice from Design Patterns coupled with the attitude of not building what you don’t need from Agile. The trick is in discovering what you don’t know, how it may affect you, and then how to isolate these risks in your code in a simple manner. Alan describes the essence of emergent design – that is, starting with a simple design and letting it evolve as the requirements evolve. He also demonstrates how to refactor to better designs and how this is different from refactoring bad code.
Learn more about Alan Shalloway
|
|
|
|
|
|
BW11 |
|
Alim Sharif, Ultimate Software Group |
|
Cloud computing is changing the way we deploy, run, test, and maintain our applications. The dynamic nature of the cloud has created enthusiasm among IT professionals as organizations try to move away from their physical-based environments to take advantage of the power of the cloud. However, senior management is concerned about moving stable applications from existing environments and are demanding comprehensive performance tests and reliable results before they commit. Alim Sharif believes that, as a performance test manager or engineer, you should be able to plan, execute, and report performance, scalability, stability, and reliability to ensure that there are no surprises after moving your application to a cloud-based environment. Alim shares his learning, tips, and tricks to perform this testing in a cloud-based environment. He also shares his experience with five major cloud service providers and discusses how things did not go as smoothly as promised.
Learn more about Alim Sharif
|
|
|
|
|
|
BW12 |
|
Cassio Goldschmidt, Symantec Corporation |
|
Assaults against digital assets are unquestionably on the rise. If you create applications that handle valuable assets, your code WILL be attacked. In addition to lost revenue and productivity, the consequences of compromised systems can include loss of trust, a tarnished reputation, and legal problems. Much like quality assurance, it’s important to have a holistic approach to security that unifies people, process, and technology. Cassio Goldschmidt introduces defense techniques that measurably reduce the number and severity of software vulnerabilities. These include secure coding techniques, minimizing the use of unsafe functions, use of compiler and linker security options, and specialized static analysis tools. Enrich your development lifecycle with threat modeling, security code review, penetration testing, and vulnerability management. Join Cassio to explore real-world secure development lifecycle insights and leave with powerful new approaches to deliver the products your customers demand and deserve.
Learn more about Cassio Goldschmidt
|
|
|
|
|
|
Top of Page
|
|
|
|
|
|
|
|