Skip to main content

Architecture - Design

Tutorials

MA An Introduction to SAFe: The Scaled Agile Framework
Al Shalloway, Net Objectives
Mon, 06/08/2015 - 8:30am

The Scaled Agile Framework (SAFe) is quickly being adopted by many large organizations that have had some success with agile at the team level but have not been able to scale up to large projects. Al Shalloway describes what SAFe is, discusses when and how to implement it, and provides a few extensions to SAFe. Al begins with a high-level, executive’s guide to SAFe that you can share with your organization’s leaders. He then covers the aspects of implementing SAFe: identifying the sequence of features to work, establishing release trains, the SAFe release planning event, SAFe’s variant of Scrum, and when to use the SAFe process. Al concludes with extensions to SAFe including creating effective teams—even when it doesn’t look possible—and implementing shared services and DevOps in SAFe using kanban. Get an introduction to SAFe, discover whether it would be useful to your organization, and identify the steps you should take to be SAFe.

Read more
MB Explore Big Data with Graph Databases: A Hands-On Practicum NEW
Andy Palmer, RiverGlide
Mon, 06/08/2015 - 8:30am

SQL and MapReduce databases are great—when your data is well-partitioned and the same queries are run regularly. What happens when we don't know what we will want to know in the future? Graph databases are used in everything from Facebook to business intelligence apps. With nodes, edges, and properties to represent and store data, graph databases give us the opportunity to define the landscape as we learn more about our data. Using graph databases we can start at a location and ask for a description of where we are. This allows us to discover pathways and interesting data points that we might not otherwise have been aware of. Andy Palmer explains how you can discover the data landscape and bend it to your will with exploratory reports. Starting with the fundamentals of graph databases—using Neo4J as the tool—your skills with graph databases will increase through the day until you are able to explore and discover new gems of information for yourself.


Bring your laptop and try a big data tool.

Read more
MI Software Design for Testability
Peter Zimmerer, Siemens AG
Mon, 06/08/2015 - 8:30am

Testability is the degree to which a system can be effectively and efficiently tested. This key software attribute indicates whether testing (and subsequent maintenance) will be easy and cheap—or difficult and expensive. In the worst case, a lack of testability means that some system components cannot be tested at all. Testability is not free; it must be explicitly designed into the system through adequate design for testability. Peter Zimmerer describes influencing factors (controllability, visibility, operability, stability, simplicity) and constraints (conflicting nonfunctional requirements, legacy code), and shares his experiences implementing and testing highly-testable software. Peter offers practical guidance on two key actions: (1) designing well-defined control and observation points in the architecture, and (2) specifying testability needs for test automation early. He shares creative and innovative approaches to overcome failures caused by deficiencies in testability. Peter presents a new and comprehensive strategy for testability design that you can implement to gain the benefits in a cost-efficient manner.

Read more
TL Mobile App Usability and UX for Developers and Testers NEW
Philip Lew, XBOSoft
Tue, 06/09/2015 - 1:00pm

Today, many organizations are migrating to mobile while new organizations are adopting a mobile-first or mobile-only strategy. Because of the special characteristics of the mobile platform and its user base, usability and the user experience (UX) take on an increased emphasis. With SaaS-based business models, where users can pay by the month and switch applications in a heartbeat, user experience becomes paramount. Currently, there are no formal models describing UX. Philip Lew explains the definitions of usability and user experience, describes the connections between them, and explores evaluation methods you can use as the first step toward improving user experience on the mobile platform. Philip uses examples to illustrate the good, the bad, and the ugly of mobile UX to build a deeper understanding of how to improve your own app’s UX. Discover key principles for design and evaluation of usability. Develop a methodology for continuous improvement of your users’ experience.

Read more
TM Innovation Thinking: Evolve and Expand Your Capabilities SOLD OUT
Jennifer Bonine, tap|QA, Inc.
Tue, 06/09/2015 - 1:00pm

