Yin meets yang
Blog Authors: Valerie Skinner 060000VKGS is part of the IBM developerWorks team, getting to know the real developers who make up the My developerWorks community and exploring the world of social networking. I'm enjoying learning what makes developers tick! I'm very interested in exploring online communities and social media and understanding real world application - how they can help people solve problems and work together.
This week, get to know Lee Ackerman. He talks about his passion for Patterns Based Engineering that resulted in co-authoring a book, plus what he's working on now with pureXML.
What drew you to a career in technology?
Personal computers were becoming prominent as I was growing up. Between trying to write some code on TI99/4a's, Vic20's, Commodore 64's and playing video games – I've always been drawn to computers and technology. I still have fond memories of getting issues of Compute magazine and trying to use some of the code for the games they published each month. So it was a natural progression to go from these interests into taking technical courses at elementary school, high school and university and then finding related career opportunities.
Congratulations on the publication of your new book on Patterns Based Engineering! What is Patterns Based Engineering all about and what sparked your interest in it?
Thanks! Myself and my co-author, Celso Gonzalez, are quite excited to have the book completed and shipping. The idea behind Patterns-Based Engineering (PBE) is that we need to be systematic, disciplined and look to quantify our efforts in using patterns to create software solutions. Where a pattern is a proven, best practice solution to a known, recurring problem – within a specific context. The patterns that we look to use can either be a specification – a formal, written document that describes the pattern. Or, we can look to use a pattern implementation – where we have an automated version of the pattern. As part of the PBE effort, we look to bring together an optimal mix of pattern implementations and pattern specifications – while incorporating a combination of patterns that we find available in the community along with those patterns that are unique to our organization.
I had been using patterns in my development efforts for many years – and had seen some of the struggles that existed in getting an entire organization to learn about and then successfully use patterns. Along the way, I began to work with the Rational modeling tools – and spent a great deal of time in helping others to use these tools. A key aspect of working with these tools was the ability to automate patterns – both in terms of impacting the design in UML, but also in generating solution artifacts such as code, scripts, and other text-based materials.
What tools do you think are essential for Patterns Based Engineering?
A good place to start is recognizing that having the right mindset is the most essential aspect to success with Patterns-Based Engineering (PBE). We need to be on the lookout for opportunities to use patterns and to capture new patterns. And it needs to be a mindset that goes beyond just an individual – we need teams and organizations thinking about what patterns are available, which need to be captured and where it makes sense to invest in capturing/using patterns.
With such a mindset in place, we can then look at how we use patterns. At its simplest, we can look to use pattern specifications – written, formal descriptions of patterns. In terms of tools – we can get by with tools as simple as an editor and some shared online space.
As we look to automate and grow out our efforts, we can look to use tools such as Rational Software Architect and Rational Asset Manager to help us in creating, using and managing our patterns.
In addition to the PBE book, we've also written a development practice that details the roles, tasks, work products and key concepts associated with PBE. To read the content in the practice, all that's needed is a standard web browser. However, we can take things much further if we use products such as Eclipse Process Framework Composer or Rational Method Composer. These tools allow us to customize the practice – AND – we can integrate the practice with other practices (such as Scrum, XP, etc). This enables us to create a process that is unique and specific to our organization.
What was the experience of writing a book like - what were the biggest surprises?
Writing a book was a great experience. It helps to have a great partner to work with – I'd expect that it would be a much more difficult project to try and handle the writing on your own. Going into this effort, myself and Celso had collaborated on a number of projects in the past – so we had a very good working relationship already in place. This provided us with a good foundation to build upon.
Some of the things that stand out from this experience include:
- Willingness of others to help out. We had many people along the way take time to provide us with their thoughts and input.
- Find tools that can help. We used a number of products to help us. This was especially important as this was a distributed effort – we don't live in the same city. So it was critical to have tools that supported us in communicating, sharing artifacts, and versioning our content.
- And the last item – which was the biggest surprise – was just the length of time and amount of effort that went into the process. Overall we took over a couple of years to go from initial writing of the book proposal to having the book completed and shipping. In addition, during this timeframe we would spend many a night and weekend moving the project forward.
How do you use developerWorks?
I'm a big fan of developerWorks. In writing the book, we used developerWorks for some of our research – accessing articles, tutorials, blogs and RedBooks. In working for IBM, one way I use developerWorks is for staying up-to-date and performing research. I also use developerWorks to help connect with the audience that I'm helping with the IBM software products. For many years – that meant writing articles and tutorials in support of Rational Software Architect and Rational Application Developer. More recently, I've been focused on the pureXML capabilities of DB2. For pureXML, we've also been taking advantage of some of the newer aspects that developerWorks provides such as Wikis and Forums.
What new topics or areas are you learning about right now?
I've recently joined a team within our Information Management group that focuses on helping customers and partners in using XML within their solution. In particular we look to help in using the pureXML capabilities of DB2. XML is pervasive in today's solutions – so I'm looking at how we can construct end to end solutions that best take advantage of XML. So in addition to diving into the details of DB2, OLTP, XQuery, SQL/XML, XPath and XSLT – I'm also looking at how this best works with application servers, SOA, Web 2.0 and industry standards.
And in bringing these full circle, I'm also working on a project focused on the patterns that surface in creating solutions that incorporate XML. Hopefully, I'll be able to get some articles on dW that discuss the results of this effort.
How are you using social networking today?
I'm trying to find the aspects of social networking that work best for me. Right now, I'm using Twitter (@lmackerman), LinkedIn, and have a couple of blogs (http://patternsbasedengineering.net/ and http://leeackerman.blogspot.com/ ). With these tools – the focus has been on connecting with others and finding/sharing information.
What are some of your favorite websites/feeds/twitter accounts to follow?
Here's a few of my favorites:
1. Grady Booch's blog - Grady typically touches upon a range of items related to software architecture.
2. Native XML Database - Matthias Nicola, author of the pureXML Cookbook, posts to this site – adding details on working with XML and the pureXML capabilities of DB2
3. GigaOM – news, opinion and analysis of the tech news
4. WebSphere Community blog - in particular, they have some excellent coverage of the WebSphere XML Feature Pack – for working with XML in the middle tier.
- Thanks Lee!
This week get to know a new member of My developerWorks in this interview with Brian Benz. He's an XML enthusiast who's also a blogger, author, and entrepreneur. Learn more about Brian in the interview below and you can also find more about him here: Brian's My developerWorks profile - Blog - Twitter
What was your first job?
I started work quite young - my first job was at 14 working in a ski shop installing bindings and lots of maintenance work that ski shops don’t do anymore due to product improvements. Is that far enough off topic?
How did you get started in the IT industry?
I always had an interest in computers. My first computer was a commodore 64 with a cassette drive. In 1980/81 I developed a few functions on an Apple II using Applesoft basic, but that was just a hobby. My first real paid tech job was in London, UK, in the early 80’s programming and maintaining business functions on IBM System 32, 34 and 38. In my spare time I started automating some tedious manual tasks on what was an unused novelty in the office at the time - an original IBM PC using Lotus 1-2-3 and dBase. The more I worked on the PC, the faster I could do my job, and the more spare time I had to figure out how to automate more tasks – I was hooked!
What are you currently working on?
Several client projects, building some XML, Lotus Notes and Data Analytics products, setting up 2 new companies and Web sites (http://www.benztech.com and http://www.datavida.com), creating a new XML format for sharing unstructured data (http://www.udml.org), and working on an update to the XML Programming Bible.
What's the most fun project you've worked on?
Definitely creating UDML. It’s nice to work with a clean slate and do something that you think could make life easier for a lot of people.
What are a few of your favorite development tools and why?
The absolute best tools I’ve ever worked with are the Altova suite of tools, especially XMLSpy (http://www.altova.com) . Anyone who works with XML, SOA, or even standards-compliant Web content development should try these tools and see why for themselves. Other than that, Eclipse tools are what I work with the most, plus Microsoft Visual Studio, SharePoint Designer, InfoPath, and IBM Lotus Domino Designer.
Are you a gadget person? What type of gadgets do you use?
Not a gadget person per se, but I love my iPhone. The apps and music functions let me connect to my music library, friends, social networks, and the Web in ways that I haven’t with other phones. It’s actually changed my life in a few ways, all for the positive.
How do you use developerWorks?
Mostly to connect with my fellow developers and share tips and advice. Like most geeks these days, I don’t know everything, but I know where I can find everything quickly. developerWorks is definitely one of the resources I use to learn quickly when I need to.
Are you a blogger? Author? On Twitter?
My blog is Software Soapbox at http://ww.softwaresoapbox.com.
I’ve published three books - one for IBM and two for Wiley. Also many magazine articles and presentations. My full list of publications can be found at my personal Web site at http://brianbenz.com
I’m also on LinkedIn at http://www.linkedin.com/in/brianbenz, on Twitter at http://twitter.com/bbenz , FaceBook at http://www.facebook.com/people/Brian-Benz/1412015686, and FriendFeed at http://friendfeed.com/bbenz.
What are some of your favorite Twitter accounts to follow?
It’s a mix of tech, local news, and fun. Aside from @developerworks, I also follow @craignewmark, @davewiner, @forkflylasvegas, @edbrill, @cnnbrk, @WholeFoods, @jowyang, @dsearls, @TechCrunch, @CaesarsPalace, @happn_in_vegas, @xbrlblog