A legal company which I have recently joined has an IT team consisting 3 Business Analysts (who also sometimes act as project managers), 5 developers and then a small software/hardware support team. This IT team supports a company of 500 people.
The developers time is split between development of new in house software (e.g. document management systems to support the solicitors, web products to capture new clients), support/changes to existing software (some of it off the shelf) and also the fixing of bugs in the various different systems. The nature of the business is such that one of the senior partners (business owners) can tell the development to stop all of the work that they are doing and concentrate on designing a new system for a certain team. Or, more commonly their time needs to be split so that they are all working on different projects/developments/bugs...
- My question is whether Agile can be employed in this sort of organisation and is it a good idea? At the moment the IT director will have a weekly report of the projects/developments/bug fixes which have been requested and then allocate work to the developers accordingly. But aside from that weekly meeting there is not a great deal of communication. The Business Analyst's time is spent either writing complex specifications for new systems (having met with business users) or drafting change requests. They also get involved with user testing too. - Does agile work better in an environment where you have one team all working on the same project/development? - How can we use it in this organisation? Would it improve anything and be better than writing complex specifications for one developer to go away and work on alongside their other daily support work?
- Finally, for some of these system specifications the business analyst needs to draft activity diagrams and flowcharts and then include rules of what needs to happen in different scenarios - how does agile deal with this? It seems to me that simply drafting some user stories instead of more detailed functional requirements for the developer would not be sufficient?
Many Thanks in Advance
I think Agile could work very well within an environment that you describe. It sounds like you are not overly familiar with Agile methods. While your situation isn't ideal (senior partners pulling people off of projects at a moments notice), Agile at least positions you to react better to these situations.
Some of the key benefits of Agile for this type of environment are:
To specifically answer a few of your questions...
Agile is intended to be flexible and reactive. You can have one developer focused on a project or several.
Agile typically puts off details until they are needed. Think JIT (Just in Time) development. So brief User Stories are created early in the process. Then when a user story is placed in a Sprint more detailed conversation can occur between Developers, Analysts, and Business Workers. If you need to create a process flow or some other documentation to support the User Story then that is what you do. Agile doesn't me no documentation, it means only the necessary documentation that makes sense to get the feature coded in that Sprint.
Agile is usually managed with daily stand-up meeting. These are very brief meetings (usually about 10-15 mins) where everyone on the team gives an update.
Here are a few interview questions that were written describing Agile...
What is Agile?
SCRUM - a common Agile approach?
What are User Stories?
What are Story Points and how they help with Sprint Planning?
Thanks Chris....that's really helpful. One thing....the last link wasn't working for me - do you have the working link?
This morning I need to somehow start working on a system which will deal with the requesting of client medical records from hospitals, general practitioners etc. The overall user story is simple I guess....'As a call centre worker (these are the admin staff who deal with these tasks), I need to be able to request relevant medical records'. But in terms of breaking this down further....I have no idea!!! So that link would be really useful if possible. The system needs to deal with things like 'have GP records been returned, prompt call centre user to ring to chase/send letter to chase' etc etc
Sorry about that, I must have made a cut and paste error.
I updated the last link and it's working now.
brought to you by enabling practitioners & organizations to achieve their goals using: