Saturday, December 28, 2013

Creativity, Innovation - what it is and how to increase it?

Creativity is a product of free time and outside the box thinking.

If you are very creative, then your boss is not giving you enough work :)

To increase the creativity and innovation in your company, free up the employees who are outside the box thinkers.

- almirsCorner.com -




Keywords: #creativity   #thinking #innovations #disruption  
<the end>

Sunday, December 22, 2013

Password Security - Are we taking it seriously?

We need to take password security more seriously or seriously in general.

A lot of people use the same password on multiple sites. A lot of people have passwords that can be hacked in minutes or hours without two-factor authentication.

Please spend some time and listen to all 7 videos from Steve Gibson on this topic. In fact, this is a show on TWIT show called "Security Now". I am not in any way affiliated with TWIT.tv and Steve Gibson (grc.com), but I have to thank them for doing this episode. I am not affiliated with LastPass either. LastPass is a very good product but the point of my post is for you to listen about the security aspect of these videos, learn and most importantly apply in every day life.

Trust me. This could save you. Please spend 1 hour on this. Thank Steve Gibson and TWiT for putting this together.

Part #0:

Part #1
http://www.youtube.com/watch?v=sLejIcOYk3o

Part #2
http://www.youtube.com/watch?v=9n7n2P7tgbo

Part #3
http://www.youtube.com/watch?v=1BinfKqnSNc

Part #4
http://www.youtube.com/watch?v=gP6F3Uu9ZiE

Part #5
http://www.youtube.com/watch?v=lKsackRNTUM

Part #6
http://www.youtube.com/watch?v=RPgNo6x6mjg

Part #7
http://www.youtube.com/watch?v=RPgNo6x6mjg



Keywords: #security #passwords #encryption #passwordmanagement #lastpass #authentication #twofactor 
<the end>



Saturday, December 14, 2013

TrueCrypt - Can it replace what 1Password and LastPass do best ???

If you are not familiar with 1Password and LastPass password management solutions, you can refer to my post: http://almirscorner.blogspot.com/2013/03/1password-vs-lastpass-which-password.html

If you are not familiar with TrueCrypt, you can refer to my post: http://almirscorner.blogspot.com/2013/07/truecrypt-open-source-encryption-very.html

Now the question is: Can TrueCrypt replace what 1Password and LastPass do best ???

TrueCrypt is the tool that you would typically compare to WinZip and you may ask why compare TrueCrypt to 1Password or LastPass. Why not?

Let me use an example to explain this.

(1)
Let's say you create a TrueCrypt file in C:\MyStuff\ImportantInfo.tc
with 256bit encryption using Whirlpool type of algorithm and assigning a very STRONG password.

OR

You can create a TrueCrypt file in the Dropbox folder on your harddrive that syncs to Dropbox.


(2)
You create/mount a volume "M:" on your computer pointing to C:\MyStuff\ImportantInfo.tc

and as part of mounting this volume, you have to enter your strong password.

NOTE:
It is important to set the properties:
 - to dismount the volume after X minutes of inactivity
 - to dismount the volume when you log off


(3)
Now you treat the "M:" volume as any other volume on your computer and you create folders and files in it. Let's say you create the following files on your "M:" volume:

M:\SocialSites\Facebook.txt
M:\SocialSites\twitter.txt
M:\Shopping\Amazon.txt
M:\Shopping\eBay.txt

Inside those text files you put the username and passwords for each site.

NOTE:
You would mount this volume ONLY when you want to get the username and password for a specific site and then you dismount after that and nobody would be able to access it as the whole volume is protected by a strong password and 256bit AES Whirlpool encryption.


(4)
If your TrueCrypt file is stored in your Dropbox folder, then it syncs to the cloud. Then if you have an iPhone, you can use "Disk Decipher" app in order to get the TrueCrypt volume mount on iPhone and keep it in memory. As soon as you leave the app, it gets dismounted automatically and the app itself can have another password on top the regular TrueCrypt mounting strong password that you used when creating the TrueCrypt file.


