Wednesday, August 24, 2011
Little Change In No Silver Bullet
Thursday, May 5, 2011
Setting Scope in Dimensions
- In-Scope: My responsibilities as a project
- Out-Of-Scope: Things that will not be delivered or considered
- Dependent-Scope: Other people's responsibilities, that my project relies on
- Problem: User issues to address or ignore
- Functional: User facing features that are included or excluded
- Non-Functional Requirements: All non-functional requirements can be part of scope, either as area we are targetting to improve, or where we make no promises. (Note that I'm a big fan of phrasing these as negative NFRs - things we can do without is what drives intelligent compromise.)
- System: Which technical systems we are responsible for, or will not change
- Interfaces: System interfaces or integrations that we take responsibility for changing, or normally rely on others for
- Activity: User activity or tasks considered, or ignored (Useful as part of a process when you highlight activities to automate or stay manual)
- Users/Customers: Which user bases are considered, and which excluded
- Organisational: Parts of the organisation whose issues and needs are in scope - very useful when deciding stakeholder and interview lists.
- Legislative: Which parts of law are to be complied with, or whose compliance is a main point of the program
- Deliverables: What documents, sing-offs, or artefacts are included
- Detail: How much details (Descriptive vs Prescriptive) will be included
- Supporting: Which activities or systems will be able to function based on our delvierables. This one's quite useful to say you will produce just-enough to support a particular activity or example (say, estimation) but not enough for another (say, full-build)
Tuesday, March 1, 2011
Logo for Android
I am really enjoying having Logo on my phone. Making that little turtle run around takes me back to first learning about variables and sub-routines on an Apple ][e. Good times.
This is almost definitely my geekiest post ever.
This message and any attachment is confidential and may be privileged or otherwise protected from disclosure. You should immediately delete the message if you are not the intended recipient. If you have received this email by mistake please delete it from your system; you should not copy the message or disclose its content to anyone.
This electronic communication may contain general financial product advice but should not be relied upon or construed as a recommendation of any financial product. The information has been prepared without taking into account your objectives, financial situation or needs. You should consider the Product Disclosure Statement relating to the financial product and consult your financial adviser before making a decision about whether to acquire, hold or dispose of a financial product.
For further details on the financial product please go to http://www.bt.com.au/general/rse.asp
Past performance is not a reliable indicator of future performance.
Monday, February 14, 2011
In Praise of Context Diagrams
- If you’re scope doesn’t cover the whole diagram you can use highlighted areas of the diagram to show in/out of scope, or multiple stages.
- The MS Visio shapes for work flow diagrams and departments are a great source of icons for actors
- Minimise the number of systems you show, it should be mainly about users, systems are only their if they’re really significant.
- Maximum of four lines between any one user and the solution
- The “solution” in the centre of the diagram doesn’t have to be a system; it can be an organisational function, group, process, physical object, or anything really.
- If it helps – think of it as a top-level data-flow-diagram. But I don’t even know if they teach structured design in IT courses any more so that may not help you.
- Each arrow from users/systems to the solution could end up as one or more use cases or as a story grouping.
- Arrows going between users/systems to the solution can be verbs to capture actions, or nouns to capture data transfer. If you can stay consistent that’s nice, but it’s not %100 necessary.
Tuesday, February 1, 2011
Traceability and Business Rules in Word
It lets you create create consolidate of text scattered throughout your word document in a grouped list at the end using the same mechanisms as Tables of Contents, Indexes, and Tables of Figures.
This lets you do things like:
These are the basic steps:
- Create a custom paragraph style in world name it something like "Business Rule"
- Every time you reference business rule in your document put it on it's own line and apply this style (In our project we had a special section in each use case for the business rules)
- At the end of the document create a custom table of contents that lists all of the Business Rules in your document (Right click table, click edit field code, select field options, and you can then select which word styles show up in your table of contents). The resulting field code looks something like {TOC \f \n \h \z \t "Business Rule,2,Use Case,1"}
- It's restricted to a single document
- You have to be a bit of a word nerd
Honestly it's a realy pain, and if you have an options you should use a wiki or a real requirements management tool. This is just a last ditch option to make requirements in word a little more practical.
Guirella Centre of Excellence
But what if you can't?
I knocked togather a few powerpoint slides on low cost, cheap, fast ways to improve performance of the BA function in your organisation if you can't do anything formal. Essentially it boils down to:
- Encourage social contact amongst BAs
- Do information sharing at informal brown-bag lunches
- Have a good bookshelf on-hand
- Have conversations about basic theories, i.e. "What is a requreiment?"
- Use BABOK and IIBA to enhance the "professionalism" of being a BA
This all comes down to encouraging self-directed learning, and a team pride in the BA role.
Tuesday, January 18, 2011
Building Living Specifications
We've all had the experience of trying to understand the behaviour of a system and wading through reams of the original specification, change requests, and series of follow-on project specs, so why do we willing perpetrate this mess?
Probably a few main reasons:
1) The model of monolithic documents being prepared, signed-off, and developed against encourage this beahviour.
2) In the short-term it's the fastest way to get your individual project over the line
3) It's how we've been taught to do it
4) When we do decide to do something about it, we don't get angry that we're documenting badly, we get angry that we're documenting _at all_, and we implement some messy mix of agile and waterfall.
5) Wanting to have "all the information in one place" for decision makers (Which is a really valid point)
So what can be done about it? I'd generally propose a few changes that don't involve a massive change to current practices.
1) For new projects try to split out the project ephemera from the functional design that will be re-used.
2) Instead of having a singel plave for all project documentation, have a seperate place for storing project documetnation, system documentation, and process documentation. This reinforces that they should be treated seperately.
3) Gently ease into some business architechture questions, because if you're not using projects as the basic unit of information, you're going to need soemthing to replace it, and a system centric-organisation is a pretty poor substitiute.
4) Get some soom document/knowledge management systems. Shared directories will not work if you're moving towards lots of smaller documents. Consider Sharepoint as your first stop, and moving towards a Wiki and a Modelling tool in the long tem.
All of these mitigate against most of the objections I raised earlier, but they still don't give you the "single view" of the changes you're making for the project. Unfortunately there's no magic-bullet here. The more solution centric you make your documents, the less project centric they become.
Ideally you could mix-and-match content together into dynamic documents. But there's just no good tools for that, confluence is closest but really isn't there yet. There's a good summary of why up at http://confluence.atlassian.com/display/DISC/Using+Confluence+for+professional+documentation.
[1] Nothing against testers. It's just that most BAs hate working as testers.