Fireworks instead of a rocket

Yet another article coming back from the grave. This was 2001. Still, the same issue applies today!

 

Starting with some VC-backed capital, a couple of guys started a small company and hired a group of above average developers. The domain was defined but there was no defined product specification. So, all developers started developing ideas in code instead of exploring designs on paper or on inexpensive mockups to market test them. No arrangements with distributors were investigated, no marketing plan devised, no product sheet made.

Instead of having a clear goal of where to end up and align people, cash and energy where spent going in all directions.

Fig 1
Fireworks and Rocket

 

The figure on the left shows that from the starting point, efforts where going in all directions without coordination.

This has several effects:

The cash burn rate was higher that it would have been if the target was kept

Given the fact that cash was going down to dangerous levels for the survival of the business, branches which were the furthest from the real target got cut, meaning a net loss

The branch which was the closest to the target was retargeted but  there was not enough money to end up with something as big as the initial target

As such the final product was smaller than expected and was not aligned with anything. The point is that in this case, there were already competitors in the field and the final product could not compete with the other products on the features and usability level.

A lesson that may be taken out of this rather sad story is that having a vision and a plan to work it out and, most of all, find a way to sell it properly are key in finding success on the software marketplace.

Share

Required blocks for development checklist

I wrote this list in 2002. Things have improved but a lot of places could still use it! (Sadly…). And that despite all the nice improvement and agile/kanban/scrum/you name it…
  • Coordination meetings with issues, risks, recurring tasks and organizational problems
  • Understanding of the customer expectations and their management including Service Level Agreements
  • Change requests list
  • Incident Reports list
  • Configuration management with proper support document (for local configuration and delivery site)
  • Data sources available
  • Proper Tooling (editors, compilers, deployment, parameters, scripts, including test tools)
  • Service Fault Investigation and Diagnostic procedure
  • Tests sheets
  • Weekly build properly packaged (read complete and burned on archive media, along with release document)
  • Weekly release performed on user acceptance system (from above build)
  • Samples for testing
  • Nomenclature for documents, basic templates
  • Calendar overview (weeks, months) with holidays and release dates for every person involved in the project
  • Contact list for every person involved in the project
  • Source control (SCM along with agreed procedure and training given to people + tools installed properly with documented parameters)
  • Connectivity works
  • Escalation procedure
  • Project web
  • Good understanding of existing infrastructure and deployed systems (at our location and at the premises of the customer)
  • Code reviews
  • Shielding people carrying work
Share

Having faith goes a long way – especially when things get rough

Faith in yourself that is.

Look, I have been through quite a rollercoaster ride lately: got a cataract surgery that turned into a retinal detachment, leaving me stranded at home for 4 weeks. And three out of which I had to spend the whole day (night included) with the head straight up. No driving of the car allowed, just stay put and wait for it to heal. I know understand a bit how prisoners at home do feel. Yeah, punishment.

And this one piled in on another issue of relative exhaustion due to another problem that is now cured. I am glad this is behind me, I can tell you!

As an independent professional, this means an income drop, shifted timelines, and too much idle time on my hands. Having a number of proposals open with prospects, this got me nervous obviously.

Choice is yours

There are two choices here. Either enter the realm of the victim and complain on how unfair things are or take it as yet another opportunity to learn.

And that’s rooted in your faith in yourself. The faith that things are going to be better, that you’ll come out of it better in a way or another. As for anything, the first sale is to yourself!

So, what can be learned here?

Here is my take:

  1. Do not expect to kick back on your feet that fast after full anaesthesia, this will help keeping realistic expectations.
  2. Call prospects and clients to tell them about your issue. Most of them will understand. How would you react if they called you with a health problem? If they don’t do you really want to work with such people? Thinking about it, I don’t.
  3. It is a great idea to have insurance for those cases. I muttered every time I saw the bill but it turned to be a great idea. After talking with a few people, it is astonishing that a lot of them aren’t covered. Look, it is not a matter of “if” here, it is a matter of “when”! Get one.
  4. Make sure you have either credit lines, cash in the bank, or any other form of credit secured at all times. It will come handy when you will need it. Bills do not care about your state. And have faith that you’ll be able to generate enough new business to come back from the deep. Do not wait to be thirsty to go to the well.
  5. Call upon your support system: loved ones, family, and friends. Don’t bury yourself in a hole. It is bad for the mood and bad for the speed of recovery. Ask them to bring you something special, it will lighten the day.
  6. Take care of the quality of your food intake. I am leaning towards organic food and it helps a lot. As a general rule, HiQ nutrients help, especially with brain work. Don’t feast on greasy, oily, sugary foods.
  7. Medical care improves by leaps and bounds. Procedures are much improved from 10 years ago. There are new devices to measure, new materials, new lenses. And I met great people: surgeons, assistants, nurses. These are people who care.
  8. Take care of yourself first. If you don’t, you can’t be fully in the moment when it is needed.
  9. Turn idleness into opportunity. Read (or listen to) new material, focus on something alien to your habits. Open horizons.

So, to reach your top 3 outcomes, even when they just seem to swoosh miles away further, you need to have faith in your ability to resume the quest in a way or another. Yeah, you need to be an optimist!

Until next time, keep the faith!

–Philippe Back

Share

Use Case 2.0 – Good stuff

The people at http://www.ivarjacobson.com have released an ebook on what they call the Use Case 2.0 The Definitive Guide.

You can pick a copy. And also look at a presentation that may put some more context around it.

They’ll ask you to fill in all kinds of fields…

It merges:

  • Use Cases
  • Stories
  • Kanban
  • Agile
  • Backlog based work organization

It is a workable system IMHO.

There is a use case tracker described in there.

Save yourself some time by taking my little Excel version.

 

 

Share

Query and Update Sparx EA Repository with SQL

Sample Script to do it (using the Execute undocumented op)

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
option explicit
 
!INC Local Scripts.EAConstants-VBScript
!INC EAScriptLib.VBScript-Logging
 
'
' Script Name: SQL
' Author: Philippe Back
' Purpose: Demo SQL Invocation
' Date: 25/1/2011
'

Function SQLQuery(sql)
Dim sRes
LOGInfo("Query: " & sql)
sRes = Repository.SQLQuery(sql)
LOGInfo("Res: " & sRes)
End Function
 
Function SQLExec(sql)
Dim sRes
LOGInfo("Statement: " & sql)
sRes = Repository.Execute(sql)
LOGInfo("Res: " & sRes)
End Function
 
Sub Main
SQLQuery("SELECT * FROM T_OBJECT WHERE OBJECT_ID=1")
SQLExec("UPDATE T_OBJECT SET NAME='STUFF' WHERE OBJECT_ID=1")
End Sub
 
Main
Share