Alec the Geek

mobile version http://alecthegeek.mofuse.mobi/

Archive for the ‘Application Lifecycle Management’ Category

What is Application Lifecycle Management?

Posted by Alec on 18 December 2008

The analysts and tools vendors have been talking about Application Lifecycle Management (ALM) for many years now and I think they have (of course) been somewhat self serving in their definitions. ALM seems to  include whatever product category they have in the current price list and then promising their integrations’ would be managements answer to cost and governance issues. I hope to say more about integrations in the future, but I’d like to look at the scope of ALM for now.

If you ask vendors and consultants (including me) about ALM scope you’ll get answers such:

  • Requirements engineering
  • Software Configuration management
  • Dependency Tracking
  • Change control and work tracking
  • Test management
  • Software development tools and process
  • Software building and processes
  • Deployment
  • Process Governance

Depending on the vendor you might even get more traditional: Project and Program Management;  Project and Application Portfolio Management/Analysis; and Service Management activities thrown in as well.

The usual sales pitch is that everything is managed via a common tooling and provides a common repository. The major, and often single, selling point of this approach is improved governance and business oversight of the SDLC.

However I think it’s useful and important to look at the definition of ALM from a customers perspective rather than as analysts or vendors.

It seems that a more pragmatic approach is to describe ALM as the methods, processes and tools that support the management of change for software systems — with particular, but not exclusive, emphasise on the SDLC. In this context it does not matter if we are using Agile or Waterfall approaches, we chose the best tools and processes for our particular situation. This of course implies that in eighteen months time we may need to re-tool.

Furthermore the methods tools and processes of project management (PM) are much more mature and there is no real need to include them in this evolving segment — they have their own. Obviously PM will have an influence and impact on ALM and we need to design our ALM approach to dovetail with it. I realise that most vendors will not agree with this.

I have come to the conclusion in order to ’sell’ ALM into the teams that will use it we need to ensure, front and centre, that ALM provides a ‘better/faster/more’ improvement in daily productivity. That should be the primary focus of what is delivered.

Governance, audit etc should be secondary attributes and natural site affects of using ALM (important though they are of course and usually the primary sales message).

So at a practical level we need to be able to provide teams and their specialists with the best tools they need to do their job. Additionally we need to provide a supporting layer of data flows, events and data repositories to

  1. Assist teams with traceability
  2. Provide the tracking and management visibility to effectively steer the ship

So the point of this post is to plead with vendors to stop selling a one size fits all tool suite with deep integrations and start enabling shallow API and effective integrations to allow a truly best of breed approach for customers software purchases. It’s a shame that ALF project is shuting down.

Posted in Application Lifecycle Management, Business, LinkedIn, Personal Opinion, Software Configuration Management, Software Development | 2 Comments »

Something I have been whining about for years

Posted by Alec on 22 July 2008

Syncable tools for the offline web

SD is a peer to peer bug tracker which can sync to itself, RT or Hiveminder. You can extend SD to sync to other bug tracking tools by writing simple adaptors. If you’d like to help make SD work better with your bug tracker, drop us a line.

With all the cool kids (and me) moving to distributed version control tools it’s been obvious that that there is a gap because our bug databases are centralised. Why is that a problem? Because code changes should always be booked against either a user story or a bug report. The link needs to be hard! i.e. I should be at least warned when I commit code without a ticket and when I look at a completed ticket I should be able to find the corresponding code. When you are committing code changes at 11,000 meters above sea level that can be a bit hard.

The only thing I know about SD is what I’ve read above, but already I want it!

[update 25/July -- the SD website now works so go for it!]

Posted in Application Lifecycle Management, Project Management, Software Configuration Management, Software Development, Work Practices | Leave a Comment »

Installing a Serena Dimensions standalone system

Posted by Alec on 22 July 2008

Many Dimensions consultants, trainers and administrators have their own personal recipe on setting up a standalone Dimensions CM environment. Here is my latest:
Read the rest of this entry »

Posted in Application Lifecycle Management, Serena Dimensions, Software Configuration Management | Leave a Comment »

An easy way to document process

