Friday, May 29, 2009

The application lifecycle management evolution

I have received several questions regarding the evolution of ALM and ALM systems.

Following post is a brief regarding the Application lifecycle management generations and evolution

Before ALM - There were some tools, or even no tools at all, and each tool did its role. There was no synchronization between the tools.

ALM 1.0 Tools (before even the term ALM was too common) was a set of separated tools that were synced manually in the best case.

ALM 2.0 is the unified platform for all development aspects, one repository, strong analytics and sharing of common services such as security, workflows, templates, etc.

ALM 2.5 (A new term I thought of...) is the next generation of application lifecycle management tools, talks about using the data collected during the development, define behavioural patterns and proactively generate alerts and metrics that will help the organization taking the right decisions, while taking into account every aspect of the development.
Each change submitted will list all the affected areas in the system, will show relevancy rank of affected items and show quality rank for each affected item.

More on that on my next posts....

Sunday, May 24, 2009

The importance of requirements management

The following post discusses the importance of requirements management:

  • The requirements management is the “technical language” that collaborates customers, marketing, development and QA

  • Gathering, documenting, verifying, and managing requirements throughout the lifecycle ensures satisfying customer needs

  • Requiremnts management assures finding defects earlier in the development process

  • Keep product definition up-to-date and

  • Communicate changes to the R&D

  • Ensures that iterative refinements and unanticipated changes are adequately dealt with during the developemnt lifecycle

  • Reduce communication overhead with customer and reduce number of patches delivered to customers for each release

Friday, May 22, 2009

How important is to Jump Start with ALM professional service program?

It’s not easy for software companies to improve operating efficiency while responding to market changes. Improving productivity across business processes requires visibility, speed, and automation. The ALM professional services program can tailor the ALM software to your needs and roll it out quickly and, it can be adapted to changing requirements. Find out how it can grow with your company.

Whether you device manufacture industrial components or software vendor, your success depends on how quickly and effectively you adapt to change. Coping with evolving customer demands, government regulations, and your own market requires constant innovation to bring new products and services to market while controlling costs especially information technology costs.
It is a challenge to be competitive as well as efficient and profitable.
Even with a local customer base, you are likely operating in an integrated global environment where stakeholders are placed around the globe. Limited visibility into business drivers can hamper your efficiency, ALM introduce a well define concept of information gathering at the same time. Rising costs and shrinking cycle times for software development require increased internal efficiencies from flexible software development methods to streamlined order fulfillment. To improve productivity across business processes, you need visibility, speed, and automation. The ALM professional service program is designed to help you tailor an ALM unified platform solution to your needs and get it up and running quickly. Complete with preconfigured system, the program should be easily adaptable to changing requirements, growing with your business. The ALM unified platform solution supports the processes you perform to meet daily business needs from market requirements and product requirements roadmap planning to development and testing and deployment at customer site. When you have selected ALM solution to your organization, at the same time make sure you have preset resources to the implementation program which will enable your employees to make most out of the ALM solution .

Thursday, May 14, 2009

140 words – ALM Analytics and reports – Optimal Requirements vs. Test creation trend

This report usually generated from ALM system that contains requirements management and test management module.

















1. Requirements definition - at the beginning of the application lifecycle, the requirements creation trend is higher, later on used by development team and QA team.
QA starts writing his test plan, but in lower rate.
2. End of Requirements definition - QA continues writing test cases.
3. Equation point 1- where number of tests equal to number of requirements.
4. Start QA cycles - start running tests in QA cycles. At this phase, we usually have more test cases than requirements to assure requirements coverage.
5. Next release starts - product manager submits requirements for next release.
6. Equation point 2 - Number of requirements is equal to number of test cases. The same application lifecycle occurs again.

Saturday, March 14, 2009

140 words - 15 practical tips for test management

1. Cover each requirements with at least one test
2. Write functional tests first
3. Start with positive tests first to avoid show-stoppers
4. Expose your test plan to developers and product managers before QA starts
5. Use defects history for better coverage of existing problems
6. Write short, understandable tests.
7. Use parameters matrixes for multiple configurations
8. Convert each reported defect to test case, in case defect is not reported during test run.
9. Set effort estimation to assess the time required for test execution
10. Create execution sets for functional, sanity, regression tests
11. run test case only once in each QA cycle
12. Create reports for better tracking of your test execution
13. Learn to analyze your test management reports
14. Create understandable and clear defects
15. Use defects steps to reproduce to assure defect can be reproduced

Monday, March 9, 2009

140 words – Process flow/ Workflow in ALM systems

A work flow/process flow is a set or predefined steps that illustrate the progress of work being done.
Using workflow in application lifecycle management is used to track development progress of all ALM artifacts, such as project, requirements, tasks, test cases, defects and so on.

Most ALM tools allow the admin to set the default assignee upon ALM artifact state (status) change.

For example, a defect workflow manages the defect lifecycle, from creation to resolution.
Defect reported in status “New” and assigned to the team leader, who allocate the defect to the relevant developer. Once done, the defect status is changed to “Assigned”.
The assigned developer can fix the defect (“Fixed”) or reject the defect due to the following reasons:”Not reproduced”, “As design”, “Need more info”. In that case, the defect is routed back to the creator (Tester) for further investigation.

Full workflow examples will be given in the next posts

140 words - Implementing Application Lifecycle Management Tool

purchasing and installing the right ALM system or set of tools is not enough. Most organizations don’t realize the hidden cost of using ALM systems. Using an integrated application lifecycle management requires the organization to consider the followings:

Existing ALM methodologies might need to change;

Resistance of users, now need to “serve” another system, not to mention the fact that they are under “surveillance”, since all their activities and performance is now documented…;

It requires some time for to exploit the full benefits an ALM system;

If several tools are in use – traceability is not natural. It might require lots of investments in order to make all systems “talk” to each other;

And finally – not all organizations are mature enough, or ready for such a change, as good as it can be