Innovation is a word frequently tossed around in organizations today. The standard cliché is “Do more with less.” People and teams want to be innovative but often struggle with how to define, prioritize, implement, and track their innovation efforts. Jennifer Bonine shares the Innovation Types model to give you new tools to evolve and expand your innovation capabilities. Find out if your innovation ideas and efforts match your team and company goals. Learn how to classify your innovation and improvement efforts as core (to the business) or context (essential but non-revenue generating). With this data, you can better decide how much of your effort should be spent on core versus context activities. Take away new tools for classifying innovation and mapping your activities and your team’s priorities to their importance and value. With Jennifer’s guidance you’ll evolve and expand your innovation capabilities on the spot.

Read more
TN Testing the Data Warehouse: Big Data, Big Problems NEW
Geoff Horne, NZTester Magazine
Tue, 06/09/2015 - 1:00pm

Data warehouses have become a popular mechanism for collecting, organizing, and making information readily available for strategic decision making. The ability to review historical trends and monitor near real-time operational data has become a key competitive advantage for many organizations. Yet the methods for assuring the quality of these valuable assets are quite different from those of transactional systems. Ensuring that the appropriate testing is performed is a major challenge for many enterprises. Geoff Horne has led a number of data warehouse testing projects in both the telecommunications and ERP sectors. Join Geoff as he shares his approaches and experiences, focusing on the key “uniques” of data warehouse testing including methods for assuring data completeness, monitoring data transformations, and measuring quality. He explores the opportunities for test automation as part of the data warehouse process, describing how you can harness automation to streamline and minimize overhead.

Read more
TQ Design Patterns Explained—from Analysis through Implementation
Ken Pugh, Net Objectives
Tue, 06/09/2015 - 1:00pm

Ken Pugh takes you beyond thinking of design patterns as “solutions to a problem in a context.” Patterns are really about handling variations in your problem domain while keeping code from becoming complex and difficult to maintain as the system evolves. Ken begins by describing the classic use of patterns. He shows how design patterns implement good coding practices and then explains key design patterns including Strategy, Bridge, Adapter, Façade, and Abstract Factory. In small group exercises, learn how to use patterns to create robust architectures that can readily adapt as new requirements arise. Lessons from these patterns are used to illustrate how to do domain analysis based on abstracting out commonalities in a problem domain and identifying particular variations that must be implemented. Leave with a working understanding of what design patterns are and a better way to build models of your application domains.

Read more

Concurrent Sessions

BW3 This Is Not Your Father’s Career: Advice for the Modern Information Worker
James Whittaker, Microsoft
Wed, 06/10/2015 - 11:30am

In an era where college drop-outs run successful companies and creative entrepreneurs out-earn corporate vice presidents, working smart is clearly the new working hard. James Whittaker turns on their head the career rules that guided past generations and provides a new career manual for working smarter that speaks to the need for creativity, innovation, and insight. James teaches a set of skills designed for the modern era of working for companies—big or small. Learn how to avoid a one-sided relationship with your employer and ensure your passion is working for—and not against—you. Discover how to manage your technical skills and professional relationships for maximum effect. James introduces common career hazards and how to identify and avoid them. Think more creatively and examine how to adopt specific career management strategies designed to supercharge your success. The modern age requires more modern ways to succeed. James has them for you.

Read more
BW7 What’s In a Name? The Metaphorical Power in Our Ideas
Andy Palmer, RiverGlide
Wed, 06/10/2015 - 1:30pm

Why is naming things so difficult? Look in any reasonably sized code base, and you’ll see—in abundance!— crimes against naming. The Spring framework has a class AbstractSingletonProxyFactoryBean—and there are many worse examples. We in the computer industry tend to name things by what they do, rather than why they do it, and thus rob ourselves of the opportunity to tell an interesting and intriguing story. Andy Palmer says it hasn’t always been this way. In the early days of computing, names were rich with metaphor. Names, that today are synonymous with the concepts, were once compelling and novel stories. Terms such as Desktop, File, and Folder all had analogues in the physical world, and this helped people come to grips with the new concepts. Andy gives some examples of metaphors from the early days of computing, discusses some more modern examples, gives reasons why we might choose to program in this way, and suggests some ways in which we can improve our ability to tell a story through our code.

Read more
BW9 Innovation for Existing Software Product: An R&D Approach
Aaron Barrett, Infusionsoft
Wed, 06/10/2015 - 2:45pm