Posted by Alec on 8 July 2008

What is a “Lightweight Ticket Process” ? « Alec the Geek

Document the process in some fashion. A process that is not documented can be very hard to talk about, agree and improve.

Following on from a brief twitter conversation with Kate this morning here is a simplistic example of how I currently document processes. The motivation for this approach is:

  • Simple to edit and and maintain
  • I hope simple to read and understand (even if you are not technical)
  • Can be used as the basis for detailed work instructions

Posted in Application Lifecycle Management, Software Configuration Management, Software Development, Work Practices | 1 Comment »

How not to market yourself on YouTube?

Posted by Alec on 11 September 2007

A company I know has released a promotional video on YouTube to explain their solution space. Whilst I applaud their initiative, I can’t help feeling they look like a bunch of sad 40 year olds trying to do the twist at an Eminem concert.

Sorry guys, a 10 for effort, but minus several million points for style

Or am I being really bitchy and unfair?

Posted in Application Lifecycle Management, Business | 5 Comments »

Intresting metric for predicting code quality

Posted by Alec on 6 August 2007

The Joel Test: 12 Steps to Better Code – Joel on Software

The Joel Test

The article explains it well and I have to say that it would make a very effective first test for team and process maturity. Try and see how well your team does…

Powered by ScribeFire.

Posted in Application Lifecycle Management, Project Management, Software Configuration Management, Software Development, Work Practices | Leave a Comment »

Another blog than is not ashamed to say “Application Lifecycle Management”

Posted by Alec on 27 June 2007

Agile Software Process Improvement

Agile Software Process Improvement

I just found Jason Gorman’s blog (and his UML Tutorials). I am looking forward to reading more over the next few days.

Powered by ScribeFire.

Posted in Application Lifecycle Management | 1 Comment »

UML for ALM Process Documentation

Posted by Alec on 23 June 2007

Some time ago I wrote about

Formal UML documentation for ALM Processes « Alec the Geek

the use of sequence diagrams to show higher level process

I at last got around to creating a very simple example

Bug Lifecycle

 

 

 

 

 

 

 

 

 

 

 

Powered by ScribeFire.

Posted in Application Lifecycle Management | Leave a Comment »

What is Enteprise Change Control?

Posted by Alec on 23 June 2007

Tool vendors love to talk about ‘Enterprise Change Control’ but what does that mean? Here are some attributes that I think define this label. Obviously there is further detail to be inserted behind each point (but hopefully all that will be revealed at OSDC)

  • Captures everything
    E.g. bugs, questions, initiatives, enhancements,…
  • Does not drop anything
  • Does things the same (best) way every time
  • Records risks and progress
  • Authorises the risks and work
  • Keeps historical information
  • Is regularly reviewed for improvement
  • Is appropriate for the task at hand
  • Supports a clear “line of sight” from request to implementation
  • Supports and reinforces the “Dimensions of Change

Posted in Application Lifecycle Management | Leave a Comment »

Capturing ALM Metrics

Posted by Alec on 20 June 2007

Useful Software Metrics « Alec the Geek

Using a ticket management and capturing all issues, not matter where in our lifecycle they occur

Not all software teams have tools that allow metrics to be gathered. Without metrics we cannot answer questions about productivity, process improvement or estimating other than by (hopefully) intelligent guesswork.

How might we address that in the short term?

  1. Introduce a time sheet system: That’s complicated and requires tools to analyse the data
  2. Ask people to fill on project work sheets i.e. a time sheet for a project, rather than for an individual. It should be filled as each project work product is delivered (e.g. domain model,  fully dressed use cases, test cases, etc.). The sheets should be simple i.e. the deliverable, the project name, the project phase, dates and a summary total of effort and the number of people involved.

Armed with this simple information it should be possible to start gathering some more intelligent insights into how well the software process is working.

Powered by ScribeFire.

Posted in Application Lifecycle Management, Project Management, Software Development | Leave a Comment »

OSDC 2007

Posted by Alec on 16 June 2007

The Open Source Developers Conference 2007 call for papers has gone out and I have just submitted my paper proposal. Now all I need to do it write the paper and set up the demo’s… (if I get accepted)