Pros of TrueCrypt or what it does as good as 1Password locally or LastPass in the cloud:
  1. It has 256 bit encryption with strong password protection and you can choose the algorithm.
  2. It is easy to use on your PC or Mac because it is just like any other volume on your computer where you can manage your files. You don't have to zip and un-zip a file constantly the way it is done for WinZip.
  3. You can easily mount and dismount the volume ONLY when you need to use it.
Cons of TrueCrypt when used as password management tool:

  1. When you mount a TrueCrypt volume, the contents of all files are in clear text. That means that if somebody hacks into your computer while your TrueCrypt volume is mounted, there is a chance that they will be able to just take all those files that are clear text. That's a big risk
  2. If you are on a mobile device, you can only use it as read-only. The mobile support for 1Password and LastPass is much better.

Conclusion:

TrueCrypt is a very good tool and in many ways I prefer it over WinZip, but I am not sure if I could live with the con outlined above when used for password management. It is up to you to decide for yourself. One hybrid approach that could make it much safer is that you use the TrueCrypt solution described above in combination with WinZip. You can have all those individual .txt files on the TrueCrypt volume zipped with WinZip and 256bit AES encryption. With this approach if somebody hacks your computer while your TrueCrypt volume is mounted, then they still have a challenge of decrypting the individual zip files. When this hybrid solution is used, it is definitely very safe and even safer than 1Password because you have double 256bit encryption, but you lose on the convenience factor; you will probably not be able to use it on a mobile device.

I use all four (TrueCrypt, WinZip, 1Password and LastPass) for different purposes utilizing what each does the best.


Keywords: #truecrypt #1password #lastpass #winzip #password #passwordmanagement #security #encryption
<the end>

Thursday, December 5, 2013

My Amateur Photos

Here are a few of my amateur photos that I have been posting on my Google+ account:

google.com/+almirM



Keywords: #bigbear #lagunabeach #orangecounty #costamesa #california #toronto #irvine #monterey #pch #bigsur 

<the end>

Tuesday, November 5, 2013

Lightweight Wheels - More Power to the ground and better 1/4 mile times - More Fun

My Calculations on Lightweight Wheels - More Power to the ground and better 1/4 mile times - More Fun

I did some calculations on how the wheel weight affects the inertia/momentum on the wheels. Most you probably know about this but never used any calculations to get the effect in numbers. I will basically show you how you can improve your 1/4mile time by at least 0.5sec.

PLEASE READ BELOW. This is the calculations I did years ago, but they still very much apply.

Since I previously owned 2000 VW Golf with 15" stock rims and 17" aftermarket rims, I can present all the calculations and the difference in 1/4mile ET. As we know, Inertia depends on the weight of the wheel and how far that weight is from the center of the wheel and it also depends on the weight of the tire. We know that the weight of wheel is distributed over the rim but the most of the weight is at the edge of wheel. Therefore, here is my assumption:

Assumption: Assume that all the weight is at the edge of wheel and at the edge of tire to make the formulas simpler and since we are dealing with relative values, it will not change our results.

General formula: I = mr^2 = mass * radius * radius
Inertia = Inerita of wheel + Inertia of the tire
Inertia = m1 * (r1^2) + m2 * (r2^2)

I will first explain it on my VW Golf example and then move to Civic 2001. With my VW, I actually lost horsepower to the ground because the aftermarket rims were much heavier. Just read the example below.

Car: VW Golf 2000stock wheel: steel 15x6
Mass of stock wheel: m1 = 20.2 lb
Radius of stock wheel: r1 = 7.5"
stock tire: Goodyear 195/65/15
Mass of stock tire: m2 = 20 lb
Radius of stock tire: r2 = 12.5"

Stock Inertia = 20.2 * (7.5^2) + 20 * (12.5^2)
Stock Inertia = 1136 + 3125
Stock Inertia = 4261 ********

New wheel: Enkei CDR9 17x7
Mass of new wheel: m1 = 21.6 lb
Radius of new wheel: r1 = 8.5"
new tire: Sumitomo HTR200 225/45/17
Mass of new tire: m2 = 24 lb
Radius of new tire: r2 = 12.5"

