Archive for the 'Conferences' Category

Apr 13 2010

Cincinnati Mobile Firestarter

Published by Peter Kananen under Conferences, iPhone

If you’re looking to learn about how the various mobile platforms compare to each other, you should attend the Cincinnati .Net Users Group Mobile Firestarter event:

On April 24th CINNUG and the iPhone Developers User Group will host the Mobile Firestarter event.  We will spend the day covering three of the mobile platforms: Android, iPhone and Windows Mobile.  All three platform sessions will build the same application so you can concentrate on the tools and techniques being used.  At the end of the day you should have a good base understanding of the moving parts of the platforms, the tools used to create mobile applications and the differences between each of the platforms so you can make decisions for future projects.

I will be giving the presentation for the iPhone track. You can register here: http://cinnug.org/specialevents.aspx

No responses yet

Sep 22 2009

Paired Juggling at Agile2009

Published by jayaho under Conferences

We had a little bit of fun at the Pillar booth at Agile2009 this year. Here is a great video of Declan Whelan demonstrating Paired Juggling for us as well as a practice session with Kent Warman.

http://www.youtube.com/watch?v=3HLrcOl5Z48

http://www.youtube.com/watch?v=x8GhbAHFI5A

No responses yet

Sep 18 2008

What makes design…simple

Published by Nilanjan Raychaudhuri under Conferences

Last weekend in the “Simple Design and Testing Conference” we had a discussion on “What makes Design Simple” and this is a summary of the discussion we had along with my thoughts.

Well before we go further with in our way of defining simple/complicated design we have to step back and first answer why do we design?

We design to be productive and I don’t do it if it is below the DesignPayoffLine. Now if you read What is software design which I highly recommend you will learn that we design all the time, when customer approves a story he/she makes a design decision (this is interesting, some times we evolve to complicated design when stories are not broken properly), when we write tests (we do test driven development) and programming is also a design activity. So I guess we are always designing with or without knowing it.