Posted in Application Lifecycle Management, ego | 1 Comment »

An odd blog

Posted by Alec on 16 June 2007

Computer Math

Computer Math

I found this site, which has AlecTheGeek linked in their blogroll — many thanks for that. The site is a set of personnel technical notes and seems to be focused on software building and deployment. There is a lot of basic information, but it needs expanding with more personnel experience I think — could have lots of potential.

Powered by ScribeFire.

Posted in Application Lifecycle Management | 1 Comment »

Linux Poster Boy Talks about SCM

Posted by Alec on 3 June 2007

Códice Software: Linus Torvalds on GIT and SCM

speech Linus Torvalds gave some days ago at Google, basically talking about GIT and Source Control Management

Codice Software have a nice blog entry about Linus’ presentation on Source Control Management. He does a nice job of expounding on the value of distributed version control — worth watching. There is further analysis by Kyle Cordes

However one question that is not obvious with distributed SCM is how to link commits to issues in the bug database. Do we we need a replicated bug database? If we we record the commit in a central database then we have a problem because we may not have access to the corresponding code…

Powered by ScribeFire.

Posted in Application Lifecycle Management, Software Configuration Management, Software Development, Work Practices | 2 Comments »

Dimensions of Change

Posted by Alec on 20 May 2007

In the past when I’ve looked at Change Management issues I’ve tried to concentrate on lower level more practical topics. However recently I have the opportunity to think about change processes at the a higher level and of course that let me to want talk about it.

When looking at a change process it is tempting to see it as a single process, one size fits all, i.e all changes can be treated identically. However life is never that simple because changes have multiple facets. As well as identifying which change process needs to be followed, change dimensions provide information to assist us in prioritising work.

The most obvious difference, and the one that most people first come across, is the budget difference. Depending on who is paying for an change (IT or customers) has a direct bearing on the approval process. If the customer is paying (either directly or indirectly) then they, or their delegate such as the marketing department, must be involved in the financial approval to spend money. If it’s ‘free’ then the customer involvement may be limited to status updates.

A second dimension is size. The larger the size of the change the greater the process complexity and check points. How do we measure size? A variety of metrics need to be used, typically financial cost to implement, architectural impact on the software system, impact on other systems, how many project owners/stakeholders exist (this increases the issues involved in communication and resolving conflicting needs). This concept is reflected in the ITIL change process which recognises three levels of change impact and has different process flows accordingly.

A variation on the ‘financial cost to implement’ value is that different software systems may have different costs to deliver a similar level of business value. So a legacy application that contains a lot of cruft might cost $x to deliver y benefit, however in a different part of the business a different system might take a lot less than x dollars to deliver the same amount of value. So when comparing changes in a priority list, looking at a pure financial cost may not be enough.

The third Dimensions of change can be considered as political, i.e. who is sponsoring or controlling our changes? Often the executive team are able to generate a significant amount of strategic work which could absorb the all potential development and related resources. However an organisation also needs to exist on a daily tactical level and there are significant improvements to be made by implementing as many improvements to the current business as possible. However these changes often appear less significant to executive sponsors because of their more tactical nature despite their possibly huge business value.

When the various facets of a change are taken into account we can then make some decisions about the change e.g. Who will make the change, what level of process maturity will the change need to follow, which budget will pay for the change, who will be involved in acceptance testing, when will the change be released and so on.

Next time I will discuss some practical consequences of this and how to avoid some of the resulting pitfalls

Posted in Application Lifecycle Management, Project Management | 1 Comment »

Software Development: Where are you now?

Posted by Alec on 31 March 2007

When you start to think about a software project one of the things you absolutely need to know is “Where are we now?” (along with “Where do we want to go?” and “How are we going to get there?”). This question is usually not thought about that hard, and if the team have been working together for some time they generally “just know” anyway. However for an ousider it’s an important question to think about. I generally look for the following:

  • What version control tools are in use and how is the information set up and used
  • Is there any documentation of process and
  • Does anyone follow the process documentation
  • How do the customers feel about the work the team does – how do they think the team should change (that can be a hard question to get honest answers for)
  • How are requests and issues documented (e.g. emails, post-it notes, bug tracking tool …) and how is the information used
  • What is the technology used (e.g. frameworks, languages, build tools, IDEs, deployment …)
  • What are the current ‘pain’ points (e.g. too much rework, too hard to understand code base, can’t refactor etc.)
  • How much budget and autonomy does the team have