New Inertia = 21.6 * (8.5^2) + 24 * (12.5^2)
New Inertia = 1560 + 3750
New Inertia = 5310 *******

** Conclusion #1: New Inertia is 20% bigger than the Stock Inertia
** Conclusion #2: After testing the car at local drag track, the 1/4 mile time was 0.6sec worse with the bigger and heavier rims and put aside the numbers, the car felt much faster with the lighter stock rims.
** Conclusion #3: Try to get aftermarket wheel and tires that get your total inertia smaller than with stock wheels and tires.


Let's analyze 2001 Honda Civic with stock 14" wheels and aftermarket Kosei K1 TS wheels which are much lighter. You will see that the straight-line performance will be increased noticeably.

Car: 2001 Honda Civic LXstock wheel: steel 14x5.5
Mass of stock wheel: m1 = 18.6 lb
Radius of stock wheel: r1 = 7"
stock tire: Firestone 185/70/14
Mass of stock tire: m2 = 21 lb
Radius of stock tire: r2 = 12.15"

Stock Inertia = 18.6 * (7.0^2) + 21 * (12.15^2)
Stock Inertia = 911 + 3100
Stock Inertia = 4011 ********

New wheel: Kosei K1 TS 14x6
Mass of new wheel: m1 = 9.3 lb
Radius of new wheel: r1 = 7"
new tire: Yokohama AVID H4 195/65/14
Mass of new tire: m2 = 18 lb
Radius of new tire: r2 = 12.0"

New Inertia = 9.3 * (7.0^2) + 18 * (12.0^2)
New Inertia = 455 + 2592
New Inertia = 3047 *******

** Conclusion #1: New Inertia is 24% LESS than the Stock Inertia

** Conclusion #2: 1/4 mile times should be at least 0.5sec better and the 60 foot times much improved. That's probably better than most bolt-on performance parts. Also, it is not good to have too small inertia because that will give you too much power to the ground and cause too much wheel spin, but that can all be controlled by good sticky tires.

** Conclusion #3: Since these new wheels are lighter (wheels: 9.3lb vs. 18.6lb) (tires: 18lb vs 21lb), then it means that one new wheel/tire is about 12 pounds lighter and since the car has 4 wheels, that equals about 50 pounds. We all know that 50 pounds car-weight reduction means a gain of 0.1sec. Therefore, you improve performance by decreasing the Inertia and also by decreasing the overall weight of the car.

** Conclusion #4: Many of you will say that 14" wheel on Civic don't look good and the tires are too fat. Well it all depends what you like. For example, you can even go with lightweight 15x7 Kosei K1 TS wheels and 205/55/15 tires and that will give you around 10% better inertia (about 0.3sec in 1/4mile). Or if you want to go with lightweight 17x7 Kosei K1 TS wheels and 205/45/17 tires, then you might keep the inertia the same as stock, but you might improve the handling with low profile tires.

*** FINAL CONCLUSION: If you are going straight-line performance, then it would mean that you need to get smaller and lighter rims; however, if you are going road racing, then probably a compromise of light wheels and lower profile tires (not too low) is the best bet. Also, lighter wheels also improve handling besides straight-line performance. 

Many of you should ask yourself a question if you want to go BLING BLING with heavy 19" rims, or you want go with smaller and lighter wheels, or maybe a compromise of both. 

NOTE #1: Do not take this for granted. It is my opinion backed up with some physics calculations.
NOTE #2: This mostly applies to cars under 200hp. You are not going to able to notice the difference on powerful cars unless you are racing and milliseconds make difference.




Keywords: #wheels #rims #lightweight #racing #inertia #performance
<the end>


Thursday, October 24, 2013

Measure twice and cut it once in Software Development

Measure twice and cut it once is a known saying, but we have to remind ourselves in software development to follow this rule. The tendency is to dive into that coding sooner with the right intention, but the right intention does not count; the final product, stability and robustness is what counts.

