Conference Presentations

Designing Agility that Lasts

Every day more agile practices and styles emerge, overlap, and complete. This proliferation challenges you to choose from among XP, Scrum, Lean, Kanban or the ways of the Lean Start Up crowd. Instead of stumbling onto one path or another, come to this session where David Hussman teaches tools for assessing and designing an agile process or set of practices which speaks to your needs and constraints. David covers selecting product planning tools like user stories, iterative delivery tools like kanban boards, tracking tools like burn up and more. If you want to clear the fog surrounding what will really help you, stop in and ask your questions. You will find answers.

David Hussman, DevJam
Testing in the Cloud: Is it Right For You?

Finally, software testing in the cloud is not just for dreamers anymore! Join Andrew Pollner to explore why and how cloud-based testing is emerging as a viable alternative to replace or complement traditional testing platforms. Implemented properly, cloud testing offers many advantages: shifts the burden of installing, configuring, maintaining, and updating testing tools to a vendor; reduces or eliminates the need to build and maintain servers to support testing functions; expands the reach of testing across geographical locations; offers potentially limitless capacity; and more. However, with all these benefits come new challenges: determining the appropriate cloud test environment, test data security, connectivity to the environment, and others.

Andrew Pollner, ALP International Corp
Leaping into "The Cloud": Rewards, Risks, and Mitigations

The cloud has rapidly gone from "that thing I should know something about" to the "centerpiece of our corporate IT five-year strategy." However, cloud computing is still in its infancy. Sure, the marketing materials presented by cloud providers tout huge cost savings and service level improvements-but they gloss over the many risks such as data loss, security leaks, gaps in availability, and application migration costs. Ken Johnston and Seth Eliot share new research on the successful migrations of corporate IT and web-based companies to the cloud. Ken and Seth lay out the risks to consider and explore the rewards the cloud has to offer when companies employ sound architecture and design approaches. Discover the foibles of poor architecture and design, and how to mitigate these challenges through a novel Test Oriented Architecture (TOA) approach.

Ken Johnston, Microsoft Corporation
Eight Limitations of Mobile Platforms

Soon mobile devices will be able to do most everything, right? Although it's fun to talk about how much mobile devices can or will do soon, limitations and constraints remain now and will for a long time. With the lower-tier market offering scaled-down devices, even the latest generation mobile devices have hardware, network, and operating system constraints. These limitations will seriously affect the architecture, design, and testing decisions for your mobile development projects. Jacob Stevens offers a primer on the unique dynamics and constraints of these lucrative platforms. Learn about the implications of mobile platform constraints that impact development and, ultimately, your customers' experience. Discover potential failure points hidden in hardware specifications and explore the trade-offs necessary for mobile success.

Jacob Stevens, Quardev, Inc.
Bare Minimum Internationalization of Software

Internationalization isn’t only about dealing with other nationalities and languages. It’s about creating software for a multicultural world. Even if the software you’re testing won’t be translated entirely into another language, it still should meet some basic requirements for international visitors.

Rick Scott's picture Rick Scott
12 Essential Skills for Software Architects book cover Dave Hendricksen's 12 Essential Skills for Software Architects

In this TechWell interview, Dave Hendricksen, author of 12 Essential Skills for Software Architects, discusses his new book that covers the soft skills that technical people should learn.

Joey McAllister's picture Joey McAllister
Avoiding Over and Under Design

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.

Alan Shalloway, Net Objectives
Prefactoring: Extreme Abstraction, Extreme Separation, and Extreme Readability

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, Net Objectives
Coding for Keeps: How to Write a Function

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.

Chuck Allison, Utah Valley University
Deliver Applications that Meet Business Needs

A common mistake made when building applications to meet business needs is not properly defining business requirements from the get-go. Poorly defined requirements compromise the quality of applications and lead to projects that deliver marginal value or fail outright.

Filip Szymanski's picture Filip Szymanski

Pages

StickyMinds is a TechWell community.

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