1

There are quite a few enterprise agile software development frameworks available:

I've also spoken with people that state that your enterprise agile processes should just 'emerge' and that you shouldn't need or use a framework because they constrain you.

Question 1: When should one choose an enterprise agile software development framework, and when should one just let their agile processes 'emerge'.

Question 2: If choosing an enterprise agile software development framework, how does one select the appropriate framework to use for their organisation?

Please provide evidence of your experience or research when answering questions rather than just presenting opinions.

  • 1
    By "framework" you mean a "development process framework", not what software developers typically associate when they hear the term "enterprise framework" (application development frameworks like "Spring", spring.io or Ruby on Rails en.wikipedia.org/wiki/Ruby_on_Rails)? – Doc Brown Jun 11 '14 at 9:01
  • 1
    IM(ns)HO, when a framework gets to "emerge" is only because of a long list of previously failed attempts ("hey, to solve problem X we will implement nightly builds and automatic testings and we will not screw the project for that problem AGAIN"). Trying to use a well stablished process should limit these issues to a minimum (provided that you chose a process that suits your company needs). – SJuan76 Jun 11 '14 at 9:13
1

Thanks for listing my book in your top 5.

"Agile Project Management for Government" takes a fresh approach in that I describe real life, fully attributed agile successes. These are case studies at Enterprise scale.

I do not favor DSDM (although the book starts with a DSDM case on a breakthrough in UK battlefield tech development). The spectacular use of Scrum at the FBI in the USA to save their previously failing $750m Sentinel project is a must read also. Many other examples from USA, UK and around the world.

So my recommendation is to use whichever prescriptive framework you like from the other 4 authors - but if you need to convince your management to go agile, use my book to back up your arguments with evidence.

Brian Wernham

bit.ly/Brians-Blog

London

  • I can agree not to use DSDM too! Used in a financial services company, it took us 6 months to do a bog-stupid small web service. – gbjbaanb Jul 11 '14 at 7:33
  • Thanks for the response Brian. FYI, I have also posted a similar article on LinkedIn – Chris Snow Jul 11 '14 at 8:28
  • While I am glad that authors come to Programmers SE to answer questions, I'm afraid your post is a non-answer. Self-promotion doesn't seem to be what this site is for. -1 from me. – Deer Hunter Jul 11 '14 at 8:28
  • @DeerHunter, I don't believe Brian was self promoting. I was the one that mentioned his book in my question. I'm pretty satisfied that he has answered both my questions and the evidence of experience behind Brian's answer can be found in his book. – Chris Snow Jul 11 '14 at 22:01
3

Question 1: When should one choose an enterprise agile software development framework, and when should one just let their agile processes 'emerge'.

You should always let your processes emerge, agile or not. Enforcing a process is a great way for that process to mismatch what you need to do, causing inefficiency at the very least. (See Rands' for good links and expert advice about why this is so).

Choosing a framework then depends on whether you want to emerge from nothing (read: some initial state your team decides on) or from some framework that worked really well for other people. There's no right answer there. If your company works very similarly to other companies, with similar personalities and similar corporate structures, then starting with someone else's framework is great. If your company is really weird in what it does, how it works, and who works there then maybe starting with what you think is best may prove better than using something that doesn't fit your situation well.

The goal in this choice is to pick some starting point that you think is closest to where you'll evolve the process too, so that evolution is not very painful.

1

Learn how to be agile first.

I think there is a problem with adopting agile for the first time along with an enterprise system? If you had a startup would you use something like QuickBooks or some large Enterprise accounting system like SAP? Seems like you should figure out how to handle the accounting and other systems for your company first with something more appropriate. I would recommend starting with a small project going agile that has enough importance so everyone takes the process seriously, but not so super mission critical and timely which will probably suffer by trying anything new.

Question 1: When should one choose an enterprise agile software development framework, and when should one just let their agile processes 'emerge'.

Start with a small group. In my experience, agile like anything else should start with something established when possible. Why reinvent the wheel especially if you don't know how to invent a wheel? A lot of agile methodologies have much in common. There will be some aspects where many of your team members will look at certain parts as absolute deal killers (e.g. pair-programming). You'll probably be able to weed many of them out. Select a few for review depending on how much resources you have to this process. Sure it would be great if you could pick 10, but may only have enough time for 3.

Yes, there will be constraints, but you can iterate this process (Which is in the spirit of agile.) and make adjustments based on some data and experience and not just pure personal preference. There is the risk of someone being a zealot to a particular process and wants to adhere to it at the detriment of the project, but that can happen with anything. The key here is to not have too many moving parts with too many changes much like good experimental design. If you exclude some aspects too soon, you risk losing the effect of certain parts working together (Pair-programming gets a bad rap, but so does replacing the lone developer on a project.). However, if there are aspects of a particular methodology that is going to be a massive undertaking for your team (e.g. No one has a clue about unit testing.), you may need to give it some time before trying to do everything at once.

Question 2: If choosing an enterprise agile software development framework, how does one select the appropriate framework to use for their organisation?

This should be a lot easier once you have adopted and possibly adjusted for your needs at a small scale. It will be easier to put a list of needs. You can ask others about particular types with more specific questions because you will be able to convey your particular needs.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.