Being an agile developer, we don’t focus ourselves on BUFD (Big Up Front Design) but rather we believe in evolutionary design, a design that grows as your system grows and there are benefits of doing that which I will not discuss here (read http://martinfowler.com/articles/designDead.html). One of the key aspects of the evolutionary design is to do the “simplest thing that could possibly work” nothing less, nothing more. There are couple of things that needs to be noted here, “simplest” and “possibly”. Simplest or simplicity is your shortest path to the solution i.e. getting your idea from your head to screen as quickly as possible. And why it is possibly? Because we are not sure whether it will work and that’s why we write test to make sure that our idea works.

But the interesting part is we all start simple (I am totally ignoring the fact that there are teams that start with 200 page design document from day one) and it gets complicated over time because it starts doing more work. But if we could restrict ourselves to keep it simple for tomorrows need tomorrow then I guess we can preserve simplicity and this is where refactoring step fits in. Refactoring is our way to simplify things when it gets complicated. Einstein once said, “As simple as possible, but no simpler.” And I think that makes sense here.

Wait a minute we haven’t defined simple design yet? I don’t think I can define simple in two lines but lets ask the question differently, “How will we know that our application design is simple?

Software with simple design will enable team members to quickly respond to change. And as your design deteriorates, so does your ability to respond to change. This is really critical for agile projects (again ignoring rest 70% of teams who don’t believe in agile, they really don’t care) because we embrace change and customer satisfaction is important to us. Kent beck calls it “reversibility” property of software. If we can change our decisions quickly it is not a big deal to get them right in the first place and that means less planning upfront (we are wrong most of the times anyways). There are some really good second order benefits to simple design, we get our work done sooner and it is easier to communicate our work with others (I am not sure about you but I still work as part of a team, collective ownership rings any bells?). Above of all it is less stressful to work with simple design.

So how can we keep our design simple? Testability

I absolutely agree with James Bach on ” there are no best practices” but rather appropriate practices and I think the appropriate practice to keep your design simple is continue to write tests.

Testability is a characteristic of software application that provides ability to developers to write tests for their software application. In the world of TDD, we derive our design from tests and having that ability is very important. In fact if it is hard to write test, developers will stop writing tests especially new agile developers. It is very easy to get into “code and fix” mode under agile radar. If you are the only manager reading this article please pay attention to your developers when they say it is hard to test, this could be good indication that application design is deteriorating.

While discussing “What makes design simple” in the conference, Brain Marick raised one interesting point, we should strive for habitability, “The characteristic of source code that enable developers feel like home and place their hands on any item without having to think deeply about where it is”( read http://www.wirfs-brock.com/PDFs/DoesBeautifulCodeImply.pdf). We do spend good portion of our time everyday inside the code we are working on and habitability makes working easy. I guess more appropriate answer to the question “How will we know that our application design is simple?” would be habitability. If it is easy to work with your design, it is simple.

If you are still with me then probably some of these makes sense but if you were looking for top 10 practices for simple design sorry to disappoint. The take way point is “Design for today, not for tomorrow”

No responses yet

May 30 2008

Time to Save the IT Industry

Published by Gary Gentry under Conferences

This week I was able to sit and listen to Lynne Ellyn, CIO of DTE as she offered her perspective on Agile development as she shared at the MI Agile Enthusiast Meeting. I was very happy to learn that DTE is committed to changing the way software has been written at DTE. Lynne Ellyn represents true leadership in a time when the Industry needs leaders to stand up and make a difference. Many of her contemporaries have chosen paths more easily traveled – paths that led the IT industry to offshore development. Over the past 10 years, the IT Industry has seen significant failures as we have attempted to “save money” as projects have been attempted with various offshore models. During this same period of time, pioneering IT leaders like Lynne Ellyn have chosen to adopt Agile Techniques that have proven to be very successful. It’s time to take note of these significant changes in our industry. I applaud DTE. I am encouraged by what I hear from Lynne Ellyn and her band of followers. It is time to choose a path. Which path will you choose to walk?

At Pillar, we have chosen a similar path of Agile transformation. We choose to stand with leaders like Lynne Ellyn. We are determined to “Save the IT Industry” from the failures of the past. We choose to embrace the productivity that is found within the culture of Agile Development. We have tried and and failed at most every development approach and we have found true productivity within the Agile Practices. DTE has chosen to remove the barriers between the business leaders and the IT leaders. They stand together as partners laboring for success. The devotion to Agile practices has lead to mutual accountability and trust. It has also lead to better software delivered within remarkable time frames.

At Pillar, we are seeing significant productivity increases as we choose daily to follow the path towards a new way of software development. I am convinced that we have discovered that Agile Software Development Practices are the secret to survival as we seek to increase productivity for our Industry and for our Nation.Michigan is a State that has suffered great losses. But these losses can be reversed. We need to awaken to the reality that we have the very tools necessary to overcome the failures of the past – let’s embrace and explore together the power of Agile Development. We should look to the Agile Software leaders – and the leadership of Lynne Ellyn to draw some encouragement.

The best Agile practices have been tested and proven to be successful.I look forward to attending the 2008 Agile Development Conference in Toronto this August. Over 2500 Agile Enthusiast will come together and challenge the status quo. The ways of the past are behind us. It’s time to save our IT Industry. I’m proud to be involved in the rescue mission. At Pillar we are passionate about saving our industry. I am eager to convert as many Industry IT leaders as possible. I hope you will join with me in this call for transformation.

No responses yet

Feb 11 2008

Achieving Agility Through Situational Applications

Published by Peter Kananen under Conferences

I’ve also submitted a proposal for Agile 2008, dealing with the topic of Situational Applications. Here’s an excerpt:

“The development and usage of situational applications (SAs) within the enterprise is a result of the emergence and combination of mature web technologies, easily available and adaptable data sources, and technology-savvy knowledge workers (including non-professional programmers). Situational Applications can be defined as ad-hoc web applications developed using a combination of third party tools and data, with a minimum of custom code. Terms such as “mashups” may also be used to describe this class of application. SAs are beneficial especially for specific needs of typically smaller user groups not supported by existing internal IT applications and platforms. Because even amateur programmers can often quickly produce SAs, value can be achieved rapidly without the need for typical IT overhead. Therefore, SAs should be seen as a new and important way to achieve agility.”

Feel free to review my submission and provide me with feedback personally (pkananen at pillartechnology.com), or if an unbiased member of the Agile community, through the online submission system.

No responses yet

Jan 30 2008

Refactoring to RIAs – Agile 2008

Published by Jeremy Anderson under Conferences

BJ and I have decided to throw our hat into the ring and submitted a session proposal to the Agile 2008 conference. You can read about it and comment on it on the Agile 2008 submission site here (http://submissions.agile2008.org/node/1676), or I’ve copied the summary below.

In 2002 Macromedia used the term “Rich Internet Applications” (RIA) to describe the next generation of web applications that have all of the benefits of a traditional desktop application, with the flexibility of being deployed via the Internet.

However, it’s 2008 and RIA has not been able to penetrate the business application sector with any real success. The old days of RIA are history. (Maintenance nightmares, weird or no unit testing, and little friendliness toward other agile developer practices.)

Continue Reading »

No responses yet

Jan 14 2008

Groovy, Grails and RIAs…Oh My!

Published by Jeremy Anderson under Conferences

This past week I was fortunate enough to attend CodeMash v2.0.0.8 in Sandusky, Ohio. This conference is unlike anything I’ve ever been to, somewhere in the neighborhood of 350 Java programmers, .NET fan-boys and Ruby zealots all under one roof, and even having a little fun together.

Continue Reading »

No responses yet