This will help you build an informal map to assist in in planning any work and identifying issues that may need addressing outside of the current project work. The information should be maintained in some easy to understand form e.g. a Mindmap or WiKi and updated every month or two.

Posted in Application Lifecycle Management, Project Management, Software Configuration Management, Software Development, Work Practices | 2 Comments »

I got a new book, Fit for Developing Software

Posted by Alec on 26 March 2007

FIT

Fit is a tool for enhancing collaboration in software development.

I just bought Mugridge and Ward’s book on using the Framework for Integrated Tests. I have only got as far as Ch 4 but I am very excited about how this approach might:

  1. Help my conversations with customers by encouraging the use of Fit documents and
  2. Reducing development overhead by making it easier to implement automated testing for business rules

I hope to get a chance to try this on some projects in the next 3-4 months so watch this space.

powered by performancing firefox

Posted in Application Lifecycle Management, Project Management, Software Development, Work Practices | 10 Comments »

Software Development: So what do your users need?

Posted by Alec on 23 March 2007

If you noodle around the Internet you can find some very gloomy reports showing the number of software projects that fail to meet users expectations. Whilst many of the reports are paid for by vendors of Requirement Management software, they are still pretty depressing. Why are we so bad at delivering software to our customers? There are many reasons and volumes have been written about it, however I think we can distil it down to three main issues: Read the rest of this entry »

Posted in Application Lifecycle Management, Business, Project Management, Software Development, Work Practices | 7 Comments »

Agile projects vs. Change process

Posted by Alec on 5 March 2007

Regular readers will remember that a while back I wrote a few posts talking about the job of a ticket process to manage changes and issues; and more recently I have banging the drum about the wonders of Agile development. How can I reconcile what appear to be two conflicting approaches?
Read the rest of this entry »

Posted in Application Lifecycle Management, Software Development, Work Practices | 2 Comments »

Have source and change control, or else be afraid; very afraid…

Posted by Alec on 6 February 2007

IDEs are not a panacea, but neither are they all bad « The Wandering Glitch 2

Is he saying a common source code control policy is a bad thing?

I say unequivocally that both source code control and change management are absolutely vital. However using an IDE over the top of these tools can be problematic for a variety of reasons:

  1. How does one handle the sharing of code and modules between IDE projects when the common code is in the version repository. Unfortunately the answer depends on the combination of the IDE and Version control tool being used
  2. How to handle re-factoring? (re-factoring is a good BTW) Again the final answer depends on the combination of your IDE and version control tool.
  3. Is there an effective interface to your change management (ticket management) application/repository from your IDE?
  4. Depending on the tools and technology used IDE integrations to Change Management and Version Control systems can be fragile. It’s an extra dependency to manage and support and not everyone wants to run a single solution from a single vendor.

powered by performancing firefox

Posted in Application Lifecycle Management, Software Configuration Management, Software Development, Work Practices | Leave a Comment »

Formal UML documentation for ALM Processes

Posted by Alec on 24 January 2007

Use Cases and Implementing Application Lifecycle Management Systems

use cases can be deployed with good effect when implementing an enterprise scale Application Lifecycle Management (ALM) system.

I found this article from a pointer the CM forum at the Xing networking site. Whilst I had considered the use of use cases before for process, I had not really thought about it a this level if granularity or the use of sequence diagrams to show higher level process. I might try some of this in my next Development Process engineering project.

Once obvious area of concern is that the products from such a UML effort will be too cumbersome to be useful and to hard to re-factor into more comprehensible documentation. Remember my mantra is “Appropriately Lightweight

powered by performancing firefox

Posted in Application Lifecycle Management, Work Practices | 1 Comment »