In the world of software, innovating an existing product often makes the difference between continued success and rapid irrelevance and failure. Although innovation can come from many different sources, it can be difficult to develop breakthrough innovations while simultaneously trying to maintain an existing piece of software. Aaron Barrett says that a stand-alone R&D team, freed from the constraints of production software, is a great answer to this dilemma. Join Aaron as he shares some simple guidelines to facilitate the process of integrating R&D efforts into an existing software product while avoiding R&D that does not lead to production-ready systems. Learn how and when to get company buy-in, actively engage your developers, and develop with your go-to-market strategy in mind to reap the innovation benefits of a dedicated R&D team.

Read more
BW11 Conflict: To Know It Is to Love It
Doc List, Doc List Enterprises
Wed, 06/10/2015 - 2:45pm

We all talk about conflict. We all experience it. But do we really understand what causes it and how we deal with it? Do we have any idea what to do about it? Much research and study has been done, but that doesn't help when you're in the middle of conflict. You don't have time to pull out the reference book or go to a website. You need simple, clear understanding. Learn the categories of conflict and how to recognize them, which means having an understanding of what generates them. Learn the different strategies of dealing with conflict, recognize your own preferred strategies, and understand where you may choose to change your strategy. Discover specific tools you can use in any situation to comfortably and confidently deal with conflict. Doc List introduces some ideas to enhance your learning after you leave the session, so you can continue to expand your love affair with conflict.

Read more
BW13 Get the Most from Your Cross Functional Team: The Project Manager’s View
Julie Gardiner, Hitachi Consulting
Wed, 06/10/2015 - 4:15pm

Jerry Weinberg once said, “No matter how it looks at first, it's always a people problem.” In the past, the challenges for any team leader, regardless of specialty, were the same when it came down to people issues. Now, with the popularity of agile and its cross-functional teams, we have another factor to consider in addition to the people―their different specialties. How can our leadership help us achieve great results and a happy agile team? Join Julie Gardiner as she presents a communication-style model that can be used to help motivate every member of the team and minimize personality/specialty clashes. Julie shows you how to apply this model to other assessments—such as Myers-Briggs, Belbin, and DISC—and shares experiences using the model. If you're a newly appointed team lead, ScrumMaster, or you just want to get the most out of your team (cross-functional or dedicated specialists), then this session is for you.

Read more
BT1 Creating a Culture of Trust
Pollyanna Pixton, Accelinnova
Thu, 06/11/2015 - 10:00am

In our personal and business lives, many of us know leaders who foster environments of incredible creativity, innovation, and ideas—while other leaders fail. So, how do the top leaders get it right? Going beyond the basics, Pollyanna Pixton explores with you the ways that the best leaders create “safety nets” that allow people to discover and try new possibilities, help people fail early, and correct faster. Removing fear and engendering trust make the team and organization more creative and productive as they spend less energy protecting themselves and the status quo. Pollyanna shares the tools you, as a leader, need to develop open environments based on trust—the first step in collaboration across the enterprise. Learn to step forward and do the right thing without breaking trust. Find out what to do to foster trust through team measurements, protect team boundaries, build team confidence without taking away their ownership, create transparency, and what to do when there is broken trust in the team.

Read more
BT2 Emergent Design: History, Concepts, and Principles
Rob Myers, Agile Institute
Thu, 06/11/2015 - 10:00am

Software design is about change. A good design facilitates adding features—and adding new developers to the team. Yet any change to the code impacts design and can damage existing functionality. Without design idioms and practices, the code can degrade into a maintenance nightmare. Your team must know which decisions to make early in design and which to defer. Rob Myers reviews “families” of design attributes and practices, showing the common principles within each. Exploring emergent design by tracing how the concept itself has evolved and matured over time, Rob covers traditional attributes of good object-oriented code (cohesion, encapsulation, polymorphism, coupling); design patterns and the wisdom discovered within; and S.O.L.I.D. principles—all culminating in emergent design, where simple (not easy) practices meet the simplest of guidelines, such as Kent Beck’s “Four Rules of Simple Design.” And the result is code that is easy to understand and delightful to work on.

Read more
BT3 Cloud-Based, Automated Mobile App Testing for the Enterprise
Joe Schulz, Orasi Software
Thu, 06/11/2015 - 10:00am

