warpus
Sommerswerd asked me to change this
Hi All
I know that we don't have many software/web engineers/devs here, but I thought I'd ask anyway.
My issue is that I'm the only developer in the office, with a non-developer supervisor who likes to take a hands on approach to project management - meaning that he'll stick his hands where they don't belong - specifically the requirements analysis part of the software development lifecycle.
Sure, a project manager can contribute to that part of the s.d.l. but you need a developer involved so that the right questions can be asked and the right information collected. If you're not a developer you're just not going to know what questions to ask. This is something I haven't been able to get across to our director, who trusts me.. but isn't very good at directing or telling people what's expected of them. What ends up happening is people do whatever they want, basically, sticking their fingers where they don't belong. My supervisor likes to think highly of himself and is decent at some of the stuff he does, but he doesn't really have a grasp of any aspect of software development at all. He says he's "coding" when he uses our content management system, for example.. Meanwhile he doesn't have any coding experience at all.
Anyway, recently I have been tasked with creating a task management system for myself and my supervisor so that we can better manage the stuff we do (we each do totally different stuff, but that's beside the point). So I built such a system which basically contains 2 types of objects: tasks and projects. Each project has a phase (which is one of the traditional 6 phases of the software development lifecycle: requirements analysis, design, implementation, testing, deployment, maintenance)
We just had a meeting about this and they love the task manager that I built. I explained to them that it's geared towards software development - since that's what I do and the system will be mainly for me.. but that it can be easily extended to work with any sort of type of task or project.
You wonder where I'm going with this.. During our discussions it became clear that our visions of who should be involved in what differ greatly. My supervisor thinks that he should be doing the requirements analysis part and passing it on to me, which is when I take over and do the rest. This just won't work. I told them that I need to be involved in that part of it... which they aren't against, it doesn't seem, but they don't understand how vital it is that a developer is present during that stage. edit: I should mention here that my supervisor thinks that he's a developer too, having no programming experience.
So I want to present to them some sort of a framework for requirements analysis collection that works for me and works for them. Obviously my supervisor needs to be a part of that part of the process for political reasons - making decisions on what I *should* be working on, telling a client "no", stuff like that. Political stuff. I should be there to say stuff like "that's impossible", "that wouldn't work with our current database structure", "you don't mean that, you actually mean this", "that is possible but would take a couple weeks of work to implement", asking for clarification on what the client really means and so forth. This division of duties makes perfect logical sense to me, but like I said my supervisor likes to stick his hands where they don't belong.. He doesn't think I should be at some of those initial meetings, because he's the "supervisor". And the director isn't going to divide our duties in that fashion that makes sense to me because he's not very good at directing.. and hey, he probably doesn't see it from my point of view anyway.
The goal: to find a requirements analysis framework that I can present to my supervisor and the director that 1. they can look at and go "Oh, we see, it really makes sense to divide up the duties this way. You should really be at all those meetings. Having your supervisor as a middleman will just lead to inefficiency and problems down the road.".. and 2. that actually improves the way we do business and makes us more efficient due to better requirements analysis collection, documentation, etc.
The thing is that nobody who does web development seems to do any sort of formal requirements analysis. The step is almost always skipped... sort of. You go to a couple meetings, take some notes, and that's it. I've looked up standard software requirement analysis frameworks, and most of the stuff is way over the top and would be overkill in a web development environment.. (by the way, when I say web development, I am talking about dynamic ajaxy database-driven web-based applications)
Things I've looked at are UML diagrams and use case diagrams.. which *could* work. But I'm just not sure if there's anything better out there? UML diagrams are probably a bit over the top, but maybe there is some simplified version that I could use? use case diagrams look a bit more like it, but again, I wonder if there's anything a bit more web-specific out there.
The problem is that if I don't find a good framework that we can use, my supervisor is just going to take this part of this process over and write up "project documents", as he calls them. It's basically a lot of business lingo with a lot of fluff that I don't care about, with a couple sentences in there describing what the finished product is supposed to do.. not written in any sort of developer-friendly way. Just, you know.. sentences.. of stuff. Not written by a person who has experience with software development. Usually this isn't a big problem because the projects are for the most part simple.. but it's annoying when I have to meet people to clarify stuff.. Usually I can just guess and figure out what crap means without getting a hold of anyone, but I don't really like to do that. It can lead to problems. It also annoys me.
If anyone is still reading, any ideas?
Thanks
I know that we don't have many software/web engineers/devs here, but I thought I'd ask anyway.
My issue is that I'm the only developer in the office, with a non-developer supervisor who likes to take a hands on approach to project management - meaning that he'll stick his hands where they don't belong - specifically the requirements analysis part of the software development lifecycle.
Sure, a project manager can contribute to that part of the s.d.l. but you need a developer involved so that the right questions can be asked and the right information collected. If you're not a developer you're just not going to know what questions to ask. This is something I haven't been able to get across to our director, who trusts me.. but isn't very good at directing or telling people what's expected of them. What ends up happening is people do whatever they want, basically, sticking their fingers where they don't belong. My supervisor likes to think highly of himself and is decent at some of the stuff he does, but he doesn't really have a grasp of any aspect of software development at all. He says he's "coding" when he uses our content management system, for example.. Meanwhile he doesn't have any coding experience at all.
Anyway, recently I have been tasked with creating a task management system for myself and my supervisor so that we can better manage the stuff we do (we each do totally different stuff, but that's beside the point). So I built such a system which basically contains 2 types of objects: tasks and projects. Each project has a phase (which is one of the traditional 6 phases of the software development lifecycle: requirements analysis, design, implementation, testing, deployment, maintenance)
We just had a meeting about this and they love the task manager that I built. I explained to them that it's geared towards software development - since that's what I do and the system will be mainly for me.. but that it can be easily extended to work with any sort of type of task or project.
You wonder where I'm going with this.. During our discussions it became clear that our visions of who should be involved in what differ greatly. My supervisor thinks that he should be doing the requirements analysis part and passing it on to me, which is when I take over and do the rest. This just won't work. I told them that I need to be involved in that part of it... which they aren't against, it doesn't seem, but they don't understand how vital it is that a developer is present during that stage. edit: I should mention here that my supervisor thinks that he's a developer too, having no programming experience.
So I want to present to them some sort of a framework for requirements analysis collection that works for me and works for them. Obviously my supervisor needs to be a part of that part of the process for political reasons - making decisions on what I *should* be working on, telling a client "no", stuff like that. Political stuff. I should be there to say stuff like "that's impossible", "that wouldn't work with our current database structure", "you don't mean that, you actually mean this", "that is possible but would take a couple weeks of work to implement", asking for clarification on what the client really means and so forth. This division of duties makes perfect logical sense to me, but like I said my supervisor likes to stick his hands where they don't belong.. He doesn't think I should be at some of those initial meetings, because he's the "supervisor". And the director isn't going to divide our duties in that fashion that makes sense to me because he's not very good at directing.. and hey, he probably doesn't see it from my point of view anyway.
The goal: to find a requirements analysis framework that I can present to my supervisor and the director that 1. they can look at and go "Oh, we see, it really makes sense to divide up the duties this way. You should really be at all those meetings. Having your supervisor as a middleman will just lead to inefficiency and problems down the road.".. and 2. that actually improves the way we do business and makes us more efficient due to better requirements analysis collection, documentation, etc.
The thing is that nobody who does web development seems to do any sort of formal requirements analysis. The step is almost always skipped... sort of. You go to a couple meetings, take some notes, and that's it. I've looked up standard software requirement analysis frameworks, and most of the stuff is way over the top and would be overkill in a web development environment.. (by the way, when I say web development, I am talking about dynamic ajaxy database-driven web-based applications)
Things I've looked at are UML diagrams and use case diagrams.. which *could* work. But I'm just not sure if there's anything better out there? UML diagrams are probably a bit over the top, but maybe there is some simplified version that I could use? use case diagrams look a bit more like it, but again, I wonder if there's anything a bit more web-specific out there.
The problem is that if I don't find a good framework that we can use, my supervisor is just going to take this part of this process over and write up "project documents", as he calls them. It's basically a lot of business lingo with a lot of fluff that I don't care about, with a couple sentences in there describing what the finished product is supposed to do.. not written in any sort of developer-friendly way. Just, you know.. sentences.. of stuff. Not written by a person who has experience with software development. Usually this isn't a big problem because the projects are for the most part simple.. but it's annoying when I have to meet people to clarify stuff.. Usually I can just guess and figure out what crap means without getting a hold of anyone, but I don't really like to do that. It can lead to problems. It also annoys me.
If anyone is still reading, any ideas?
