Software Development Life Cycle and Project Management

Hi experts

I could use a crash course on software project management. (Not that you need to provide this 'crash course' yourself).
If you can answer some of the questions below OR link me to some useful resources that can give me a good overview or pointers quickly and simply.

Here's the story, and here are my questions:
In this case I am the sole developer that will be providing solutions to this company, so I'd like to call myself a "solutions provider. But even though I will be working alone, I will still need to engage management to get their requirements and deliver a solution to them and do this as professionally as possible.
Here are some of my questions:
- Since there is only 1 developer, there is no need to 'overformalize' the process. But, what is the minimum level of 'formalization' you would recommend here? Obviously major meetings for the SDLC. II think a scope document should be prepared after Requirements Analysis. I think perhaps a time estimation sheet for each foreseeable module should be created, and then regular updates on how close we are to these estimates. What do you think? What else?
- I need to be able to get the Requirements from the client as accurately as possible and develop a scope document. I like to think I have enough experience to ask the right questions - but some tips or a template might be helpful.
- I will need to generate estimates on how long each step or module will take (what's a good estimation methadology? Any tips on time estimation?)
- Any (preferably freeware) software that might help with this? (not advanced stuff like Rational Rose)
- What would be a good job title for this role? I'm the only developer, providing software solutions to the company in-house. Would say software solutions architect? Software developer?
- Anything else you can think of that I might need?

Any feedback would be great.
LVL 13
Who is Participating?
Hi rfwoolf,

Maybe I can point you to a good resource: You can register there free, then take a look at the free stuffs there. Many templates are available.

For your first question: in my opinion, the really important things are how the project will be defined and agreed. Usually a document that explain why the project is initiated, what is the objective, major milestones including schedules and acceptance criteria, who are the project stakeholder and what are their roles and responsibilities. Some people call it 'project charter', sometimes I just distribute and present it in a kick off meeting presentation. Sometimes I call it 'project terms of reference document'. Sounds more 'popular' / familiar for some clients :-)

There are no silver bullet defining what minimum will works. You just need to balance between the project management work and the real technical work itself. You don't want to spend 90% of your time on project management activities and 10% working on your solution, right?

Scope and estimation, progress report, are also important. But you need to think what level of detail you are willing to go, combined by your client requirement in this matter.

For requirement documents, there are many choices. Assuming you want to go minimum, just be creative. Sometimes a mind map is sufficient. Or maybe you just write use case, but only the name and description of the use case.

Estimation: sometimes you just need a spreadsheet like ms excel. The important thing is that you should define what activities will be required doing the project. Break it down to the level that is still manageable, definitive, and gives you a good base to allocate your estimation. And how to estimate? Just do 'expert judgement' (I assume you have enough experience for this project). Allocate each of the work item using your sense, refer to your similar work in the past. However, you need to consider the variance. For example, some task can be finished in 4-5 days, some other in 2-10 days. You need to decide how to deal with tasks having big variance. Usually there are risky tasks.

Let me stop here and come back later. Hope my tips help you.
As an "army of one", you are the ultimate "Agile" team!  ;-)

Unless your client has specified otherwise, I'd go agile on this, and the best project management method for agile I've seen is Scrum.

Check out this link for more info:

Scrum is pretty easy to use, and the great thing is that it will let your client feel like they have control over what you're building without you having to agonize for weeks over a requirements spec that will probably wrong the minute you start showing them designs.

Also, estimation is simplified by using a "timebox" for each development cycle.  They only hard part about the estimation will be trying to figure out your "speed", or rate of completing requirements.  The good thing is that being an iterative method you should get better estimates with each cycle.
I would recommend you to create Detailed Work Break Down Structure(WBS) after requirement analysis, use an excel sheet to estimate against each WBS head, report your activities to different stakeholders at some higher level of WBS (Module level, sub-module level). This will help you track/compare your planned and actual hours at whatever level you wish to observe. I feel that is enough for you from time tracking perspective. You should also think of using requirement traceability matrix (you should not miss what is promised to customer via your requirement document) across different phases like design/coding/testing of all your requirement points.
Considering your job profile, I would recommend one more practice to expedite your solution delivery, during the course of 2-3 years I am sure it is not easy to remember the knowledg gained while solving various complex problems, you should think of how to preserve your knowledge so that you can refer it whenever you need it, creating FAQ and arranging it in different subject areas will be very useful in reusing it whenever required. Also it can be enhanced while learning or reading through internet or books etc.

These are just recommendation from different perspective, please ignore or ask more as per your need.
Take Care,

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.