New-age Transactional Systems - Not Your Grandpa's OLTP
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Derek Longmuir on Jul 03, 2008
Andy Hunt’s interview last month talks about his progression from pragmatic programmer to Agile development to his latest interest – Pragmatic Wetware. Understanding how people learn and improve is an important addition to the Agilist’s toolkit.
“Wetware is the stuff in your head. That’s the thing between your ears that’s really where all the action is – that’s where all the software development actually takes place. It doesn’t take place in an IDE, you don’t write software in an editor – software is developed in your head, and in the heads of your team members, and that’s really where the game is happening.”
In the podcast, Andy discusses how software development is a mental activity – thinking about solving problems – and comments on how developers can do it better. He is putting the finishing touches on a book covering these topics and more: Pragmatic Thinking and Learning: Refactor Your Wetware, which is currenty in Beta at the Pragmatic Programmers website.
Why is this important to Agile practitioners? One of the foundations of Agile is feedback and improvement. There can be improvements at the practical level, including practices to follow, rules, and guidelines. The next level after that is improving how people think: making them better problem solvers, increasing their creativity, and introducing a shift in how they approach the problems as they progress from a novice viewpoint to an expert viewpoint. Just as incorporating feedback from retrospectives on practices and processes is important to the team, an individual’s ability to re-adjust and re-tune their thinking as they build their skills in a certain area is also important.
Introducing the Agile practices and teaching the team is also a first step towards a team adopting Agile. Andy says that there are better ways to learn new skills than the usual “get the book and play with it” approach followed by most developers. He mentions “deliberate learning” as a pragmatic approach for people to learn faster, easier and with higher retention. While he doesn’t go into specifics, it sounds like it could be a valuable addition to the Agilist’s toolkit.
Andy also discusses how certain activities can activate different areas of the brain, including doodling, verbalizing vs. writing or saying it in your head, Mind Maps and how sometimes stepping away from the keyboard can be the best way to gain insight into solving a problem. This might be an explanation for some of the effectiveness of many of the Agile processes and how they use different senses and parts of the brain – an emphasis on communication and talking, a focus on whiteboards and drawing, and even the practice of using index cards and moving them around.
To learn more, listen to the podcast at the Pragmatic Programmer’s Pragmatic Podcasts and check out the book’s site for the full table of contents and sample chapter.Case Study: IBM's Agile Transformation
In today’s hyper-competitive world, later may be too late to adopt Agile development and this Roadmap for Success will help you get started. Download "Agile Development: A Manager's Roadmap for Success" now!
I am currently having great pleasure reading it.
How to refactor our "old" own brain in order to better live with this ocean of digital knowledge that surrounds us ?
This book gives some theoretical answers, and provides a lot of practical technics and tips.
I am sometimes ashamed of not being fond of complex tools, and prefer draw things on real paper. But one of the things I learned in this book is that I shouldn't be ;-) Software is not designed in an IDE or other tool
IMHO (and as suggested in the article), it is a must read for anyone interested in why Agile methods work in software development
Thanks Andy !
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.
Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.
Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).
Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.
Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.
1 comment
Watch Thread Reply