Top 10 “Takeaways” from the Agile 2012 conference continued
4. Many presentations including the keynote address by Joe Justice highlighted the fact that small cross functional teams produce better business results that siloed hierarchies. In his presentation on pairing for better design ; Samuel Mikel Bowles defined “pairing” as a productive activity in which two professionals collaborate by sitting together to produce one artifact. This definition broadened the scope of “pairing” beyond “pair programming”. Cross functional team of marketing professionals, users, customers, designers , developers and testers will all pair to produce non-code artifacts. Innovation is no more the work of a solitary genius but that of a collaborating cross functional team. Joe Justice enthralled the audience by presenting his Wikispeed car that was produced by applying agile/lean principles to manufacturing. The Wikipseed team can take an idea to market in three months which is unheard of in automobile industry where typically it takes 5 years for a feature to show up in a model after its conceived by a designer. To cap it Wikispeed gives 100 miles to a gallon.
5. Derek Neighbors agreed that hierarchies and designations are not conducive to innovation. He also stressed the need to build configurable spaces that can be quickly configured to address the need of the time. Innovation is spurred by prevailing conditions that are chaotic. Other ingredients of innovative organizations are collaboration, fun and excellence
6. Jez Humble and Janakiraman again stressed the importance of collaboration stating that good tests are result of QA-Dev dialogue. It was also confirmed by them that typically tests take 2.5 times the lines of code as compared to the code that is under test. Journey based tests are less brittle than story based tests. Stories at detail level can change but the overall intent as depicted by a journey changes less often. We also learnt that two tiered tests using an object layer beneath are more maintainable.
7. John Heintz provided insight into unit testing NoSQL code running on Hadoop Servers. MRUnit tests were fast but integration tests with Hadoop cluster running were extremely slow which led to the conclusion that Hadoop is well optimized for big data but poorly optimized for small data. Riak and Cassendra didn’t have this problem and integration tests ran in acceptable time but both these implementations of NoSQL don’t provide unit testing framework such as MRUnit.
8. Alistair McKinnel and Declan Whelan gave some easy to remember tips to write code that simplifies design. Removing duplicates forces you to follow OO principles of design time and run time polymorphism. Writing good names gives clarity of responsibilities to classes and objects. Good code should be so readable that you should be able to read it to some one on phone without losing any meaning.
9. Jim Morris introduced the concept of “Mobile first” while considering any HTML application. He demonstrated how good design accounts for infinite aspect ratios and resolutions. He advised designers to think of who they are excluding by choosing a design. He also stressed the importance of content over look and feel.
10. Many of us end up multitasking without realizing its impact on our efficiency. Sandi Mamoli introduced the concept of a personal Kanban board which helps you organize your tasks in to-do, WIP and Done tasks. The number of tasks under WIP are automatically limited to 1 or 2 due to the space allocated. This helps you complete tasks on hand before taking on new ones – thus preventing context switching.