What does this really mean in software development?

It is NOT about writing extensive documentation and it does NOT have to be that formal. Some companies dictate specific processes and what not, but if you remove all those out of equation, you have to ask yourself: "what do I as a software developer need and what do my teammates need?".

The answer to this might be as simple as the software developer writing the design on a piece of paper and presenting it to the tech lead in an informal conversation/meeting.

I am a big believer of the "one page" documentation. In this fast-paced industry of IT you have limited time to write documentation and also as the consumer of the documentation you have limited time to read and focus. If one page documentation cannot put you on the right path to do what you need, then a 10-page documentation will not help you either as you will most likely not read it.

Conclusion:
Measure twice, code once and code for your teammate who has to read/maintain your code. That's the mindset that you need to have as a developer.


Keywords: #softwareengineering #software #code #developer #development
<the end>




Saturday, September 7, 2013

Waterfall and/or Agile - Not another blog about this topic

Waterfall software development life cycle vs. Agile methodology ???

Not another blog about this topic; that's probably what you are thinking.

The answer is not as simple, and there is actually no right or wrong answer. The answer is what fits your organization best. I just want to put all the debates aside and describe this from an angle of a software engineer who worked in very different environments for 16 years. I have used waterfall approach and I have used agile approach before the word "agile" even existed in the vocabulary of software engineering.

Some organizations will do 100% of waterfall approach and they could be very successful.
Some organizations will follow scrum 100%.
Most organizations will adopt a methodology that is a mix of waterfall and agile.

What are the areas in SDLC that should be analyzed and dissected to see if you can apply more waterfall-ish or agile-ish approach. They are:
- Requirements phase
- Technical Design
- Execution phase
- Testing and Launch


Let me first address the technical design phase as it is a special case.

Technical Design:

You can see that I purposely crossed out the Technical Design. Whether you do the waterfall, or agile approach, it is crucial that you do the overall technical design before the execution phase starts. Yes, there will be technical design changes as you are developing; that's totally acceptable, but that overall design plan at the beginning keeps you on the right path.

No battle was ever won according to plan, but no battle was ever won without one.
–Dwight D. Eisenhower

The most common mistake made in agile methodology is that the overall technical design and plan gets ignored and you start writing a bunch of prototypes that turn into production code.

Therefore, please put effort into the technical design before you write a line of code in your waterfall-ish or agile-ish approach.


Requirements Phase:

The waterfall approach tells you to define all the requirements and lock them down. Is it how it really works in reality. We all know the answer for this. However, the intention is to define everything completely before the execution phase.

The agile approach tells you to have rough idea on what your requirements are but you are defining them and adjusting them as you move from one sprint/iteration to another.

There is another approach to this that allows the product management team define more accurate requirements in waterfall methodology but applying some flavors of agile methodology. It is as following:

Let's assume you are developing a website or changing/introducing new features in your website.
Let's assume you have a platform and/or list of APIs and coding methodologies that allows you to quickly put together a website and with fields on the screen being saved into database.

Instead of having a UI designer doing the designs/wireframes in photo editing tools and generating PSD/JPEG files, you have the following members as part of the product management team close to business:
- designer
- web developer
- possibly even an engineer

This team would work closely with the product management teammates who have the vision on what the product would look like. This team would actually in an agile way build the UI prototypes directly in the code base of the website and the platform.

When this UI prototype is done, you are already a step ahead of the game. This prototype with some minor supplementary documentation becomes your business/functional requirements for the technical design and for the execution phase of your project.

Execution Phase:

You can run the execution phase with a true waterfall approach and that means:

- schedule is followed and there is a set production launch date
- schedule contains each task in the project that you track by percentage complete
- schedule is used to determine the critical path
- you have a lot of tasks happening in parallel and everything falls together into a final product when everything is launched to QA environment for testing.

You can also run the execution phase with a true agile/scrum approach and that means:

