Let’s forget about the McConell Book just for this post, Imagine coming back to your school 15 years after you graduated to give a chat to students that are studying the same career as you, imagine returning to your school in 2031, what will it change? Maybe there will be VR classes and a lot of screens everywhere, google may own us all and we may even have full holograms like Star Wars to communicate, you will see things very different, but the most different thing that you’ll see, will be what your school did for you. All those years that made what you are now, all those filler classes and subjects like financial administration and citizenship that did not make any sense, there is no filler classes, like Steve Jobs says (I know he is kinda over quoted but he have a great point) it is all about connecting the dots! We are not machines, we are not code manufactures, everything that we learn is useful, I mean, as a System Engineer, you can fit everywhere, any place that there is a computer, a job is waiting for you (if you have what it is needed), but we need to learn to take advantage of all what we learn.
Working and studying is the pillar of success, but it is a double knife trap too, we need to have a balance between the amount of work without losing the focus in our studies, work will teach you more than any class of course, but do not let greed for money consume you, studies are still important.
Sometimes we live in the basic, not by choice, but because we have to develop in the most common tools, since they’re easy to use for the user, we have to adapt to our clients (without trying to innovate in what we can), and learn to explain what we want, because it is hard to sync our ideas with other people that are not engineers, soft skills are the solution in here, let’s appreciate our work and don’t let others to step on us, but without trying to act as if we are superior than the other guys.
How does a mountain looks like from a 100 meter? Like a mountain probably, but how does a good project looks like from a far distance, it is more ambiguous, I mean, how can a person tell if a project is in a good or bad situation, well… there is no magic steps but anyways McConell teach us about some of these things.
The conceptual phase told us about the three kinds of developing focus thet must be, Discovery, Invention and Implementation, should this phases will shift like a roller coaster? Of course not (Or maybe they will, but it is really NOT the desirable) Since the level of uncertaintly just got bigger with these shifts.
“Technical projects often provide status reports such as 90% complete”
Truth been told, thanks for that quote McConell! this is the reality, System engineers (and me) done this so many times that is scaring how this can become an habit anytime soon, so the way to fight this is getting the critical functionality as soon as is available .
Technology has taken a tendency over the past years of one specific and recurring event, it constantly gets better, researching and developing new knowledge helps to make something cheaper, smaller and faster, and this has been a standard for years, just like in 1946 the transistor debuted by the bell’s laboratories and helped to the reduction of the mega computers, or the faster microprocessors developed by various emprises, but this might have been corrupted with the new trends and the capacity of wearing devices.
Some companies has seen the potential of selling the “status” in its products, and since this is a massive marketing strategy it needs money, capital that is used in the selling of the same products instead of the product itself, which can make a device really overpriced, paying actors to use their products in public places. But is this actually bad? No it is not, because people (usually) knows that they are buying the product because of the trending instead of the functionality, but there is another side of the coin, there is a sector that can get it trouble, which is the people who wants to pay for something that is really worth and not extra money to show his status, people that cares for quality and not for luxury, and that is the bad side of this trend of “fancy devices”, technology loses its actual purpose of scientific knowledge to help and made easier the adaption for everyday and routine tasks to become just another kind fashion. But remember that this is not as bad as it sounds, this trends exist because it is actually a very profitable business that can make people to be more interested in technologic wearables and make a step to the internet of things.
All these thinks that are written in the book are a recompilation of years of software engineering, I’m not making this up, so yes… Software project is indeed a complex task, it is not like doing a ham sandwich, that is why it can be a big mess without the correct planning, lots of ISC’s hates to spend time planning, I do not mean that engineers don’t think that planning is not important, but they do think that is a waste of time of the project (mostly because they aren’t coding)t, and maybe doing a programming course homework doesn’t require a lot of planning, but even if you are pretty lucky, medium and large projects do require systematic approach.
# Planning is important!
“Plan a serie of plannned small mistakes to avoid large mistakes”
Requirements development. Helps to identify in detail the problem that the team is trying to solve, it’s like the soul of the project (maybe) because the project is modeled around the requirements, architecture plans the correct solution to the problem in a high level specification, detailed design Comprehensive plan of what is going to be build, all this together will made the project a solid work.
“very early in the project the project team should have produced a user interface prototype, detailed requirements, and a detailed project plan” This helps a lot to the stakeholders to know if they should invest on your project or yourself to see if it is actually posible to accomplish the goals. Maybe this tasks will take 10 or 20 percent of your project, but at the end of this you’ll have a planning checkpoint review(and see if cancelation is a positive decision), if you don’t have this, is not a crazy idea to think that there is a risk of FAILURE.
- Good progress control is where the project progress is visible (true status of the project).
- Binary milestones are the key of project progress management.
- DON’T LIE ABOUT THE PROGRESS.
- Even optimistic people need to prepare for the worst.
- Quoting the book “if you don’t actively attack the risks on a software project, they will actively attack you.”
People is one of the most important parts of the project, so when developers find their work interesting they can achieve incredible work, productivity must come from possible goals, and try to avoid to manipulate them or create noisy atmospheres (like in taller vertical). Not everything is the developer,the user is also a key in the project development, having the user to be involve in the project might save you from remaking the whole project if you ever find that the client did not even wanted what you make, Mockups can help you a lot, is better to involve the user early on in the project.
Well-defined development processes are important and necessary elements of software project survival (McConell, 1997).
McConell just said so, processes are a fundamental in the software development, a ✌🏻good tip✌🏻 is making a schedule of the processes you’re going to do in the lifetime of the project.
Plan and fail at it, is the best way to learn to plan. At the beginning of the project you don’t know how big the project is going to be, maybe it’s going to take 5 weeks or 30 weeks, you will never know. Anyways, a good practice is to do the project in two parts, first get an idea of what you’re going to do, play around with the ideas and get a demo, in order to get approbation from the client/project owner and get a better idea of what are going to do, there is not recepe when you talk about project managing. using git is cool, if you use it in a good way, controlling the versions of your project, not by uploading everything in a last single commit, you should better use google drive for storing in that case.
The deffiniton of working, but what you do, does not contribute to the project, if trashing is 90% of your time, then the project will not work at all, if you have a well-defined process, the software personnel can spend their work on productive stuff, and not in trashing (basically), but if you don’t have any plan, it’s going to be a hell of mistakes that will make even more mistakes that can be a critical factor in the success, processes shouldn’t be viewed as rigid steps, because when a project .
What’s wrong with that table? It’s a waste of time for a developer.
no advance at the beginning, it is gonna be a TOTAL FAILURE. avoid this kind of projects.
ITS ALL ABOUT EXPERIENCE
How do you know if your project is working as expected? , well, almost all skills that exist on earth can be measured with a test, it is a good way to understand your project progress. The test provided by McConell will help you to understand the shape of the project, whether is going to fail or not. it is important to be realistic and don’t lie to yourself, since is extremely important to have realistic goals, this can even help to find strengths in the project to work with.
The test is available in the next link: http://www.construx.com/survivalguide/
Everybody is talking a lot about the survival training on topics related to the project management, but why? is it really so necessary to take any kind of training? you might say, “of course”, and you’ll be right, because it is good to have a direction before starting a project, it helps us to avoid losing tons of money or getting fire, it is a reality that from 300,000 software projects in the USA, between 1/3 and 2/3 of those projects will exceed their schedule and budget targets before they are delivered (McConnell, S. 1997). So yes, it is an important topic indeed, and in software community, the users might complain a lot about the release dates and functionalities of the software, but the failure is always (or most of the times) avoidable with the right planning, anyways the manager must be in charge of the continuity of the project and prevent the cancelation from the client. This course will be like going to a camp, but, a Project Survival Training Camp. Before starting anything, the temas must follow the principal rules, or in this case, the rights (just like people, projects tent to have right and obligations too), and some rights must be satisfied in order to continue with an effective and well focus project and the rights must be required for everybody that works on the project without discrimination, having a productive environment is one of them, making everybody follow the rights will made the chances of survival bigger.
McConell, S. (1997). Software Project Survival Guide. United States: Microsoft Pres.
We are right now trying to implement some of the book theorems in practice, here are some pictures used in the Taller Verctical we had in ITESM Campus Guadalara along the International Business career, which make us work and plan very carefully the project.
This is your very first post. Click the Edit link to modify or delete it, or start a new post. If you like, use this post to tell readers why you started this blog and what you plan to do with it.