While design changes can be made as we go, sprint on sprint, the poping up of architectural changes seems insurmountable. It is need not be so.

In this session, we provide a narrative of an online gaming product developed. This is a massively multi-player online game, for casual as well as professional players (with real sustantial money). Such a product needs to grapple with non-functional imperatives well beyond the run of the mill server-side software. As the project progressed new performance and security imperatives materialised.

How the  team made adjustments in face of changing non-functional (and some perculiar functional) imperatives is the focus of this talk.


Outline/Structure of the Experience Report

  • The background: development situation and description of product (10 min)
  • Uncommon business challenges of massively multi-player online game (MMOG)  (3 min)
  • Description/overview of archeritectural challenges (3 min)
  • Changes in architectural imperatives over time (3 min)
  • Handling architectural changes (10 min)
  • Important tips, what worked and what could have been done better (10 min)
  • Q & A

Learning Outcome

How complicated software development in challenging circumstances is handled sprint on sprint.

A glimpse (with detailed examples) of how to change software design and keep code testable.

Lessons learnt on what could have been done and future directions on and what else could have helped.

How change in architecture may be handled.

Target Audience

Developers, Programmers, managers with technical depth, Architects



schedule Submitted 8 years ago

  • 45 Mins

    A common failure mode for organizations attempting to adopt an Agile style of software development occurs when an attempt is made to “Scale Agile”. Suddenly, the organization finds that there are scheduling problems between teams. Delivery team members suddenly find that they are required to serve on several teams at once. Dependencies surface, and teams find it difficult to come together in a common cadence to produce working software in a continuously delivered fashion. Many times, these issues become so grave that the organization reverts back to the Waterfall model that they came to hate, but at least understood.

    This session explores Agile scaling concerns, and places particular emphasis on an architecturally significant distinction in the software to be created, and the components produced to allow the software to be created. That distinction revolves around cross cutting platform concerns versus product feature creation concerns. We will examine the distinctions and explore solutions that should help your organization get past these issues when it comes to portfolio management, by paying attention to extrinsic versus intrinsic value metrics.

  • 45 Mins
    Experience Report

    Over the last decade, eXtreme Programming practices like User Stories, Evolutionary Design, Test-Driven Development (TDD), Behavior Driven Developer (BDD), Refactoring, Continuous Integration and Automation have fundamentally changed software development processes and inherently how engineers work.

    Having experienced various benefits from XP practices on our J2EE stack, our team started to apply these practices to extract, transform, and load (ETL) and Data Analytics side of our product. Unfortunately, there is very little guidance available in this context, esp. for the SAS Platform. Right from finding the unit testing framework to structuring the code to designing our modules and setting up a Continuous Integration builds, our team had to figure out everything, the hard way.

    Join us to understand the challenges we faced during this process and how we resolved these challenges.

  • Howard Deiner

    Howard Deiner - Lean Thinking and What It Mean to the Agile Mindset

    45 Mins

    Long before the Agile revolution for software development began, industry had learned that efficient production of goods required intense attention to quality, teamwork, and continuous improvement. These themes of Lean Manufacturing (which was further refined into the Toyota Production System) were never part of the original formulation of the Agile Manifesto, and are rarely mentioned as part of the traditional Agile/Scrum recipe for teams transforming to the new “Agile” mindset.

    The reality is that the traditional Agile/Scrum recipe is actually a “dumbed down” version of the Toyota Production System, and makes it easier for organisations to grasp and start from. However, if organisations really want to achieve the goal of producing the software they need in a fashion that leads to High Performance Teams and Sustainable Engineering, they will need to understand the principles of Lean so they can incorporate them into their unique process. This session teaches the basics of Lean, and demonstrates how they apply to Agile development.

  • Nilotpal Das

    Nilotpal Das - Head First Agile and Organizational Transformation

    45 Mins
    Experience Report

    This is a collection of real time case studies of failed projects. It is an autopsy of these failed projects studying why these projects failed and how application of agie principles could have saved them.

    It is also a study into the organizational culture, behavioral attributes and the people issues and how agile addresses them.

    And finally it is a study of why doing a few projects with agile is not sufficient. How complete organizational transformation into agile practices is necessary for long term success for projects, processes and people.