background preloader

Agile Processes & Design

Facebook Twitter

Responsive Web Design Patterns. Responsive Patterns A collection of patterns and modules for responsive designs.

Responsive Web Design Patterns

Submit a pattern Layout Reflowing Layouts Equal Width Off Canvas Source-Order Shift Lists Grid Block Navigation. Tools Archives. Monitoring Your iOS Traffic There are a number of free ‘sniffer’ tools around, for your PC or Mac, for looking at and changing the network traffic.

Tools Archives

The venerable Wireshark, Fiddler, and Burpsuite are some of the ones that I have used in the past, and still fire up today. Pairing Archives. Functional(ish) C# & MVVM: Single-Responsibility and Code-as-Data I’ve spent the last year working in C# and WPF.

Pairing Archives

Improving Unit Test Iteration Speed with Rails, Spork, and Resque. I’ve been working on a project using Rails lately, and one of the most challenging things about it has been trying to make the tests run efficiently.

Improving Unit Test Iteration Speed with Rails, Spork, and Resque

Unfortunately, there’s so much setup to get the Rails environment going that simple little unit tests take about 5 seconds to run. Of that 5 seconds, it takes about 4.9 seconds for the Rails environment, and 0.1 second for the test itself. These intermittent test failures will not stand, man. I recently spent some time cleaning up a large test suite that had fallen into a bit of disrepair.

These intermittent test failures will not stand, man

The project was a Ruby on Rails web application being tested with RSpec and Cucumber. The biggest problem was that various tests would fail intermittently. Some tests would pass consistently when run by themselves, but would frequently fail when the whole suite was run. Re-running the suite once or twice would often result in all tests passing, so the non-deterministic tests were largely ignored eventually becoming broken windows. Acceptance testing for hobby projects. I believe strongly in behavior driven development (BDD) and acceptance testing.

Acceptance testing for hobby projects

My standard workflow looks something like: write high-level acceptance testwrite unit test for a componentmake unit test passgo to 2 until acceptance test passes This pattern has served me very well in the professional realm. However, when I sit down to play with personal game development project, gamebox, acceptance testing and BDD tend to go out the window. RSpec: Thank You for Running My Tests in Random Order. The title of this post says it all.

RSpec: Thank You for Running My Tests in Random Order

I’m super excited that I now have RSpec configured to run my tests in random order. Test interactions are gone. Assumptions have been eliminated. The test suite is improved. In early 2012, RSpec added the option to run tests in a random order. Defect Re-use - Getting the Most Out of Mistakes. If you don’t know about a potential problem, you can’t test for it.

Defect Re-use - Getting the Most Out of Mistakes

The more possible defects you know about, the more you can test for, and the better your software will be. At Atomic, I work on several projects at the same time. Building the Right Acceptance Tests. Automated acceptance tests are valuable, but they’re also easy to build badly.

Building the Right Acceptance Tests

So to make sure you don’t end up with a frustrating pile of automated headaches, first strive to understand why you’re writing the tests. Specific goals often dictate a different set of tools or approach to your instrumentation around the tests. Done correctly, system tests are a powerful tool that can help you: ExtJS Unit Testing Using Jasmine. If you want to use Jasmine to unit test your Ext JS 4 application, there are a number of good resources available that can help you get started.

ExtJS Unit Testing Using Jasmine

Most of these indicate they are for writing unit tests, but few of them seem to focus on isolating the component or class to be tested. Some even go as far as to show how to load your entire Ext.application for testing. Here I will show what I have done to unit test my Ext JS code using Jasmine. Just as in all of the examples above, you will need to modify the SpecRunner.html that comes with the standalone distribution of Jasmine.

But instead of using a real Ext.application or one made specifically for the test, you just need to set the load path (relative to the location of the SpecRunner.html) and wrap the call that starts Jasmine with an Ext.onReady. Simply Writing Tests Is Not Test Driven Development. There is a common misunderstanding in the software world — simply writing tests is test driven development. Your Tests Are Your Conscience. Have you ever inherited a project without any tests? Trying to get a foothold in the code can feel daunting, let alone feeling confident about making changes. I recently took over a project that lacked any tests, and as I began to explore the code, I came to a realization.

Despite the fact that the app had known issues and a general air of “bugginess,” the code wasn’t terrible. Beware of Capybara Interacting with Hidden DOM Elements. Due to a project’s integration tests spuriously reporting failures with capybara-webkit on our CI servers, we switched to the capybara-selenium driver. In the process of switching, we discovered that a number of tests needed to be tweaked or partially rewritten. Why? Why Usability Testing Matters: A Newbie's Perspective. As a designer, I’m a perfectionist. I enjoy solving problems, analyzing human intuition, and testing all the available research tools to turn ideas into something viable and realistically executable.

This heuristic, analytical approach to design was what shifted me from advertising into software in the first place. I enjoyed leading creative teams, driving process innovation, managing campaigns, and sharing with and learning from other designers. Pair Programming Interviews. September 11, 2013 About Me My name is Parth Upadhyay and I'm a rising senior at the University of Texas at Austin, majoring in Computer Science. This summer, I interned at Square on the Register team. Scrumwise - The Most Intuitive Scrum Tool. Given-When-Then. Agile Product Design, holistic product design and agile software development. Design - An Agile approach to User Experience and Design.

UX and Agile: Tying the knot. So Agile Together: How designers and programmers can join forces to create great experiences. Earlier this year, I attended a UX meetup that featured a panel discussing whether or not integrating UX designers into the agile software practice works. I noticed during the discussion that the panelists made strong distinctions between "developers" and UX designers.

User Stories

Projects & Estimation. 7 Agile Best Practices that You Don’t Need to Follow. There are many good ideas and practices in Agile development, ideas and practices that definitely work: breaking projects into Small Releases to manage risk and accelerate feedback; time-boxing to limit WIP and keep everyone focused; relying only on working software as the measure of progress; simple estimating and using velocity to forecast team performance; working closely and constantly with the customer; and Continuous Integration – and Continuous Delivery – to ensure that code is always working and stable. XpVelocity. Extreme programming · project planning · estimation.