Archive for the 'Article' Category

Six Behaviors to Consider for an Agile Team

Tuesday, August 17th, 2010

Are agile team members different from people on other teams? Yes and no. Successful agile team members exhibit certain behaviors more often than non-agile project team members, because agile requires these behaviors to create a successful team and product. If you’ve been tasked with creating an agile team, what qualities should you look for? Below are six key behaviors people on successful agile teams exhibit.

Johanna Rothman

http://www.stickyminds.com/sitewide.asp?Function=edetail&ObjectType=COL&ObjectId=16277&tth=DYN&tt=siteemail&iDyn=2

DIY developer tools to boost apps market

Tuesday, August 17th, 2010

Building mobile apps is typically perceived to be difficult and tedious, and a skill that requires programming knowledge. Market players, however, are introducing new tools to enable anyone to exercise their creativity toward improving smartphone usability.

Google’s App Inventor for Android, for instance, aims to ease the barrier of entry into app development. Currently in beta, the developer tool is designed for people with little or no computer programming experience and knowledge.

Tyler Thia

http://www.zdnetasia.com/diy-developer-tools-to-boost-apps-market-62201816.htm

The Impact of Test Automation on Development

Tuesday, August 17th, 2010

It seems obvious that automation will affect the test organization. Less obvious—but no less real—is that it will also affect the development organization. In fact, when you choose to automate the testing for an application, your relationship with development changes completely.

Automated test tools have to interact with the software at a deeper level, thus exposing the inner workings of the code and perhaps uncovering problems that prevent or complicate automation. If you’re not careful, developers might think you have suddenly transformed into an interfering busybody who is sticking your nose into their business.

Linda Hayes

http://www.stickyminds.com/sitewide.asp?Function=edetail&ObjectType=COL&ObjectId=16296&tth=DYN&tt=siteemail&iDyn=2

CMMI Representations: Past and Future

Tuesday, August 17th, 2010

CMMI Version 1.3 models will be released in November 2010. This latest release of CMMI models includes changes to the high maturity material and other improvements that will better meet the needs of organizations that use CMMI models.

The decision to improve the coverage of high maturity was central to the Version 1.3 update. The decision to eliminate the high capability goal structure adds value for process improvement more than simply maintaining the legacy approach. Some will find these changes challenging; however, most will see that the advantages of a multi-constellation environment outweigh the risks that come with any change.

Mike Phillips

http://www.sei.cmu.edu/newsitems/CMMI_focus_073010.cfm

What is HTML 5

Tuesday, August 17th, 2010

HTML5 is being developed as the next major revision of HTML. This code can now be used for new functions that can benefit developers and internet users.

This infographic gives an overview of HTML 5 on a single page.

http://www.focus.com/images/view/11905/

Contributing to Open Source Projects

Tuesday, August 17th, 2010

Prior to joining Google I always joked that Google was the black hole that swallowed up open source programmers. I’d see awesome, productive hackers join Google and then hear little to nothing from them afterwards. When I joined I decided I’d solve this mystery and post about it but it’s been over 2.5 years and I’ve been busy and somewhat forgot. Fortunately a discussion at work last week reminded me of this again, and a bunch of us got to talking about the phenomenon. Here are the main reasons for open source programmers sometimes disappearing.

Brad Fitzpatrick

http://brad.livejournal.com/2409049.html

A DSL in 5 Languages

Tuesday, August 17th, 2010

We provide client libraries in 5 programming languages: Ruby, Python, PHP, C# and Java. Maintaining 5 libraries means writing essentially the same functionality in 5 languages. In many cases this just means differences in syntax. However, some features are complicated enough to warrant a slightly different approach in each library.

One example is transaction searching. Because searching can be a bit complex, we decided to create a Domain Specific Language (DSL) in each of the five libraries. This article explains all five of them.

Bryan Johnson, Dan Manges

http://www.braintreepaymentsolutions.com/devblog/a-dsl-in-5-languages

Ars Magna: the revolution is overdue

Wednesday, August 11th, 2010

The past sixty years have seen numerous “revolutions” in the realm of software development: ‘structured,’ ‘CAD,’ ‘objects,’ ‘SOA,’ and most recently, ‘Agile.” Despite these advances, our ability to successfully complete software projects has improved only marginally. The time for a real revolution is overdue, and this essay introduces and outlines a direction that such a revolution might take - the establishment of a Great Art (Ars Magna).

