Better Software East 2016 - Development
Monday, November 14
Configuration Management: Robust Practices for Fast Delivery
Robust configuration management (CM) practices are critical for creating continuous application build, package and deployment to support agile’s integration and testing demands, and for rapidly packaging, releasing, and deploying applications into production. Classic CM—identifying system components, controlling changes, reporting the system’s configuration, and auditing—won’t do the trick anymore. Bob Aiello presents an in-depth tour of a more robust and powerful approach to CM consisting of six key functions: source code management, build engineering,...
Great Product Design with User Story Mapping
Built from index cards or sticky notes, a story map is a simple model, that helps the people who make it envision a customer’s experience with their product. Story maps are a core practice within a design process focused on understanding and building empathy with customers and users and then identifying and testing solutions to improve the customer’s experience with your product or services. Jeff Patton says that design process and story mapping can help you identify completely new product opportunities or improve the existing product experience. Learn how to map...
Tuesday, November 15
How to Improve the Mobile User Experience (UX)
Many enterprises are migrating to mobile while new organizations are adopting a mobile-first or mobile-only strategy. Because of the special characteristics of mobile and its user base, usability and the user experience (UX) are of increased importance, especially with SaaS-based business models where users can pay by the month and switch applications in a heartbeat. This is intensified with mobile users who can download another app and try it for free. So you've got about thirty seconds for your users to understand how to use your app and get value. How do you do...
Wednesday, November 16
User-Centered Design Using Personas
A failure point in developing useful and usable products are user requirements and expectations—understanding who the users are, their goals, actions, motivations, and pain points. Fadi Khoury explains that user-centered design is a product development methodology based on actual user needs, behaviors, abilities, and perceptions. User-centered design is popular because it offers the most effective path to useful and usable products. Combining this design approach with personas—fictional characters, created to represent the different user types that may use a...
Agile ALM: Using DevOps to Drive Process Improvement
Many organizations struggle to improve their existing IT processes to drive their software and systems development work. This leaves technology managers and teams to use whatever worked for them on the last project, often resulting in a lack of integration and poor communication and collaboration across the organization. Agile application lifecycle management (ALM) is a comprehensive approach to defining development and operations processes that are aligned with agile methodology. Bob Aiello explores how to use DevOps principles and practices to drive the entire...
Thursday, November 17
Continuous Delivery of Microservices: Patterns and Processes
Tight coupling and interdependence between dev teams slows down development, and environment drift causes deployment problems when promoting applications between environments. The introduction of the microservices architecture expands on the role of SOA by allowing for the looser coupling of endpoints and environments, with more predictability, flexibility, and agility. Anders Wallgren says that microservices have gained attention for their ability to facilitate innovation among dev teams. By architecting applications into sets of smaller services that are more...
Them’s the Rules: Using a Rules Engine to Wrangle Complexity
When dealing with complicated and ever-growing program conditions brought on by new business requirements, it's easy for what was once a small conditional block of code to grow to evaluating hundreds of unique conditions. Unfortunately, much like kudzu, that bad practice begins to creep into other areas of code. Micah Breedlove says that incorporating a rules engine to handle the conditional logic is a great way to reduce the code smells wafting from a multi-hundred line conditional. Converting the conditional into one small block of code which can retrieve and...