- no schedule
- no end date or production launch date can be determined
- current sprint is defined precisely
- demo at the end of the sprint
- you have the backlog of stories
- you have a list of stories that are very high-level and are not define clearly yet.

You may ask: "Why can't you determine the production launch date". The reason why you cannot do this in a true scrum approach is because you building your product from sprint to sprint and you are constantly adjusting what you want as the product.

There is a hybrid approach:
- Based on finalized requirements, create all the stories.
- Product owner does NOT own the stories as the requirements are already determined in the requirements phase.
- All stories in the project are clearly defined and estimated because the requirements are finalized.
- Tech lead picks the stories in the iteration and watches the burndown rate.
- Based on the burndown rate you can calculate your development end date and ultimately calculate the production launch date including the QA estimates.
- Demo the iterations to product owners and possibly accept minor adjustments in requirements if they don't impact the dates.

This hybrid approach allows you to introduce flavors of agile methodology into the waterfall system. The iterations add a little bit of extra cost as you have to prepare the demos as a team.


Testing and Launch Phase:

If you take the best of waterfall and agile, I believe that the QA testing should be fully an on-demand-run team. Without too much planning you can basically run the execution phase in parallel with the testing phase. As the features are being developed, they can be deployed to the testing environment for exploratory testing and the official round of testing can be performed when all of the functionality is implemented and deployed to the testing environment. This basically makes the development and QA team be part of the same team with with same goals to have a stable product ready for launch.

As for the launch strategy, the goal should be to soft-launch to production as much as possible. As the features are being developed, those features can be soft-launched to the production environment; with this approach you are not holding back any code that is ready.


Conclusion:

This is just my opinion on this subject. There is no right or wrong. Different variations of this will work for different companies; it is up to you to find the formula.



Keywords: #waterfall #agile #methodology #SDLC #software #development #life-cycle #lifecycle  
<THE END>









Monday, July 29, 2013

TrueCrypt (Open Source Encryption) - Very elegant solution for personal computing and small businesses

TrueCrypt is an open source encryption solution. It got my attention so I wanted to write a quick post about it.

Before finding out about TrueCrypt, I have been using WinZip over the years and no complaints about it. WinZip is easy to use and it allows you to do AES-256-bit encryption which is what matters to me. It is good for compressing the files and safely sending the zip files in an email or uploading to your cloud. Let's assume you wanted keep a set of files on your hard-drive encrypted. With WinZip, you can compress the files into a single zip file and delete the original files. So if you want to edit a file, you have to open the zip file and edit file or unzip the zip file and then edit the file.

TrueCrypt takes a different approach. The end result of your TrueCrypt setup is that you have a mounted drive (i.e. M:  )  on your Windows computer. Any folders/files that you place on that drive is automatically encrypted; you don't have to worry about compressing and unzipping any files. It is all seamless to you once everything is set up.

So if somebody ends up stealing your computer/laptop, they are stuck with a hard-drive that has encrypted information for the volume that represented your mount/drive. Assuming that you used a very strong password for your mount/drive, it could take months or years for somebody to decrypt that information.

