This is never a good thing to hear in the software (maybe any) world. The follow-on sentence will usually melt away any ideas you had about being on time, on budget, taking vacation time, you name it.
For a project here it was switching operating system to Linux from Windows. Not particularly bad since they are running Java all-around, but there is always some wierd, buried aspect of Java that you are using that really doesn’t work the same way on Linux versus Windows. There is also a lot of testing that has to be added in to account for the o/s change to make sure all the programmers didn’t add in Windows-like tendencies: file i/o, file naming, network access, threads, etc…
So, of course, once the first blow was digested the follow-on statement came out that we need Active Directory, which is a Windows product, so need another computer just to run that, but we need everything on a small footprint, and it was going to be a blade server, but is looking to be a standard server, …
I wonder if these statements were well-known, decided months ago and we never were in the loop or did someone have an idea in the shower or maybe had an idea in the shower months ago and never told anyone? Assuming these kind of things are not limited to software, I am guessing the latter: someone was sitting on a decision that is/will wreak havoc with the rest of the world but has very little affect on them. So, why mention it?
Uncategorized
Process
So, you are working on this super-duper set of software in the security (crypto) space. You are using all the latest software techniques and tools. You have a systems group that knows how all the supporting software and hardware works. You design the ui and some underlying behavior and have some questions as to how the end user might do something. WRONG!
If you think about it the number of end users for your product that exist in the world is small. Then they have to be articulate, open to change, etc… This limits the number to probably a handful. Then you have the small detail - they have to be available. Any person who meets the above criteria is likely on call, in the field at all times.
So, you get proxies:
- trainers in the States (again who aren’t occupied and likely in high demand due to low numbers of real users),
- consultants who did they job some years ago (and are therefore dated in their knowledge), and
- long time employees (who have always had this 3rd hand point of view)
For those of you who have developed code I assume you are just as amazed as I am.
Uncategorized
Process
The contractor I am working with advertises as being a CMM Level 5 developer. My understanding is that is a big deal. To have such highly repeatable processes that are fully circular evaluating and correcting faults inline.
Then the project lead told us how it really works: based on the project type, size and duration you could be anywhere from a 3 to 5. For example, a custom product, less than a few years and under 10 people is a 3.
I think it’s odd that everything at a company isn’t level N or M.
Uncategorized
Process
Started working in an unclassified area of a government contractor. We are developing a web app using Java/JSF on Spring against an Oracle database. Pretty standard stuff.
The wierd part is the process must still work in a waterfall enviroment. Here we have a classic Agile development environment and the constraints of the company dictate against anything non-waterfall. Even a continuous build is a no-no. Heaven forbid any test driven devolopment ideas find their way into the system.
The rigidity is painful to the development manager. As the new guy, I looked over the progress to date (use cases, high level design, etc…) and pointed out a few skips. The skips can not be mentioned or written down anywhere. If they are recorded then the dev mgr is called to the mat as to why the process failed to catch the errors.
Looks to be an interesting experience.
Uncategorized
Process