Getting Real About Agile Design

by Cennydd Bowles

37 Reader Comments

Back to the Article
  1. Personally, I think there is still and will continue to be a strong need for upfront delivery in my world. I deal in hardware and you only get one shot at tooling. Software might do well to think about lessons from the hardware world about getting it right once. It does work in many scenarios and has for a lot longer than software ever existed.

    Isn’t that the whole point? Learning from other? I don’t think design can just take “Agile” and use it. But I am sure there things it can learn from it. Just like Software Development took the concept of Design Patterns from architecture.

    On the other hand you also have to acknowledge differences between disciplines. Hardware and software are two very different environments. If you look at the technological standard of the satellites being launched today, you will see they are 10 years out of date. These things take years to build and perfect and you can’t keep on iterating and improving. You have to draw the line to get the thing launched. And once it’s launched, that’s it. You can’t make a quick hack to cover some missed aspect.

    The same is not true for software. SW is infinitely more malleable. The truth is you can always modify SW and doing so costs little as it doesn’t mean re-building a $100m satellite or production chain. It simply means re-compiling.

    Then you have to look at the clients. Clients commissioning satellites normally know very well what they want. Clients commissioning web sites usually have no idea. Hence Agile is far more useful to producers of websites than of satellites.

    Then you need to take changing demands into account. Scientific satellites are going to be measuring something. The client isn’t going to turn round and say I want to measure X instead of Y. The requirements are relatively stable. Whereas if you look most SW, requirements are changing all the time. Often due to legal policy changes. Agile is an attempt to deal with this.

    It is worth accepting that there are different ways of achieving a quality product. eg: TDD is often put forward as a way to minimise bugs in SW. TDD advocates to write your tests first. Others often write them afterwards. In fact it doesn’t matter when you write your tests. What matters is that they are written. TDD is one way of ensuring the tests are written. But there are other ways of ensuring this.

    Finally, none of this should be taken as black and white. There are always exceptions. It is a shade of grey.

    Copy & paste the code below to embed this comment.
  2. I think the “vision” question is the most compelling in the design v. agile discussion. However to use film making as an analogy doesn’t solve this problem for me. A film has a screenplay, a script, or sometimes even an entire book written before filming. Of course it’s revised constantly, but there is a whole picture there to start with.

    Entirely different to design and build one, or a few, scenarios at a time, with little sense of the big picture beyond broad outlines.

    Is an iteration 0 with time to map out, say, 20 key scenarios in one place and their relationships to one another really too much to ask?  Is there a better solution?

    Copy & paste the code below to embed this comment.
  3. I enjoyed your views on this…thanks!  In particular, I look forward to reviewing some of the presentations you list at the end, and checking out some of the HTML prototyping software you mentioned.

    I was curious about what you meant that ‘the web page is no longer the atomic unit of the web.’  I would have said that information is still listed on a page (even if it is dynamically generated).  It seems to me the web still revolves around putting information about a resource at a particular, static URI.  Are you saying that’s not how users view the web anymore?

    @AudreyCrane I think the analogy with film making revolves around that fact that movies aren’t filmed in sequential scene order, similar to the way apps aren’t always developed top-down.  Yet in both cases, someone has to be the ‘consistency, overall vision champion’ to make sure everything hangs together in the end.

    Copy & paste the code below to embed this comment.
  4. There is no design/development model that will work perfectly for every project. It’s dangerous to assume a particular development model will work every time.

    Agile development is the most popular model at the moment because of architectures like Ruby on Rails and Django (for Python). Both of these architectures have been developed towards Agile methods, and for web projects this method (and these platforms) work well a lot of the time.

    However, there are other methods, some based on Agile ideals, but still following more classic development patterns that will suit perhaps larger projects better, especially when comprehensive documentation is required along with the product. Not to mention, Agile development doesn’t work very well if the client isn’t available to be involved in the ongoing project. Otherwise, you end up with a project that can easily go off on tangents and never have a finished product.

    Methodologies go in and out of fashion just like any other part of the industry. Unfortunately, from a business point of view, Web Development, and other IT in general, is all about buzzwords, even to the detriment of a project.

    Copy & paste the code below to embed this comment.
  5. There are certainly many options out there, and they all have their criticisms, defenders and champions. WaddleWorks in its own right is doing its best at succeeding in the “jacksonville web design”:http://www.waddleworks.net/web-design/community/jacksonville-organizational-and-nonprofit-web-development/ market. Nonprofits and social organizations are not the only ones cutting corners in these economic times, however they are the most dependent on strategic software that agile may or may not ensure. It truly is a case by case trial and error process.

    Copy & paste the code below to embed this comment.
  6. Being able to deliver the capabilities of chatting from your mobile phone and/or your PC with the use of in depth agile software is easier said than done. Then advanced agility concept may be the best solution for you… Though, it does come at a learning curve. It allows interaction from most browsers and from various platforms. On their web site, they have a list of over 250 networking tools to which you can easily set-up and connect your interfaces to and utilize some useful features such as an online graphical, “free chat rooms”:http://rooms.aim2chat.com, monitoring and alerts that tell you how much of what is being used.

    Copy & paste the code below to embed this comment.
  7. As in “(blog cinema)La scatola delle emozioni(blog cinema)”:http://www.lascatoladelleemozioni.it Designer should not be considered actors.

    Copy & paste the code below to embed this comment.