Mobile applications are now a required component of enterprise operations, with both consumers and workers relying on mobile technologies for communications and productivity. To ensure a functional, secure, and worthwhile mobile experience, enterprises must stay abreast of growing complexity in mobile devices, applications, and platforms while remaining responsive to unforgiving user expectations for speed and service. To meet this challenge, many firms are turning to cloud-based automated testing, which reduces the complexity and cost of manual, on-premise testing and offers extraordinary flexibility to accommodate a variety of scenarios. Joe Schulz outlines the reasons why cloud-based application testing is beneficial, discusses the role it plays in supporting testing automation, and explores the best practices for adopting this solution. Get a practical grounding in cloud-based automated mobile testing. Learn how this approach helps companies speed time to market, optimize security and performance, increase user satisfaction, and contain costs.

Read more
BT5 The Art of People: Facilitation, Leadership, and Team Dynamics
Robert Woods, MATRIX Resources
Thu, 06/11/2015 - 11:30am

Some of the greatest products come from great teams with exceptional leaders who know how to servant-lead, create influence (rather than exacting authority), and precisely when to get out of the way. Teams are asked to be self-empowered, change on the fly, and think for themselves. And then they’re inevitably told exactly how they have to do all of those things—or else. Poor leadership can make or break not only a great team but a great product and a great organization. As part of this highly interactive session, Robert Woods highlights leadership and facilitation skills such as focused observation, communication styles, conflict avoidance (as opposed to conflict resolution), influence over authority, and active listening. Robert explains that the impact we make on individuals is often much more about what we don't do rather than what we do. It’s called The Art of People―and it’s one we can all master.

Read more
BT6 Avoid Over Design and Under Design
Al Shalloway, Net Objectives
Thu, 06/11/2015 - 11:30am

The question of how much design to do up-front on a project is an engaging conundrum. Too much design often results in excess complexity and wasted effort. Too little design results in a poor architecture or insufficient system structures which require expensive rework and hurt more in the long run. How can we know the right balance of upfront design work and emerging design approaches? Al Shalloway shows how to use design patterns—coupled with agile’s attitude of don’t build what you don’t need—to guide your design efforts. The trick is to identify potential design alternatives, analyze how each may affect the system in the future, and then find the simplest approach for isolating those potential effects. Al describes the essence of emergent design—start with a simple design and let it evolve as the requirements evolve—and demonstrates how to refactor to achieve better designs, which really is quite different from refactoring bad code.

Read more
BT7 Privacy and Data Security: Minimizing Reputational and Legal Risks
Tatiana Melnik, Melnik Legal, PLCC
Thu, 06/11/2015 - 11:30am

Privacy and data security are hot topics among United States federal and state regulators—as well as plaintiffs’ lawyers. Companies experiencing data breaches have been fined millions of dollars, paid out millions in settlements, and spent just as much on breach remediation efforts. In the past several years, data breaches have occurred in the hospitality, software, retail, and healthcare industries. Join Tatiana Melnik to see how stakeholders can minimize data breach risks, and privacy and security concerns by integrating the Privacy by Design model into the software development lifecycle. To understand how to minimize risks, stakeholders must understand the regulatory compliance scheme surrounding personally identifiable information; the Privacy by Design approach and the Federal Trade Commission’s involvement; and enforcement actions undertaken by federal agencies, State Attorneys General, and class action suits filed by plaintiffs.

Read more
BT13 Decision Making under Extreme Pressure: Project Management Lessons Learned from Pilots in Crisis
Lee Copeland, Software Quality Engineering
Thu, 06/11/2015 - 3:00pm

Controlled Flight into Terrain is a marvelous book containing case studies of poor decisions made by pilots under extreme pressure. A CFIT is an accident in which an otherwise serviceable aircraft, under the control of the crew, is flown—unintentionally— into terrain, obstacles, or water with no prior awareness on the part of the crew of the impending collision. Using three CFIT case studies, Lee Copeland examines what mistakes the crew made, why their decisions seemed appropriate at the time, and the forces operating on the decision-making process. Then Lee takes those discoveries and applies them to our world of software development. Some learnings include consider entering a holding pattern, have a Plan B ready, beware of the loss of situational awareness, trust your co-workers but not too much, be aware of time dilation, and other key ideas.

Read more