Dave West

http://www.infoq.com/articles/arsMagna-agile-essay

The Requirements Payoff

Monday, July 19th, 2010

Getting a project’s requirements right from the start can speed development and ward off problems. Investing the time to create better requirements for a software project takes a major leap of faith, since people tend to think the extra up-front work will just delay development. That’s generally true, but getting requirements right also prevents problems later that can not only delay projects but lead to their failure.

Karl Wiegers

http://www.drdobbs.com/architecture-and-design/225702520

5 things you didn’t know about Java performance monitoring

Monday, July 19th, 2010

Blaming bad code (or bad code monkeys) won’t help you find performance bottlenecks and improve the speed of your Java applications, and neither will guessing. Ted Neward directs your attention to tools for Java performance monitoring, starting with five tips for using Java 5’s built-in profiler, JConsole, to collect and analyze performance data.

Ted Neward

http://www.ibm.com/developerworks/java/library/j-5things7.html

Software Security in an Outsourced World: Operationalizing the Contracts

Monday, July 19th, 2010

For best results, your vendor should have good security credentials and your security requirements need to be clear; perform checks regularly, even after systems are up and running. A Software Security Vendor Management Program and applying a standard process to associate key software security aspects with the nature and stage of the relationship with an outsourced provider or contractor is important. A Software Security Vendor Management Program focuses on three key areas: Contracts, Validation, and Operations.

Rudolph Araujo

http://www.softwaremag.com/L.cfm?Doc=1266-6/2010

The Role of the Developer in the New Network

Monday, July 19th, 2010

Cloud and virtualization are imposing a heavy burden on the infrastructure supporting applications. The “new network” necessary to support the dynamic environment in which applications are rapidly provisioned requires that network components - from switches to firewalls to load balancers - be not only dynamic, but able to collaborate with the broader management ecosystem. We all know what the word “collaborate” means to applications and it’s no different for network components - integration.

A potentially new role within IT is emerging, one that focuses on network and infrastructure components rather than applications: infrastructure developer.

Lori MacVittie

http://www.drdobbs.com/architecture-and-design/225800076

The Impact of Virtualization on Software Architecture

Monday, July 19th, 2010

Virtualization has a profound impact on IT environments, as it abstracts the physical characteristics of computing resources from users. Virtualization techniques are mainly used for enhancing capacity (using excess computer resources efficiently), compatibility (running legacy applications on modern platforms), and manageability (easy patch management and deployment). However, one must not confuse virtualization technologies - such as OS virtualization and application virtualization - with virtualization itself. In principle, virtualization can be applied to provide an abstraction layer that helps solve complex problems in software architecture.

In this article, we examine the impact of virtualization on software architecture to support desired attributes - such as high dynamic scalability, high availability, and geographic distribution - in modern composite applications, as well as the benefits of extending a virtualized environment to traditional applications.

Nishant Thorat

http://msdn.microsoft.com/en-us/architecture/ff803567.aspx

Requirements, Aspects and Software Quality

Monday, July 19th, 2010

Object-oriented analysis and design have been more concerned with system functionality, neglecting non functional aspects; the result is code entanglement, difficult to maintain, contradicting main principles of object orientation. Aspect Oriented Software Development (AOSD) proposes the early specification of non functional requirements. However, a standard and homogenous vision of the AOSD terminology is still missing. The goal of this work is to integrate AOSD concepts, classic requirements engineering notions, and the new standard ISO/IEC 25030 on software quality requirements.

Isi Castillo,
Francisca Losavio,
Alfredo Matteo,
Jørgen Bøegh

http://www.jot.fm/contents/issue_2010_07/article4.html

Scala vs. F#: Comparing Functional Programming Features

Monday, July 19th, 2010

F# and Scala, two relatively recent programming languages, provide most .NET and Java software developers with new functional programming features that are worth understanding and evaluating. In this article, I will compare and contrast the functional features and related syntax of F# and Scala.

Edmon Begoli

http://www.developer.com/features/article.php/3883051/Scala-vs-F-Comparing-Functional-Programming-Features.htm