Why Lines of Code (LOC) Measures Irritate Me
Categories:
Software
Categories: Software
|
Either as an estimation tool with something like COCOMO, or as a retrospective gauge of the work your team did on a particular release of software with added/modified lines of code. It's All BullLines of Code as a measure of productivity or as an estimation tool is nearly meaningless. But it's something quantifyable and so people (especially managers) grab hold of it like a life raft. I feel very similarly about Function Points, and I think both of these try to simplify something that is too complex for a one-size-fits-all method. Here's the problem with equating LOC with productivity, effort, or estimates:
Now tell me how LOC can possibly be a global proxy for value or productivity? User Stories or FeaturesI think the best proxy we have is user stories or features completed, provided and assuming they are valid. It's really just as valid a measure as any other arena like construction...you have assumptions that requirements were elicited properly and you are actually building what the customer wants. What do you think? How do you measure or estimate productivity/effort on your software projects? |
Take Small Project Risks To Avoid Big Ones
Categories:
Risk Management
Categories: Risk Management
|
Let me explain..
Vallidated Learning Through Small RisksI identify strongly with the Lean Startup concept of validated learning, and I think every project is just like a startup. Especially in the beginning, validated learning is much more important than just cranking out a product for the sake of it.
If you think your customer will love something and you have the capability of demonstrating it in a visual way very quickly, do it!
The learning you gain from the experience, even if the customer hates it, is worth it.
Avoid Creating Your Own Big RisksToo many project managers create their own large risk of producing a product no one will use.
That's the biggest risk of all.
Trying to avoid the small risks. Being afraid to make mistakes. Being afraid to be wrong.
These are the attributes that result in big risks. And the project manager induces these herself.
What ways can you take small risks proactively to learn more quickly and avoid the big risks?photo by Explore The Bruce |
How To Expand Your Career in Project Management
Categories:
Career Development
Categories: Career Development
I'm a Mechanical Engineer having 4+ years of experience in engineering projects. In addition, I have 3+ years of SAP Project System experience. Presently I'm working as a SAP PS consultant. I want to expand my career in project management field.. Seek your guidance.... -Pratik Pratik, it’s all about separating yourself from the pack. Networking is powerful, because when people who know you are good refer you there is a trust factor that goes with it. Don’t just send your resume or CV and a cover letter. Make phone calls. Ask someone in the company what the big challenges they face are, and come up with a solution to them. Find ways to demonstrate your ability to add value to the organization. Stepping StonesProject Controls may also be a good stepping stone into a role managing the type of projects you want to manage. In a role like project controller, scheduler, or coordinator you will gain experience of the 'other side' of projects from the technical side you already know. |
Throwing It Over The Wall
Categories:
Lessons Learned
Categories: Lessons Learned
|
Let me explain. 5 months ago, I set up several meetings with one of my teams and a team we interface with. We squared away exactly how things would work between our systems and the design changed slightly because of what we learned. Yesterday, I found out we had a problem. How Did This Happen?Even though everyone reviewed the design and agreed it would work well, there was a tiny, weeny problem which unraveled the whole design. We just caught it yesterday, because the other team got around to implementing their code and were having problems. After several discussions we got on the same page, and I slapped myself on the forehead. I Should Have KnownIt's true, I should have caught this fatal flaw in our design back then. But then I remembered my email signature: "Mistakes are usually caused by flawed systems; not bad people." So what is broken in this system that could have prevented this problem? This is WhatInstead of just agreeing on the design and assuming it would function properly, we should have worked closely with the other team to build a prototype. A minimum viable product (MVP) - we would have discovered at once this fatal flaw. As Eric Reise discusses in the Lean Startup, validated learning is the key to a startup company's success. While we are not a startup, projects definitely fall into that category. Had I followed this approach and asked the teams to collaborate to produce an MVP to validate our design change, we could have avoided all this. We would have known about the problem within a few days and resolved it with a different design. That process also would have been even more collaborative, treating our two teams as a single team instead of throwing some specs over the wall, which is essentially what happened. Even if we all agreed on the specs in full, we didn't know what we didn't know. So that's my recent lesson learned. I'm going to go sulk in the corner for awhile. Leave a comment to cheer me up. Photo by Jessicizer |
Why Change Control Is Important
Categories:
Change Management
Categories: Change Management
|
Essentially, the scope and cost of the project has increased, partially through estimation problems and scope changes over time. However, it appears they are still reporting against the same Performance Measurement Baseline (PMB). The sooner you can transparently communicate with key stakeholders, the better.
It sounds to me like what should have happened is a re-baseline with all parties involved so everyone understood the reasons why and you could go get more funding now. If you are using EVM, the forcasts should have been showing a slipping SPI and CPI this whole time, in which case everyone would know there is a problem.
Josh, A rebaseline only happens when everyone agrees there has been a significant change in scope, cost, or schedule.
Scope increases should only be accepted by the contractor via a contract modification and/or formal change management process. Do you have a Change Control Board (CCB) consisting of the sponsor, key stakeholders, and project leaders? Ideally, all of these changes in scope would have resulted in a Change Request (CR) to the CCB, and once approved the Performance Measurement Baseline (PMB) is updated. This way you are only working on approved scope and your EVMS has value. That said, baseline changes shouldn't happen for estimates that were just off. They must be from CRs which are tied to a clear change in scope outside of the project's control (new customer requirements, massive unexpected procurement cost differences, new regulatory requirements, etc.)
It's always more painful the later it occurs. At this point if I were in your shoes, I'd have a CR describing every individual reason for a baseline change, work it through the CCB and manage change formally via the CCB from here on out. It may be an "ask for forgiveness" moment right now where you have to be honest and open, admit mistakes humbly, and show the plan to improve going forward.
|






If you've done any work in systems or software development, you've probably use Lines of Code (LOC) before.
Taking small risks and failing fast is the best risk management strategy around.
Sometimes we are throwing items over the wall to another team even when we don't mean to.
I received a question from someone dealing with a discrepancy between how EVM reporting has been presenting progress versus actual progress.