Skip to main content

Software Development

Tutorials

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
ME Build Product Backlogs with Test-Driven Thinking―and More SOLD OUT NEW
David Hussman, DevJam
Mon, 06/08/2015 - 8:30am

Many product backlogs of user stories are nothing more than glorified to-do lists. Teams have lost the idea of prioritizing real business value and focus instead only on finishing stories and accumulating story points. Join David Hussman as he drives a stake into the heart of lame backlogs and breathes new life into product design with pragmatic UX and test-driven thinking. Using real-world examples, David shares his experiences and teaches tools you can use to fuse centered-product thinking with end-to-end testing. These techniques include: developing test-driven user experiences, improving product discovery (backlog grooming) sessions with testing talk, adding story clarity with examples and tests, validating requirements with tests, connecting program teams by decomposing product ideas into small testable stories, and recomposing them to validate product level learning. Because we learn by doing and questioning as we go, show up ready to work. This session is for testers, developers, product owners, and anyone else interested in improving their product thinking and product backlog. Bring your failing product backlog stories for discussion, too.

Read more
MJ Continuous Testing to Drive Continuous Integration and Deployment NEW
Cory Foy, Cory Foy, LLC
Mon, 06/08/2015 - 1:00pm

Continuous integration and continuous testing are two vital agile feedback loops that lead to a continuous deployment environment. Continuous integration processes monitor source code―recompiling after every change, running smaller tests, and notifying the developer if anything goes wrong. Continuous testing (and potentially continuous deployment) monitors integration builds, installs the product in a staging environment, and runs integration tests, again looking for problems. Jared Richardson explains the ideas and then the tools needed to implement both continuous integration and continuous deployment. Jared demonstrates the open source continuous integration tool Jenkins as the center of the process. These powerful concepts ensure issues are detected within minutes of most code changes, and the developer is notified so he can fix the problem and learn from the experience. Even a partial adoption changes the cadence of a development organization and eliminates a great deal of ongoing code maintenance. Learn how to sell the idea and set up the process in your own organization.

Read more

One of the latest facets of the mobile paradigm is mobile wearables―a new generation of personalized technology that knows us better than our closest friends do. How many of your friends know how far you walked or what you ate today? Although you may think mobile wearables are just for geeks, they will become commonplace very quickly. Our challenge is to develop applications that can synthesize context from the gigantic amount of data these devices and their sensors generate. Ensuring the privacy and security of device usage and its data will be of highest concern. Philip Lew systematically analyzes context―the most important element in future design and development of mobile applications while incorporating big data, privacy, and security. Using examples, Philip shows the contextual elements you need to consider now and discusses how to identify key factors for a future generation of wearable products based on discovering anticipatory services.

Read more
MO Agile Estimation and Planning: Scrum, Kanban, and Beyond
David Hussman, DevJam
Mon, 06/08/2015 - 1:00pm

If you are new to agile methods—or trying to improve your estimation and planning skills—this session is for you. David Hussman brings years of experience coaching teams on how to employ XP, lean, Scrum, and kanban. He advises teams to obtain the estimating skills they need from these approaches rather than following a prescribed process. From start to finish, David focuses on learning from estimates as you learn to estimate. He covers skills and techniques from story point estimating delivered within iterations to planning without estimates by delivering a continuous flow of value. Going beyond the simple mechanics of estimation and planning, David explores agile techniques to enable continuous learning and ways to prevent sprint planning sessions from becoming empty rituals. Join David and your peers to practice your agile estimation and planning techniques so they can become powerful tools within your project.

Read more

Concurrent Sessions

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
BW16 Lean Software Development Is for Everyone
Ken Pugh, Net Objectives
Wed, 06/10/2015 - 4:15pm

Lean software engineering emphasizes continuous delivery of high quality applications. Ken Pugh explains the principles and practices that form the basis of lean software development―concentrating on developing a continuous flow by eliminating delays and loopbacks; delivering quickly by developing in small batches; emphasizing high quality which decreases delays due to defect repair; making policies, process and progress transparent; optimizing the whole rather than individual steps; and becoming more efficient by decreasing waste. Ken describes lean’s emphasis on cycle time rather than resource utilization and demonstrates the value stream map which helps you visualize the development cycle flow to identify bottlenecks. He explores the differences between push and pull flow, describes how lean thinking shows up in agile processes including Scrum and Extreme Programming, and discusses how lean can be applied to the entire workflow—not just to the development portion. Ken concludes with a discussion of how you can begin your lean transformation.

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
BT9 Enough about Process, Let’s Use Patterns
Paul E. McMahon, PEM Systems
Thu, 06/11/2015 - 1:30pm

When new developers and testers join the company, we want them to learn the “way we do software here.” So we give them the “stone tablets”―the volumes of process documentation― to study. However, the problem is that the details in this documentation are primarily for beginners and don’t give practitioners what they need to perform at a high level. Paul McMahon has found a better way to achieve and sustain high performance—by focusing on common patterns that repeat in organizations to help practitioners make better decisions. Join Paul as he shares common software development patterns he has observed, questions practitioners should be asking, and tips and warnings to help them make better decisions. Take away practical and easy-to-use techniques to identify and communicate repeating patterns specific to your organization, patterns that can help less experienced practitioners learn faster and consistently perform at a higher level.

Read more