You may already have the skills
A combination of PRINCE2 and Agile on your CV is a sure-fire way to get you to the interview. Rapid Application Development (RAD) and the Dynamic Systems Development Method (DSDM) have been around for quite some time and many software development professionals may already have worked in this environment without realising it. Agile’s rapid development approach doesn’t contradict PRINCE2’s structured approach; it is an ideal complement.
TIP: IT professionals with experience of working on development projects may know more about Agile than they think.
How to adapt to Agile
Both methods focus on the product to be produced with Agile giving some tolerance around the finished product. Agile provides greater detail around the production of technical products at the team level, an area that PRINCE2 says almost nothing about. Even with Agile’s iterative approach, be clear what you expect as the minimum deliverable. Of 10 specified, check which 3 can be scored out.
TIP: The key to using Agile and PRINCE2 together is to integrate them at the lowest level of the project. (Eddie Kilkelly)
Make quality the catchword
Everyone on the team, from the developer to the product manager, needs to be acutely aware of quality throughout the process. Quality assurance (QA) might be performing high-level functional testing on one requirement from the current iteration while developers are writing unit tests and code for another. At the same time, the product manager might be concerned about the product's overall reliability or performance.
TIP “We've found that the best results are achieved when quality fits into the various team members' daily tasks.” (Parasoft)
Use automated test and analysis
This catches as many errors as possible before QA. If defects stemming from poorly-implemented code are constantly being passed to QA, this ultimately results in: less thorough acceptance testing by QA; frequent and lengthy QA cycles that break deadline and scope; defects slipping into the released products,
TIP: “Many such defects could be caught by completely automated developer testing—testing that can be performed on the integration server or from the desktop with a single click.” (Parasoft)
Cut out complex code
Overly-complex code has time and time again been proven to be slower, more difficult, and riskier to update and extend than simpler code. It is therefore helpful to zero in on complex code - say, any class or method whose cyclomatic complexity is greater than 10.
TIP: A piece code might work fine right now. But it could cause the team considerable grief down the road when what appeared to be a simple functionality extension ends up requiring a large-scale rewrite. (Parasoft)
Reduce end-to-end testing complexity with sandboxes
Agile teams usually work on distributed heterogeneous applications where one or more component is incomplete, evolving, unstable, inaccessible, or unavailable for testing. How can you run automated end-to-end functional tests nightly in these conditions? To solve this problem, the development teal has to test the code in a safe sandbox that emulates the transaction flows of the production environment.
TIP: Using emulation, a team can work in the correct context but without harming the customer’s business environment. (Parasoft)
Re-test only as needed
Each time an application is amended, the Agile team has to spend an inordinate amount of time doing manual testing. With change-based testing, the team can instantly see which requirements are impacted by recent source code changes and which tests need to be executed again in order to verify those requirements.
TIP: Change-based testing saves a tremendous amount of QA time and resources that could be better applied to value-added tasks. (Parasoft)
Our thanks to: Parasoft, Agile Quality eBook
Eddie Kilkelly, chief operating officer at ILX Group
Search CWJobs for Agile roles and 1000s of developer jobs