How do you set it up?
- Install TrueCrypt desktop application  (http://www.truecrypt.org)
- Create a Volume and assign the size.
- Mount the volume onto a drive letter (i.e. M: )
- Start using it as any other drive on your computer and put files on it. It is that simple.

Small Businesses and TrueCrypt?

Let's assume you a real-estate agent, or a loan officer, or a lawyer who keeps the personal information of their clients on the work computers. If you don't have an IT department in your company and an Information Security department, then you need to definitely consider using TrueCrypt and implementing it yourself.

Enjoy !


Keywords: #TrueCrypt #Encryption #Decryption #AES #security #software #smallbusiness
<THE END>




Monday, July 15, 2013

Rapper's cheat-sheet for providing the best estimates - Software Development

What is an important prerequisite for providing good estimates in software development?

Simple answer is: You need to have a good list of features which is what your product is all about. I am not talking about a feature list at a customer level. I am talking about a feature list from the engineering level that maps to the high-level feature list that product management owns.

So now that you know what you need, the question is how to get it if you don't have it available off the shelf in your documentation.

Simple answer is:

1. Create what I call a rapper's cheat-sheet.
2. Read through your project requirements and circle the features/components on the rapper's cheat-sheet.
3. Consolidate all the information into a nice list and then start the process of estimating.

If you are still wondering what "a rapper's cheat-sheet" is, here is what I mean. It is one sheet of paper where you list all the engineering features/components without specific organization. The point is to put as much on that paper without trying to organize it. This can be achieved in a brainstorming session with between you as the technical lead/manager and your teammate engineers.

Happy estimating !!!


Keywords: #estimates #LOE #development #software #softwaredevelopment #softwareengineering
<THE END>



Saturday, July 13, 2013

Cars and Coffee in Irvine (2013-07-13)

There was a great turn-out at Cars and Coffee in Irvine early this morning. There were a lot of great supercars, classic cars and muscle cars. The following stood out for me:

- DeLorean (Back to the Future original movie car)
- Porsche 911 (997 II) race car with PDK
- Mini Cooper old-school with Honda's DOHC Vtec motor
- Motorcycle (with a turbocharger) built by a high-school teacher and his students

ALBUM - Cars and Coffee in Irvine 2013-07-13



Keywords:  #cars #coffee #irvine #supercar #racecar 
<THE END>



Saturday, July 6, 2013

Myth about Manual Transmissions and Saving Gas

Myth about Manual Transmissions and Saving Gas

There is a myth about driving manual transmission cars. The myth is:
- Shift from 1st to 2nd and then to 5th gear to save gas.

I spent a lot of time in Europe and I have noticed this trend a lot. I never questioned it until cars became my hobby. My engineering background and interest in cars got me thinking about this years ago.

My theory was that shifting gears on time (not to soon, not to late) and always keeping it in the right/optimal gear (optimal RPM) was the way to save gas properly.

As you know the original automatics used to be only with 3 gears and manuals at that time were 4 or 5 gears. The manual transmission cars always rated better in gas mileage. With recent introduction of 5,6,7,8 speed automatics/double-clutch transmissions, the sides have changed. Nowadays, automatics are being rated better in gas mileage than manuals. The reason is because the car is constantly shifting through gears and finding the most optimal gear for gas mileage. 

I still wanted to prove my theory scientifically.

Recently I was able to purchase a ScanGauge device that can track many different things and one of them being the real-time gas mileage.

After driving the car and running it through many gas tanks, the conclusion is that shifting from 1st to 2nd and then to 5th gear does NOT give you the best gas mileage. In my Mini Cooper, the best results are achieved by constantly shifting between 2,500rpm and 3,100rpm and never being in the gear that is too high or too low. This obviously requires more concentration and that's why a lot of shiftable automatics are better if you leave them in the true automatic mode. Leaving it up to the car computer to do your job is most likely better choice.

Conclusion:

The myth is proven incorrect



#cars #carreview #autoreview #transmissions #manuals #automatics #myth #RPM #gears #shifting


<THE END>



Wednesday, July 3, 2013

Value of Integration Testing vs. Unit-Testing - Biggest bang for the buck !!!


Unit-testing is being emphasized a lot in the IT industry. How much can it benefit us? Do we get the return on it?

The best way to discover this is to ask somebody to deliver something quicker than how it was originally estimated. What is the first thing that will be given up in order to meet the deadlines; it is the detailed unit-testing. Some unit-testing will be done, but not to the level that software developers would like to. To keep the stability in this project, you cut down on the detailed unit-testing and focus more on the integration testing which is the one that matters at the end of the day. Integration testing is the testing where you discover if your module works well with the modules that other developers coded. The sooner you put focus on this the more stable the product will be for the official QA testing and ultimately for your end customer.

So what is the point that I am trying to emphasize here. It is the following:

(1)
Write code with the approach of understanding what the top integration tests you need to pass.

(2)
Do the positive and negative integration testing as you are closer to finishing up your code; this naturally requires the coordination with other developers to provide you the stubbed versions of their code if they are not ready to provide you the full functionality.

(3)
Go back into your code and make sure you do your unit-testing by having the full proof code coverage.



#softwaredevelopment #softwareengineering #developers #development #QA #quality #integration #testing #unit-testing 
<THE END>





Monday, July 1, 2013

Quality in Software Development Life Cycle

Here are the steps should be taken to keep or improve the quality of your product in SDLC:


- Code review as project happens.

- Governance around CORE code and impact analysis

- Early integration testing: provide stubs on your code early so other
teammates start using it. If short on time, tune down a bit on unit-testing and use that
energy/time for integration testing.

- Allow bigger projects to be released into QA environment in small phases.

- Allow soft-launching methodology to production for bigger projects
so you don't risk and introduce bugs by doing everything in one big
launch.

- Monitor QA environment and truly understand what gets pushed into it: have a
clean dashboard of all the activities that are taking place. This
prevents tickets to be dragged into production by accident and keeps
the quality in the current environment.

- QA team to do free form testing with full understanding of the product.

- QA team doing load testing in Stage and Production.

- Prevent bad quality code to sit in production by monitoring the
production for PERCENTAGE change in low-level errors. If greater than
some threshold, then roll back.

- Have ability to introduce new features to certain group of customers (demographics, geo-location....)
to slowly roll out new features.



#softwaredevelopment #softwareengineering #developers #development #QA #quality

<THE END>






Tuesday, June 25, 2013

Requirements, Development, Launch - Tip of the day



1. Write requirements to launch the full set of features.

2. Develop with flexibility for partial launch.

3. Plan to roll it out incrementally, but be ready to launch the full set of features.


                                                - almirsCorner.com -






#softwaredevelopment #softwareengineering #developers #development
<THE END>





Friday, June 21, 2013

Secret to providing work breakdown, estimates (LOE), Gantt chart and project schedule - Tech Lead perspective

Software Engineering tip of the day:

The secret to providing good level of effort (LOE) is to dive into deep low-level technical things and not get lost. This might mean that you do a brainstorming session and create a checklist of 100+ items. Then you need to eventually dive back to the surface and properly organize your information. The last step is to provide the numbers on each task per category and sum it up.

I like to refer to this approach as the the "rapper's cheatsheet" approach. Putting all the information on a single cheatsheet is crucial and then the organization (i.e. freestyle rapping) starts after that.

After you have done all of the above, then you can easily create a Gantt chart understanding all the task dependencies and resources available. The main thing is to keep the dependencies at the task level with right resources as opposed to keeping dependencies at the resource level.

Then if you wish to track this to the detail, you can plug it into project schedule using your choice of tool and one of them could be MS Project Office.

In the technical lead/management role, I prefer exposing the Gantt chart and big picture to all my engineering teammates as I don't want anybody developing in the vacuum. It pays off in the project in getting better results in the integration testing.

At the end of this exercise, I get all the information I need to lead the project and most importantly I get to focus on the technical things with the engineering teammates.

                                                 - almirsCorner.com -





#softwaredevelopment #softwareengineering #developers #development #LOE #estimates #SDLC #gantt #project #schedule


<THE END>



Wednesday, June 12, 2013

Software Engineering tip of the day - Code review during the project and NOT at the end

Software Engineering tip of the day:

Do the code review as the coding is taking place in the project from
day to day. This prevents deviations from the design and possible last
minute issues.

                                                 - almirsCorner.com -





<THE END>

Wednesday, May 29, 2013

Software Engineering tip of the day - History of the file being checked out


Software Engineering tip of the day - History of the file being checked out

Look at the history of the file that you are about to check out. This
tells you if there are any dependencies on other tickets. 

                                                - almirsCorner.com -


<THE END>



Monday, May 27, 2013

Software Engineering tip of the day - Checking in your code


Software Engineering tip of the day - Checking in your code:

Do a diff on the code before you check it in. This prevents unwanted
changes and critical issues if changes not noticed in the code review.

                                                - almirsCorner.com -


<THE END>